Отображение трехмерной сцены

case VK_RIGHT: ObjPos[0]+ - StepMen; break;

case VK_PRI0R: ObjPos[l]+ - StepMen; break; //Клавиша PageUp

case VK_NEXT: ObjPos[l]- - StepMen; break; // Клавиша PageDown

}
}

//Занесение матрицы в конвейер void SetProjectionObj(void) {

glMatrixMode(GL_PROJECTION);

//Указываем, что сейчас задаем матрицу проецирования glLoadldentityO; glMultMatrixf(&Projection[0][0]): }

Геометрическая модель сцены и функция ее отображения находятся в файле RenderGLcpp, код которого приведен в листинге 24.10.

Листинг 24.10

#include <windows.h>
#include <stdlib.h>
finclude <stdio.h>
#include <math.h>
#include <gl/gl.h>
finclude <gl/glu.h>
#include <gl/glaux.h>
#include"main.h"
#include"GLDat.h"
HWND hWnd;
HGLRC hGLRC;
HDC hDC;
RECT Client;
int LensBlind -1;

//Шаблон дома.

//Нормаль третьей точки каждой грани отвечает за цвет.

USEVERTEX1 SetkaKub[8] - {
{4500. 15000. 17000. 0. 0. 0.8}.
{-4500. 15000. 17000. 0. 0. -0.4}.
{-4500. 000. 17000. 0. 0. -0.4}.
{4500. 000. 17000. 0. 0. 0.8}.
{4500. 15000.-17000. 0. 0. -1}.
{-4500. 15000.-17000. 0. 0. -0.6}.
{-4500. 000.-17000. 0. 0. -0.6}.
{4500. 000. -17000. 0. 0. -1}};
unsigned short IndexKubl[10] - {3.0.7.4.6.5.2.1.3.0}:

//При отображении сцена будет перенесена в точку мира GLfloat 0bjPos[3];

//Дорога - одна грань

USEVERTEX1 SetkaGran[4] - {
{5000.0. -1800.0. 210000.0.0.-1.0}.
{-5000.0. -1800.0. 210000.0.0.-1.0}.
{-5000.0. -1800.0. -2000.0. 0.-1.0}.
{5000.0. -1800.0. -2000.0. 0.-1.0}
}:

//Земля - одна грань USEVERTEX1 SetkaGranl[4] - { {65000.0. -1800.0. 205000.0.0.-1.0}. {5000.0. -1800.0. 205000.0.0.-1.0}.

продолжение &

Геометрические преобразования

Листинг 24.10 (продолжение)

{5000.0. -1800.0. -2000.0. 0.-1.0}. {65000.0. -1800.0. -2000.0. 0.-1.0} }:

//Земля - вторая грань USEVERTEX1 SetkaGran2[4] - { {-5000.0. -1800.0. 210000.0. 0.-1.0}. {-60000.0. -1800.0. 210000.0. 0.-1.0}. {-60000.0. -1800.0. -2000.0. 0.-1.0}. {-5000.0. -1800.0. -2000.0. 0.-1.0} }:

//Точки привязки домов в системе координат сцены ekzmpl Ekzmpl0bj[8] - { {-15000.0. -1800.0. 40000.0. 0x9090b0}. {15000.0. -1800.0. 40000.0. 0х9090В0}. {-15000.0. -1800.0. 90000.0. 0x9090b0}. {15000.0. -1800.0. 90000.0. 0х9090В0}. {-15000.0. -1800.0. 140000.0. 0х9090В0}. {15000.0. -1800.0. 140000.0. 0х9090В0}. {-15000.0. -1800.0. 190000.0. 0х9090В0}. {15000.0. -1800.0. 190000.0. 0х9090В0} }:


⇐ Предыдущая| |Следующая ⇒