1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
#include ...
#define PI 3.14159265359f
void draw_triangle()
{
glBegin(GL_TRIANGLES);
glColor3f(1,0,0);
glVertex2f(0.8f,-0.8f);
glColor3f(0,1,0);
glVertex2f(0,0.8f);
glColor3f(0,0,1);
glVertex2f(-0.8f,-0.8f);
glEnd();
}
void redraw()
{
mat4x4 P = perspective(-1,1,-.5f,.5f,-1,-200);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glEnable(GL_DEPTH_TEST);
glMatrixMode(GL_PROJECTION);
glLoadMatrixf(transpose(P).ptr());
glMatrixMode(GL_MODELVIEW);
mat4x4 M = translation(0,65,0)*rotation_x(-PI/2);
glLoadMatrixf(transpose(M).ptr());
draw_grid();
glFlush();
glutSwapBuffers();
glFinish();
}
void main(int argc, char** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE);
glutCreateWindow("Triangle");
glutDisplayFunc(&redraw);
glutReshapeWindow(500,250);
glutMainLoop();
} |
Partager