Так выглядит код для второго изображения:
| Код |
#include <conio.h> #include <iostream.h>
#include "glmodelut.h"
#include <GL/glut.h> #include <GL/glaux.h>
unsigned int photo_tex; AUX_RGBImageRec* photo_image;
void display (void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glEnable(GL_TEXTURE_2D);
glRotatef(25,0,1,0); glRotatef(25,-1,0,0); glBegin(GL_TRIANGLES); glTexCoord2f(0,0); glVertex3f(0,0,0); glTexCoord2f(1,0); glVertex3f(1,0,0); glTexCoord2f(1,1); glVertex3f(1,1,0);
glTexCoord2f(1,1); glVertex3f(1,1,0); glTexCoord2f(0,1); glVertex3f(0,1,0); glTexCoord2f(0,0); glVertex3f(0,0,0); glEnd();
glutSwapBuffers(); }
void init (void) { glClearColor (0.0, 0.0, 0.0, 0.0); glShadeModel(GL_FLAT); glEnable(GL_DEPTH_TEST);
GLfloat light_ambient[] = { 1.0, 1.0, 1.0, 1.0 }; GLfloat light_diffuse[] = { 0.7, 0.7, 0.7, 1.0 }; GLfloat lmodel_ambient[] = { 1.0, 1.0, 1.0, 1.0 };
glLightfv(GL_LIGHT0, GL_AMBIENT, light_ambient); glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse); glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient);
glEnable(GL_LIGHT0); glEnable(GL_LIGHTING);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
photo_image = auxDIBImageLoad("plitka_strip.bmp");
glGenTextures(1, &photo_tex);
glBindTexture(GL_TEXTURE_2D, photo_tex ); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexImage2D(GL_TEXTURE_2D, 0, 3, photo_image->sizeX, photo_image->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, photo_image->data);
}
void reshape(int w, int h) { glViewport(0, 0, (GLsizei) w, (GLsizei) h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(80.0, (GLfloat) w/(GLfloat) h, 0.1, 1000.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt( 0,0,2, 0,0,0, 0,1,0 ); }
int main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); glutInitWindowSize (500, 500); glutCreateWindow("TEST");
glutReshapeFunc(reshape); glutDisplayFunc(display); init(); glutMainLoop(); return 0; }
:qstn
|
|