Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Header and Source Files

assimp_model.cpp / h

Загрузка 3D моделей (обертка библиотеки assimp)

dirLight.cpp / h

Класс CDirectionalLight – направленный источник света. Передача uniform в шейдерную программу.

flyingCamera.cpp / h

Класс CFlyingCamera. Характеристики, перемещение мышью, клавишами. Вызывается в RenderScene.

framebuffer.cpp / h

Класс CFramebuffer. Работа с буфером глубины, текстурами, буфером теней (теневой картой). Вычисляются матрицы перспективной и ортографической проекций.

freeTypeFont.cpp /h

Обертка библиотеки работы со шрифтами.

heightmap.cpp /h

Работа с Картой высот / нормалей.

material.cpp /h

Работа с материалами.

objModel.cpp / h

Загрузка файлов мешей *.obj

openGLControl.cpp / h

Класс COpenGLControl. Инициализация OpenGL, изменение размеров, установка параметров пирамиды видимости, получение матрицы проекции, установка высоты/ ширины окна. Инициализация glew. CALLBACK функция. Инициализация OpenGL, создание временного и основного контекстов. Частота рендеринга.

particle_system_tf.cpp /h

Работа с системой частиц.

pointLight.cpp / h

Точечный источник освещения. Задание параметров. Передача uniform в шейдерную программу.

renderScene.cpp

Объявляются объекты всех классов. Создаются VAO и VBO. Загружаются текстуры, в т.ч. SkyBox. Создается FBO для карты теней. Создается источник направленного света, камера в позиции источника для формирования теней. Формирование матриц преобразований. Вывод полигонов. Все управляющие клавиши.

shaders.cpp / h

Обертка для загрузки и компиляции шейдеров. Кол-во шейдеров 14. Определяются шейдерные программы extern CShaderProgram spMain, spColor, spShadowMapper, spShadowMapRender, spSkybox;

skybox.cpp / h

Класс CSkybox. Загрузка 6 текстур, рендер и удаление.

spotLight.cpp / h

Прожектор, параметры, Передача uniform в шейдерную программу.

static_geometry.cpp / h

цилиндр, тор – процедурная генерация, размещение в VBO; кубы – разные способы задания, явно в коде. (индексный и не индексный); плато – явно в коде, индексный способ

texture.cpp / h

Используется библиотека Freeimage. Текстура – буфер глубины. Создание пустой текстуры. Загрузка из данных, из файла. Установка Sampler. Фильтрование текстур. Удаление текстур, освобождение памяти. Вид использования текстур (wrap). CreateRotationTexture ?

vertexBufferObject.cpp / h

Обертка для работы с VBO. Создание, удаление, размещение в памяти GPU, и т.д.

win_OpenGLApp.cpp / h

Win_main, Класс COpenGLWinApp работа с таймером, клавишами. Создание и регистрация класса окна, окна приложения. Бесконечный цикл обработки событий. common_header.h Подключаемые библиотеки. Определение циклов.

Shaders

blaze_part_gen_box.geom

Генерация частиц.

dirLight.frag

Описание параметров направленного источника (без main).

Models

Dead Tree

https://free3d.com/3d-model/low-poly-dead-tree-16797.html

Spider

https://github.com/assimp/assimp/tree/master/test/models/OBJ

Old Chest

https://free3d.com/3d-model/old-chest-97626.html