Показать сообщение отдельно
Старый 03.11.2011, 02:51   #21
KingMaks
Знающий
 
Аватар для KingMaks
 
Регистрация: 26.11.2009
Сообщений: 313
Написано 35 полезных сообщений
(для 95 пользователей)
Ответ: openGL загрузить изображение и улучшить качество

#include <windows.h>

#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glaux.h>
#pragma comment(lib,"glaux.lib")


AUX_RGBImageRec* image;
AUX_RGBImageRec* image2;


void CALLBACK resize(int width,int height)
{
   glViewport(0,0,width,height);
   glMatrixMode( GL_PROJECTION );
   glLoadIdentity();
   glOrtho(-5,5, -5,5, 2,12);
   gluLookAt( 0,0,5, 0,0,0, 0,1,0 );
   glMatrixMode( GL_MODELVIEW );
}



void CALLBACK display(void)
{
 glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );


  glRasterPos2d(-4.5,0);//Позиция для рисования
  glDrawPixels(image->sizeX, image->sizeY,GL_RGB, GL_UNSIGNED_BYTE,image->data);//вывод изображения

  glReadPixels(image->sizeX,image->sizeY,384,216,GL_RED,GL_UNSIGNED_BYTE,image2->data);//прочитал пиксели изображения
  glAccum(GL_MULT, 10);//изменил пиксели в буфере, умножив на 10
  glRasterPos2d(-4.5,-4.5);//Позиция для рисования
  glDrawPixels(image->sizeX, image->sizeY,GL_RGB, GL_UNSIGNED_BYTE,image2->data);//вывел изображение
 

auxSwapBuffers();
}



void main()
{
	float pos[4] = {3,3,3,1};
	float dir[3] = {-1,-1,-1};

        image = auxDIBImageLoad("image.bmp");
        image2 = auxDIBImageLoad("image.bmp");

     
    glEnable(GL_ALPHA_TEST);
    glEnable(GL_BLEND);
    glEnable(GL_DEPTH_TEST);
    glEnable(GL_COLOR_MATERIAL);
    glEnable(GL_LIGHTING);
    glEnable(GL_LIGHT0);
    glEnable(GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

    glLightfv(GL_LIGHT0, GL_POSITION, pos);
    glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, dir);


	

    auxInitPosition( 50, 10, 430, 500);
    auxInitDisplayMode( AUX_RGB | AUX_DEPTH | AUX_DOUBLE );
    auxInitWindow( "Photo" );
    auxIdleFunc(display);
    auxReshapeFunc(resize);
	auxMainLoop(display);
}
нужно чтобы выводилось изображение в нормальном его виде
и в измененном, а изменить надо изображение где то в буферах.
Только у меня выводит такое же самое изображение, чего нахватает?
__________________
StimuL
Maks
(Offline)
 
Ответить с цитированием