procedure TForm1.Kuzel; var b,g,r: glfloat; plast, zakl: PGLUquadricObj; begin glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glLoadIdentity; glRotatef(UhelX, 1, 0, 0); //rotace kamery X glRotatef(UhelY, 0, 1, 0); //rotace kamery Y glRotatef(UhelZ, 0, 0, 1); //rotace kamery Z glTranslatef(X,Y,Z); //pozice kamery r := 0.0; g := 0.5; b := 1.0; glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, @b); glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, @g); glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, @r); glMaterialfv(GL_FRONT, GL_SPECULAR, @b); glMaterialfv(GL_FRONT, GL_SPECULAR, @g); glMaterialfv(GL_FRONT, GL_SPECULAR, @r); glMaterialfv(GL_FRONT, GL_SHININESS, @b); glMaterialfv(GL_FRONT, GL_SHININESS, @g); glMaterialfv(GL_FRONT, GL_SHININESS, @r); if UhelX2 <= 0 then UhelX2 := 360 else UhelX2 := UhelX2 - 5; plast := gluNewQuadric(); //vytvoří nový objekt (plášť kužele) zakl := gluNewQuadric(); //vytvoří nový objekt (základnu kužele) glRotatef(UhelX2, 1, 0, 0); //rotace objektu gluQuadricOrientation(plast,GLU_OUTSIDE); //vnější strana pláště odráží světlo gluQuadricOrientation(zakl,GLU_INSIDE); //vnější strana základny odráží světlo gluCylinder(plast, 1, 0, 2, 20, 5); //zobrazí plášť gluDisk(zakl, 0, 1, 20, 1); //zobrazí základnu SwapBuffers(DC); Edit1.Text := FloatToStr(r); end;