A real-time shader-based software renderer written in c++. It is an ongoing learning project inspired by tinyrenderer without using any Graphic APIs such as OpenGL, DirectX or Vulkan. The rendering takes place entirely on the CPU. My main goal is to get a better understanding of how mordern computer graphics work.
testing perspective-correct interpolation:
- Minimal dependencies
- Image loading using stb-image
- Orbiting camera controls
- Wavefront obj file parser
- Reverse Z-Buffering
- Back-face Culling
- Perspective correct interpolation
- Texture mapping
- Tangent space normal mapping
- Shader based
- Scene switching
- Lighting (directional/point/spotlight)
- Homogeneous clipping
- Shadow mapping
- Ambient occlusion
- Metallic workflow
- PBR (Physically based rendering)
- IBL (Image-based lighting)
- Reflections using cubemaps
- View frustum culling
- Antialiasing
- Skeletal Animation (maybe)
- Particle system (maybe)
- Post-processing (maybe)