Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

cube

.cpp
Скачиваний:
1
Добавлен:
08.10.2015
Размер:
1.36 Кб
Скачать
#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();
}
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]