arrow
description
An ongoing 3D renderer, a project to study computer graphics with custom linear algebra and modern OpenGL techniques.
technologies
[C++][OpenGL][imgui]
links
[repository]

The linear algebra behind it runs on self-written 4x4 matrix and vector libraries.

Features

  • Shapes from vertex data, textures and .obj model import
  • Perspective projection with own matrix and vector library
  • Movable camera and UI controls
  • Phong and Blinn-Phong lighting: directional, point and spot lights
  • Light maps and emission maps
  • Outline shader with depth and stencil testing
  • Transparency through blending, face culling
  • Frame buffers, uniform buffer objects
  • Cubemap skybox
  • GPU instancing
  • Anti-aliasing (MSAA)
  • Scene switcher and automated frame-based scene tests
  • Shadow mapping for point and directional lights
  • Normal and parallax mapping
  • HDR lighting with bloom
  • Deferred shading
  • Screen space ambient occlusion (SSAO)
  • Physically based rendering (PBR)

Display


v0.48 Stencil Testing and Outlining per Item


v0.49 Face culling


v0.66 GPU Instancing


0.92 Parallax occlusion mapping


0.94.6 Dynamic Point light shadows with bloom post processing