This project was originally a school project that introduced us to OpenGL in C++. We built the basic OpenGL structure as a class and collaborated on which version and settings that should be used. Once we were passed the initial setup, we covered the basics of the physics and nature of light and the mathematical formulas that would ultimately drive our rendering engine. The class did require a few basics, such as lighting, objects, colors, reflections, and soft shadows. Past that, we were free to implement additional functionality, such as Toon Shading, Fresnel Lighting, and Anti-Aliasing, for additional credit.
- Multiple Screen Resolutions: VGA, HD 720, HD 1080
- Orthographic Perspective Camera
- Spheres, Triangles, and Planes
- Directional and Point Lighting
- Color Blending
- Hard and Soft Shadows
- Reflections (recurssion depth max of 10)
- Ambient Occlusion
- Texture Mapping
- Anti-Aliasing
- BMP file Load and Save
- 8 thread Multi-threading -- Custom Built Feature
- 16 thread Multi-threading -- Custom Built Feature
- Render Output Log -- Custom Built Feature
- Thread Safe Error Logging -- Custom Built Feature
Check out the project on
GitHub
First 2D image render
Basic Specular Lighting
Light and shadding
Objects and Shadows
Constructing A Scene
Adding Features and Additional Objects
Final Render