/MinuteEngine

C++ framework using modern OpenGL that supports basic rendering functions and provides graphics programming environment : Scene graph, Geometry, Lighting, Shading, Texturing, Shadow, etc.

Primary LanguageC++

MinuteEngine

C++ framework using modern OpenGL that supports basic rendering functions and provides graphics programming environment : Scene graph, Geometry, Lighting, Shading, Texturing, Shadow, etc.

Scene Graph

With simple GUI (which is implemented using ImGui), user can control objects located in the scene. The objects in the scene can form a hierarchy and render calls follow the structure. Each object in the scene has its own properties for rendering and transformation.

Geometry

User can draw various simple geometric objects - like cube and sphere - using triangles or quads. Also, if user has surface information (of teapot, for example), the user can render it with triangles or quads.

Lighting

There are two basic lights implemented in this framework : directional and point light. User can change a light's position, direction, and color traits at runtime.

Shading

User can render objects in the scene with various shading methods. The user can render them with only wireframe, or with simple color, or with materials, or with textures.

Texturing

User can decorate objects with fancy textures. The user can use diffuse, specular, normal, and parallax textures to render his/her objects.

Shadow

This framework uses shadow maps to render shadows of objects in real time. When geometry of objects or lights in the scene change, shadows are updated immediately.