A OpenGL graphics engine written in C++ with the main purpose of experimenting with computer graphics and gaining knowledge in the area.
Luly Engine is a dedicated project aimed at delving into the intricacies of computer graphics using OpenGL and C++. The project serves as a comprehensive exploration of various industry-standard techniques, covering a broad spectrum of topics in the field. Whether you are a beginner looking to understand the fundamentals or an enthusiast eager to experiment with advanced graphics concepts, Luly Engine provides a platform for learning and experimentation.
- Asset System: A robust asset management system with a dedicated manager for efficient handling of assets.
- Input System: Simplified input handling for key and mouse inputs, providing ease of use for interaction.
- Lights System: Integrated support for various lighting types, including spotlights, point lights, and directional lights.
- Material System: A comprehensive material system designed with Physically Based Rendering (PBR) principles. Allows for texture channel selection, enhancing material customization.
- Mesh System: Simple yet powerful mesh representation for handling primitives like quads, cubes, and laying the groundwork for more complex models.
- Render Pass Pipeline: Luly Engine features a sophisticated render pass pipeline that defines the rendering infrastructure. The pipeline includes a base render pass class and multiple implementations for passes such as geometry, lighting, shadows, and more.
- Scene System: A comprehensive scene management system comprising a scene manager, scene actors, and a collection of scene actor components. This system provides a structured approach to interacting with the engine within different scenes.
- Profiling System: Integration of Tracy as the primary profiling tool, offering detailed monitoring of various engine methods for performance analysis.
- UI System: Implementation of ImGui for an intuitive and user-friendly debugging interface. Allows developers to visualize and debug tools and features seamlessly.s.