Description:
StreetLights Engine is a 3D graphics engine designed to load and render GLTF models using the OpenGL API.
You can find the source code and release on GitHub: https://github.com/srLlobet/Engine
Engine Controls:
W/A/S/D: Move the camera forward, left, backward, and right, respectively.
Q/E: Move the camera up and down respectively.
Left and right arrow keys: Rotate the camera in fixed intervals.
Right click + W/A/S/D : Move around freely.
Scroll Wheel: Zoom in and out.
Additional Comments for the Instructors
Memory Management:
ModuleModel populates a vector of meshes in ModuleRender and explicit deletes them in ClearMeshes to avoid memory leaks.
Desicion for ModuleProgram to not be a module and just use it as a class for optimization.
Forward declarations to avoid includes in headers
Rendering:
Centralized rendering using the ModuleRenderExercise that was originally rendering a triangle.
Using VAO for optimization.
Using interleaved structure for optimization.
Shader Implementation:
The shaders are prepared to grab base color or texture, and metallic values or textures, and are easily extendable for other types of parameters
Future Improvements:
Adding missing or improperly working imGui windows.
Enhance camera control with orbit, dolly, and pan functionalities.
Support for animation.