Народный учебник по OpenGL


Урок 9. Передвижение изображений в 3D


Moving Bitmaps In 3D Space



Добро пожаловать на 9-й урок. На данный момент вы должны уже хорошо понимать суть OpenGL. Вы уже научились всему, начиная от создания окна и установки контекста OpenGL, до текстурирования вращающихся объектов с использованием освещения и смешивания (blending). Этот урок будет первым из серии "продвинутых" уроков. Вы научитесь следующему: перемещать изображение (bitmap) по экрану в 3D, удаляя, черные пикселы (pixels) из изображения (используя смешивание), дополнять цветность в черно-белые текстуры и, наконец, узнаете, как создавать красивые цвета и простую анимацию путём смешивания различных цветных текстур вместе.

Мы изменим код из первого урока. И начнем с добавления некоторых новых переменных в начале программы. Я переписал начальную секцию программы, для того чтобы было легче определять, где произведены изменения.

#include <windows.h>                      // Заголовочный файл для Windows

#include <stdio.h>                        // Заголовочный файл для стандартного ввода/вывода

#include <gl\gl.h>                        // Заголовочный файл для библиотеки OpenGL32

#include <gl\glu.h>                       // Заголовочный файл для для библиотеки GLu32

#include <gl\glaux.h>                     // Заголовочный файл для библиотеки GLaux


HDC             hDC=NULL;               // Служебный контекст GDI устройства

HGLRC           hRC=NULL;               // Постоянный контекст для визуализации

HWND            hWnd=NULL;              // Содержит дискриптор для окна

HINSTANCE       hInstance;              // Содержит данные для нашей программы


bool    keys[256];      // Массив, использующийся для сохранения состояния клавиатуры

bool    active=TRUE;    // Флаг состояния активности приложения (по умолчанию: TRUE)

bool    fullscreen=TRUE;// Флаг полноэкранного режима (по умолчанию: полноэкранное)

Следующие строчки новые. twinkle и tp логические переменные, которые могут быть TRUE (истина) или FALSE (ложь). twinkle будет говорить о включении/выключении эффекта twinkle. tp используется для определения состояния клавиши 'T' (была ли нажата или нет). Если нажата, то tp=TRUE, иначе tp=FALSE.




Начало  Назад  Вперед



Книжный магазин