Expand description
Renderer is a “workhorse” of the engine, it draws scenes (both 3D and 2D), user interface, debug geometry and has an ability to add user-defined render passes. Current renderer implementation is not very flexible, but should cover 95% of use cases.
§Implementation details
Renderer is based on OpenGL 3.3+ Core.
Modules§
- bundle
- The module responsible for bundle generation for rendering optimizations.
- cache
- debug_
renderer - Debug renderer allows you to create debug geometry (wireframe) on the fly. As it said in its name its purpose - output debug information. It can be used to render collision shapes, contact information (normals, positions, etc.), paths build by navmesh and so on. It contains implementations to draw most common shapes (line, box, oob, frustum, etc).
- framework
- Rendering framework.
- storage
- Generic, texture-based, storage for matrices with somewhat unlimited capacity.
- ui_
renderer - See
UiRenderer
docs. - visibility
- Volumetric visibility cache based on occlusion query.
Structs§
- Associated
Scene Data - A set of frame buffers, renderers, that contains scene-specific data.
- CsmSettings
- Cascaded-shadow maps settings.
- Fallback
Resources - A set of textures of certain kinds that could be used as a stub in cases when you don’t have your own texture of this kind.
- Light
Data - Lighting
Statistics - Lighting statistics.
- Pipeline
Statistics - Graphics pipeline statistics.
- Quality
Settings - Quality settings allows you to find optimal balance between performance and graphics quality.
- Render
Pass Statistics - GPU statistics for single frame.
- Renderer
- See module docs.
- Scene
Render Pass Context - A context for custom scene render passes.
- Scene
Statistics - Renderer statistics for a scene.
- Statistics
- Renderer statistics for one frame, also includes current frames per second amount.
Enums§
- Shadow
MapPrecision - Shadow map precision allows you to select compromise between quality and performance.
Traits§
- Scene
Render Pass - A trait for custom scene rendering pass. It could be used to add your own rendering techniques.
Functions§
- is_
shadow_ pass - Checks whether the provided render pass name is one of the names of built-in shadow render passes.
- make_
viewport_ matrix - Creates a view-projection matrix that projects unit quad a screen with the specified viewport.