procedure TForm1.Koule; var b,g,r: glfloat; qObj: 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 := 1.0; g := 0.5; b := 0.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); qobj := gluNewQuadric(); //vytvoří nový čtyřúhelník gluQuadricDrawStyle(qobj, GLU_FILL); //vyplní čtyřúhelník barvou gluQuadricOrientation(qobj,GLU_OUTSIDE); //vnější strana odráží světlo gluQuadricNormals(qobj, GLU_SMOOTH); //volba stínování gluSphere(qobj, 0.75, 20, 20); //zobrazí kouli s poloměrem 0.75 a sítí 20 na 20 čtyřúhelníků SwapBuffers(DC); Edit1.Text := FloatToStr(r) end;