
Добавил:
ANDREAS2105
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:OpenGL Ex2
.cpp#include <stdafx.h>
#include <glut.h>
void init()
{
glClearColor(0.3, 0.3, 0.3, 1.0);
glEnable(GL_LIGHTING);
glLightModelf(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE);
glEnable(GL_NORMALIZE);
}
void reshape(int width, int height)
{
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-1.2, 1.2, -1.2, 1.2, -1, 1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void init_l()
{
float light0_diffuse[] = { 0.4, 0.7, 0.2 };
float light0_direction[] = { 0.0, 1.0, 1.0, 1.0 };
glEnable(GL_LIGHT0);
glLightfv(GL_LIGHT0, GL_DIFFUSE, light0_diffuse);
glLightfv(GL_LIGHT0, GL_POSITION, light0_direction);
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
init_l();
GLfloat x, y;
glBegin(GL_QUADS);
glNormal3f(0.0, 0.0, -1.0);
for (x = -1.0; x < 1.0; x += 0.005)
{
for (y = -1.0; y < 1.0; y += 0.005)
{
glVertex3f(x, y, 0.0);
glVertex3f(x, y + 0.005, 0.0);
glVertex3f(x + 0.005, y + 0.005, 0.0);
glVertex3f(x + 0.005, y, 0.0);
}
}
glEnd();
glDisable(GL_LIGHT0);
glutSwapBuffers();
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowPosition(500, 500);
glutInitWindowSize(500,500);
glutCreateWindow("Приклад №2 Орлюк");
init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMainLoop();
}
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]