Project information
- Title: Awakened Engine
- Category: Games Engine
- Technology: OpenGL
- Language: C++ & Lua
Project Contribution
- Developed a graphics engine using OpenGL with full support for both 2D and 3D rendering.
- Implemented 3D model importing via TinyObj, converting external models into the engine’s native format.
- Enabled material creation and customization, supporting a flexible and expandable materials system.
- Designed a scripting system allowing users to build scenes in Lua, leveraging all engine resources including objects, textures, and components.
- Integrated GLSL shader language to give developers full control over visual effects.
- Built an ImGUI-based editor to intuitively manage scenes, objects, and properties in real time.
- Engineered a custom ECS (Entity-Component-System) from scratch, with a chunk-based architecture for efficient object processing and easy extension.
- Implemented multi-threading to split logic and rendering tasks for smoother performance.
- Added support for Directional, Point, and Spot Lights with a maximum of four active lights in a scene.
- Powered the renderer with Forward Rendering using Blinn-Phong shading for material handling.
- Implemented shadow techniques including Hard Shadows, PCF (Soft Shadows), and PCSS (Advanced Soft Shadows).
- Simulated realistic sky using Mie and Rayleigh atmospheric scattering.
- Built a water simulation system with Compute Shaders and Fast Fourier Transform (FFT).
- Integrated post-processing effects for enhanced visual output and polish.