This is a minimal Renderer I built in C++ with the OpenGL API.
- [x] Phong Lighting
- [x] Moving Camera
- [x] Textures
- [x] Diffuse and Specular Maps
Implemented diffuse lighting in the shader which shades fragments based on the degree between light vector and normal vector (see Figure 1).
Figure 1 - Phong Diffuse Lighting
Also implemented specular lighting in the shader which shades fragments based on the degree between the refelcted light vector and the camera vector (see Figure 2).
Figure 2 - Phong Specular Lighting
Implemented a fully movable camera (standard WASD movement and mouse input).
Diffuse and Specular maps are implemented as a header only class that reads multiple file formats (using the stb library). The implementation of the Shader class can be found here Shader.h.
- [ ] Model Loading
- [ ] Advanced Lighting