Добавил:
ANDREAS2105
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:cube
.cpp#include <stdafx.h>
#include <glut.h>
#include <cmath>
int a = 0;
float b = 0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glPushMatrix();
glTranslatef(0, 0, -300);
glRotatef(a, sin(b / 100) + 1, cos(b / 200) + 1, sin(b / 300) + 1);
glBegin(GL_LINE_STRIP);
glVertex3f(-50, -50, -50);
glVertex3f(50, -50, -50);
glVertex3f(50, 50, -50);
glVertex3f(-50, 50, -50);
glVertex3f(-50, -50, -50);
glEnd();
glBegin(GL_LINE_STRIP);
glVertex3f(-50, -50, 50);
glVertex3f(50, -50, 50);
glVertex3f(50, 50, 50);
glVertex3f(-50, 50, 50);
glVertex3f(-50, -50, 50);
glEnd();
glBegin(GL_LINES);
glVertex3f(-50, -50, 50);
glVertex3f(-50, -50, -50);
glVertex3f(50, -50, 50);
glVertex3f(50, -50, -50);
glVertex3f(50, 50, 50);
glVertex3f(50, 50, -50);
glVertex3f(-50, 50, 50);
glVertex3f(-50, 50, -50);
glEnd();
glPopMatrix();
glutSwapBuffers();
}
void timer(int = 0)
{
++a;
++b;
display();
glutTimerFunc(10, timer, 0);
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize(500, 500);
glutInitWindowPosition(100, 100);
glutCreateWindow("Cube");
glClearColor(0, 0, 0, 1.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45, 1, 0, 100);
glutDisplayFunc(display);
timer();
glutMainLoop();
}
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]