OpenGL. Компьютерная графика. Васильев С.А. - 26 стр.

UptoLike

Составители: 

28
CLIP_DEFAULT_PRECIS,
ANTIALIASED_QUALITY,
FF_DONTCARE | DEFAULT_PITCH,
fontName);
SelectObject(hDC, hFont); // Выбираем созданный шрифт
// Форм. 224 дисплейных списков изображений символов, начиная с
// кода 32 и размещая с базового имени дисплейного списка – base
wglUseFontBitmaps(hDC, 32, 224, base);
DeleteObject(hFont); // Удаляем шрифт
}
// Инициализация GL
int InitGL(GLvoid) {
glShadeModel(GL_SMOOTH);
glClearColor(0.0f, 0.0f, 0.0f, 0.5f);
glClearDepth(1.0f);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
// *********Формируем шрифт *********
CFont("Courier", 36);
return TRUE; }
GLvoid Draw()
{
unsigned int ListBase;
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glRasterPos2i(20,10);
glColor3f(1.0,1.0,0.0);
PrintText(base, "Привет OpenGL!!!");
}
Для корректного завершения работы графического приложения ре-
комендуется удалять из памяти дисплейные списки отведенные под сим-
волы:
GLvoid KillFont(GLvoid) // Удаление дисплейных списков
{
glDeleteLists(base, 224); // Удаление 224 символа
}
10 ПРЕОБРАЗОВАНИЕ КООРДИНАТ
Любое графическое приложение в конечном итоге преобразует координаты вершин графического
объекта в оконные координаты графического устройства. В OpenGL это преобразование проходит за
несколько основных этапов:
1 Модельно-видовое преобразование.
2 Преобразование проекции и нормализация.
3 Преобразование к области вывода.
10.1 Матричные операции
В OpenGL принята правосторонняя система координат, т.е. ось z направлена на наблюдателя. Для
перехода в левостороннюю систему координат необходимы специальные матрицы преобразований.
Все преобразования координат в OpenGL происходят на уровне матричных операций. Все матрицы
имеют размер 4×4 и участвуют в преобразовании координат по следующему правилу: