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.