Model by Francesco Coldesina, gabrielferreirasilveira21, printable_models
Simple Render is an interactive model viewer written in C++ and OpenGL. Note this program does not feature any game-engine-like features such as physics or scripted objects.
- Scene Hierarchy
- Model and Texture Import, Background Image Swapping
- Object Manipulation (Transformation)
- Free Camera Movement
- Uniform Variables Interface and Dynamic Shader Loading
- Deferred Rendering
Simple Render supports deferred rendering, shader hot-reload and uniform variables. You can edit SimpleRenderer/shaders/deferred_render/deferred_render.frag
and apply the changes without closing the application by clicking on Reload Shader
.
Note that changing other scripts may cause Simple Render to malfunction.
As mentioned earlier, Simple Render also supports uniform variables. Click on Add Uniform X
and change the name to the appropriate uniform variable.
- OpenGL (GLFW & GLAD): Drawing API
- GLM: OpenGL compatible maths library
- stb_image: Image loader
- Assimp: 3D models importing library
- ImGUI: UI interface
- ImGuizmo: Gizmo interface
- WinAPI: File Dialog
- Scene Save & Load (If it works, it works)
- Sophisticated Object Manipulation
- Rotating an object to certain degree causes it to get stuck in the wrong orientation
- Choosing a different object while a texture is selected causes the texture to remain selected
- Objects sometimes do not get selected.