-
Notifications
You must be signed in to change notification settings - Fork 0
index
Welcome to the MangoRendering Engine documentation. This guide covers the core concepts and features needed to work with the engine effectively.
MangoRendering is a modern 3D rendering engine built in C++ with OpenGL. It provides a complete rendering solution with advanced features like physically-based rendering (PBR), dynamic lighting with real-time shadows, skeletal animation, and an intuitive node-based scene system.
- Getting Started - Overview and core concepts
- Nodes and Scene - Understanding the scene hierarchy
- Lighting and Shadows - Lighting system and shadow mapping
- Materials and Rendering - Materials, textures, and rendering pipeline
- Cameras - Camera system and projection modes
The engine uses a hierarchical node-based scene graph where every object is a Node3d. This provides intuitive parent-child relationships and makes managing complex scenes straightforward.
Materials follow physically-based rendering principles, allowing realistic lighting interactions. Standard texture maps include: albedo, normal, roughness, metallic, ambient occlusion, displacement, and emissive.
The engine supports Directional, Point, and Spot lights. Lighting is computed using a cluster-based light culling system for efficiency. Shadow mapping provides real-time shadows with specific limitations per light type.
The rendering pipeline is built on OpenGL and features:
- Z-prepass for efficient visibility determination
- Forward rendering with per-pixel light culling
- Cluster-based light culling system for efficient lighting
- Post-processing with tone mapping operators
- Portal rendering for complex visibility
- OpenGL 4.3+
- C++17 or later
- SDL3 for windowing and input
- GLM for mathematics
- Start with Getting Started to understand basic engine concepts
- Learn about Nodes and Scene to structure your scenes
- Explore Lighting and Shadows to add atmosphere
- Master Materials and Rendering for visual polish
- Implement cameras as covered in Cameras
Ready to dive in? Start with the Getting Started guide to learn the fundamentals!