Somine Engine is a lightweight renderer engine built using OpenGL and C++, designed to provide hands-on experience in real-time graphics programming. This project is a part of my learning journey with OpenGL, focusing on creating a flexible and performant engine for rendering 3D graphics. Once the renderer is in a good state, will mutate into a game engine.
Real-Time 3D Rendering: Built on top of OpenGL for high-performance graphics. Custom Shader Support: Load and manage custom vertex, fragment, and geometry shaders. Lighting & Shadows: Supports directional, point, and spotlights, currenty implementing shadows. Model Loading: Uses Assimp for importing models in various formats (e.g., .obj, .fbx). Camera System: Easy-to-use camera controls (FPS & free-look modes). Materials & Textures: Supports diffuse, specular, and normal mapping.
Prerequisites
C++17 or higher
OpenGL 3.3
GLFW & GLAD for window management and OpenGL functions
Assimp for model loading
CMake for project building
Installation
git clone https://github.com/somozadev/Graphics.git
cd Somine Engine/Somine/Somine.sln
WASD: Move camera
Mouse 2: Look around
Implement deferred rendering
Mutate from renderer to game engine
Implement particle systems
This project is licensed under the MIT License