Я сделал небольшое открытие для себя,что у треугольника три вершины и поэтому можно сделать три разных инкремента.
#include <GL/gl.h>
#include <glut.h>
float increment1 = 0;
float increment2 = 0;
float increment3 = 0;
void renderScene(void) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glVertex3f(-0.5-increment1,-0.5+increment1,0.0+increment1);
glVertex3f(0.0+increment2,0.5+increment2,0.0+increment2);
glVertex3f(0.5+increment3,-0.5-increment3,0.0+increment3);
glEnd();
glutSwapBuffers();
increment1 = increment1 + 0.01;
increment2 = increment2 + 0.02;
increment3 = increment3 + 0.03;
}
void timerfunc(int value) {
renderScene();
glutTimerFunc(40, timerfunc, 0);
}
int main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(400,400);
glutCreateWindow("Инкремент координат 2");
glutDisplayFunc(renderScene);
glutTimerFunc(40, timerfunc, 0);
glutMainLoop();
return 1;
}
|