OpenGL: Octree
Подразумевается, что вы уже прочитали и поняли уроки камеры и Frustum culling. Если нет, лучше обратитесь к ним, чтобы понять дальнейший материал. Этот урок демонстрирует, как создать и отрисовать octree.…
Статьи и книги по программированию игр
В своё время я увлёкся программированием 3d-графики для игр. Ни к чему для меня лично это не привело, но в процессе самообучения я перевёл для себя и даже написал некоторое количество статей.
В основном это перевод англоязычных статей с gametutorials.com, а частью написанные мной статейки.
Итак, уроки программирования OpenGL: Начиная от самого простого — инициализации — и заканчивая рассчетом пересечений 3D обьектов, созданием эффекта Motion Blur, тумана, и выбором 3D обьектов мышью.
Подразумевается, что вы уже прочитали и поняли уроки камеры и Frustum culling. Если нет, лучше обратитесь к ним, чтобы понять дальнейший материал. Этот урок демонстрирует, как создать и отрисовать octree.…
frustum — это усеченная пирамида, образуемая шестью плоскостями. Её вершина — «глаз» игрока, или позиция камеры. Плоскости её проходят через стороны экрана монитора. Всё, что не попадает в эту пирамиду,…
Этот урок описывает создание объемных теней по технологии «Stencil». Здесь нам уже не понадобится матрица теней из предыдущего урока. Фактически на этот раз нам понадобится отрендерить только силуэт обьекта, образующийся…
На самом деле, матричные тени — дело простое. Тут нам и понадобится наш класс матриц из предыдущего урока. Остальной код (main.cpp. init.cpp, main.h) возьмите из урока инициализации. Изменяем только файл…
Для многих последующих уроков нам понадобится работа с матрицами, поэтому мы создадим отдельный класс CMatrix. Но сначала давайте упорядочим и перепишем наш класс вектора. Файл CVector.h #ifndef __CVECTOR_H #define __CVECTOR_H#include<math.h>//…
Этот урок покажет вам, как научить ваши программы сохранять скриншоты в .tga-файлы. Я выбрал формат .tga, так как он очень прост и для загрузки, и для записи в него. Исходники…
По просьбе на форуме решил написать простенькую статью о программировании графики под linux. Собственно, оснавная часть графического (openGL) кода в разных ОС остаётся практически без изменений. Различаются только способы инициализации…
Этот урок показывает способ загрузки моделей из файлов .obj. Формат obj — это текстовые файлы, содержащие очень мало данных о модели. Но благодаря своей простоте эти файлы может импортировать/экспортировать практически…
Формат 3DS — не лучший способ хранить анимацию, тем не менее совсем недавно это был самый популярный способ анимации в играх. Этот урок не раскроет всех ньюансов, но даст хороший…
Этот урок продемонстрирует способ загрузки файлов .3ds. Этот формат можно создать, например, в 3d Studio Max, а также может импортироваться и экспортироваться многими другими программами. Отличная утилита для конвертирования 3D-форматов…