opengl-intro: kocka.c

File kocka.c, 953 bytes (added by msitar, 15 years ago)

Izris kocke s pomočjo podprograma kvadrat

Line 
1#include <GL/glut.h>
2
3float kvadrat(int i) 
4{
5  float r[6]={1,0,0,1,1,1}, g[6]={0,1,0,1,0,0}, b[6]={0,0,1,0,1,1}; 
6  glPushMatrix();
7  glColor3f(r[i], g[i], b[i]);
8  glTranslatef(0.0, 0.0, 1.0);
9  glRectf(-1.0, -1.0, 1.0, 1.0);
10  glPopMatrix();
11}
12
13void display()
14{
15  glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
16  glPushMatrix();
17  glRotatef(30.0, 1.0, 0.0, 0.0);
18  glRotatef(30.0, 0.0, 1.0, 0.0);
19  glScalef(0.5, 0.5, 0.5);
20  kvadrat(1);
21  glRotatef(90.0, 0.0, 1.0, 0.0);
22  kvadrat(2); 
23  glRotatef(90.0, 0.0, 1.0, 0.0);
24  kvadrat(3);
25  glRotatef(90.0, 0.0, 1.0, 0.0);
26  kvadrat(4);
27  glRotatef(90.0, 1.0, 0.0, 0.0);
28  kvadrat(5);
29  glRotatef(180.0, 1.0, 0.0, 0.0);
30  kvadrat(6);
31  glPopMatrix();
32  glFlush();
33}
34
35
36int main(int argc, char *argv[])
37{
38  glutInit(&argc, argv);
39  glutInitDisplayMode(GLUT_SINGLE|GLUT_DEPTH);
40  glutCreateWindow("C GLUT program");
41  glutDisplayFunc(display);
42  glEnable(GL_DEPTH_TEST);
43  glutMainLoop();
44  return 0;
45}