Согласно задумке градиентная пирамида должна вращаться относительно y, но этого не происходит. Через час получилось чтото типа пирамиды, но она не движется. В чем моя ошибка?
#include <GL/glut.h>
GLfloat rtri=10 ; // gthdsq eujk
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);// Î÷èñòêà ýêðàíà è áóôåðà ãëóáèíû
glLoadIdentity(); // Ñáðîñ ïðîñìîòðà
//glTranslatef(-1.5f,0.0f,-6.0f); // Ñäâèã âëåâî è âãëóáü ýêðàíà
glRotatef(rtri,0.0f ,1.0f ,0.0f ); // Âðàùåíèå ïèðàìèäû ïî îñè Y
glBegin(GL_TRIANGLES); // Íà÷àëî ðèñîâàíèÿ ïèðàìèäû
glColor3f(1.0f ,0.0f ,0.0f ); // Êðàñíûé
glVertex3f( 0.0f , 1.0f , 0.0f ); // Âåðõ òðåóãîëüíèêà (Ïåðåäíÿÿ)
glColor3f(0.0f ,1.0f ,0.0f ); // Çåëåííûé
glVertex3f(-1.0f ,-1.0f , 1.0f ); // Ëåâàÿ òî÷êà
glColor3f(0.0f ,0.0f ,1.0f ); // Ñèíèé
glVertex3f( 1.0f ,-1.0f , 1.0f ); // Ïðàâàÿ òî÷êà
glColor3f(1.0f ,0.0f ,0.0f ); // Êðàñíàÿ
glVertex3f( 0.0f , 1.0f , 0.0f ); // Âåðõ òðåóãîëüíèêà (Ïðàâàÿ)
glColor3f(0.0f ,0.0f ,1.0f ); // Ñèíèÿ
glVertex3f( 1.0f ,-1.0f , 1.0f ); // Ëåâî òðåóãîëüíèêà (Ïðàâàÿ)
glColor3f(0.0f ,1.0f ,0.0f ); // Çåëåííàÿ
glVertex3f( 1.0f ,-1.0f , -1.0f ); // Ïðàâî òðåóãîëüíèêà (Ïðàâàÿ)
glColor3f(1.0f ,0.0f ,0.0f ); // Êðàñíûé
glVertex3f( 0.0f , 1.0f , 0.0f ); // Íèç òðåóãîëüíèêà (Ñçàäè)
glColor3f(0.0f ,1.0f ,0.0f ); // Çåëåííûé
glVertex3f( 1.0f ,-1.0f , -1.0f ); // Ëåâî òðåóãîëüíèêà (Ñçàäè)
glColor3f(0.0f ,0.0f ,1.0f ); // Ñèíèé
glVertex3f(-1.0f ,-1.0f , -1.0f ); // Ïðàâî òðåóãîëüíèêà (Ñçàäè)
glColor3f(1.0f ,0.0f ,0.0f ); // Êðàñíûé
glVertex3f( 0.0f , 1.0f , 0.0f ); // Âåðõ òðåóãîëüíèêà (Ëåâî)
glColor3f(0.0f ,0.0f ,1.0f ); // Ñèíèé
glVertex3f(-1.0f ,-1.0f ,-1.0f ); // Ëåâî òðåóãîëüíèêà (Ëåâî)
glColor3f(0.0f ,1.0f ,0.0f ); // Çåëåííûé
glVertex3f(-1.0f ,-1.0f , 1.0f ); // Ïðàâî òðåóãîëüíèêà (Ëåâî)
glEnd();
rtri+=0.2f ; // Óâåëè÷èì ïåðåìåííóþ âðàùåíèÿ äëÿ òðåóãîëüíèêà
glFlush();
}
int main(int argc, char **argv){
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(800 , 600 );
glutInitWindowPosition(0 , 0 );
glutCreateWindow("Test" );
glClearColor(1.0 , 1.0 , 1.0 , 1.0 );
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0 , 1.0 , 0.0 , 1.0 , -1.0 , 1.0 );
glutDisplayFunc(display);
glutMainLoop();
return 0 ;
}