OpenGLRenderer

OpenGLRenderer

3D-рендерер с нуля на C++ и OpenGL 3.3: загрузка моделей через Assimp, кастомный GLSL forward-lighting конвейер (directional/point/spot света, Phong shading) и камера от первого лица в стиле fly.

OpenGLRenderer — 3D-рендерер с нуля на C++ и OpenGL 3.3 core profile. Обучающий движок без фреймворка, сцены или ECS — только чистый OpenGL для текстурированной, освещённой 3D-геометрии.

Загружает OBJ-модели через Assimp (Triangulate / FlipUVs / GenSmoothNormals / JoinIdenticalVertices), рендерит текстурированные меши через кастомный GLSL шейдерный конвейер с полноценной multi-light forward-lighting моделью: directional, point и spot света с Phong ambient/diffuse/specular затенением и материалами. MAX_POINT_LIGHTS/MAX_SPOT_LIGHTS синхронизируются между C++ и фрагментным шейдером.

Камера от первого лица (WASD + mouse-look) управляет небольшой сценой с процедурными кубическими сетками, землёй и классическими тестовыми моделями (Stanford bunny, horse, teapot, Suzanne, здание). Один spot свет перепозиционируется каждый кадр как фонарик на камере.

Key features

Stack

C++OpenGL 3.3GLFWGLEWAssimpglmstb_imageCMake

← Все проекты