
#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);
}
нужно чтобы выводилось изображение в нормальном его виде
и в измененном, а изменить надо изображение где то в буферах.
Только у меня выводит такое же самое изображение, чего нахватает?