Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <windows.h>
- #include <glut.h>
- #include <glaux.h>
- void Initialize()
- {
- float pos[4] = {3,3,3,1};
- float dir[3] = {-1,-1,-1};
- glMatrixMode( GL_PROJECTION );
- glClearColor(1.0, 0.5, 0.8, 1.0);
- glLoadIdentity();
- glOrtho(-5,5, -5,5, 2,12);
- glMatrixMode( GL_MODELVIEW );
- glEnable(GL_DEPTH_TEST);
- glEnable(GL_COLOR_MATERIAL);
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
- glLightfv(GL_LIGHT0, GL_POSITION, pos);
- glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, dir);
- }
- void Draw()
- {
- glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- glLoadIdentity();
- glMatrixMode(GL_PROJECTION);
- glMatrixMode(GL_MODELVIEW);
- gluLookAt( 0,0,5, 0,0,0, 0,1,0 );
- /***********************Рисовать вот здесь *******************/
- glFlush();
- glutSwapBuffers();
- }
- void changeSize(int w, int h) {
- // предотвращение деления на ноль
- if (h == 0)
- h = 1;
- float ratio = w * 1.0 / h;
- // используем матрицу проекции
- glMatrixMode(GL_PROJECTION);
- // обнуляем матрицу
- glLoadIdentity();
- // установить параметры вьюпорта
- glViewport(0, 0, w, h);
- // установить корректную перспективу
- gluPerspective(45.0f, ratio, 0.1f, 100.0f);
- // вернуться к матрице проекции
- glMatrixMode(GL_MODELVIEW);
- }
- int main(int argc, char **argv)
- {
- glutInit(&argc,argv);
- glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
- glutInitWindowSize(500,500); //Указываем размер окна
- glutInitWindowPosition(100,100); //Позиция окна
- glutCreateWindow("Пингвин"); //Имя окна
- Initialize();
- glutReshapeFunc(changeSize);
- glutDisplayFunc(Draw); //Вызов функции отрисовки
- glutMainLoop();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment