Добавил:
ANDREAS2105
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:лаба10
.cpp#include "stdafx.h"
#include <glut.h>
//Зміна розмірів вікна
void reshape(int w, int h)
{
glViewport(0, 0, (GLsizei)w, (GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(60.0, (GLfloat)w / (GLfloat)h, 1.0, 10.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0);
}
//Відображення
void display(void)
{
GLUquadricObj *quadObj;
quadObj = gluNewQuadric();
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0, 0.0, 0.0);
glPushMatrix();
glTranslated(-0.5, 0, 0);
glRotated(100, -1, 0, 0);
glTranslated(0.5, 0, 0);
glColor3d(1, 0, 1);
gluQuadricDrawStyle(quadObj, GLU_LINE);
gluCylinder(quadObj, 1, 0.5, 2, 15, 16); // 1-нижній радіус 0,5-верхній 2-висота 15-округлість 16-к-сть сегментів
glPopMatrix();
glutSwapBuffers();
}
//Клавіатура
void keyboardMove(unsigned char key, int x, int y)
{
switch (key)
{
case 'w':
glTranslatef(0.0, 0.1, 0.0);
glutPostRedisplay();
break;
case 's':
glTranslatef(0.0, -0.1, 0.0);
glutPostRedisplay();
break;
case 'a':
glTranslatef(-0.1, 0.0, 0.0);
glutPostRedisplay();
break;
case 'd':
glTranslatef(0.1, 0.0, 0.0);
glutPostRedisplay();
break;
default:
break;
}
}
//точка входу
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize(1280, 720);
glutInitWindowPosition(0, 0);
glutCreateWindow("laba 10");
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutKeyboardFunc(keyboardMove);
glutMainLoop();//головний цикл
return 0;
}
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]