Module renderer

Source
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§

AssociatedSceneData
A set of frame buffers, renderers, that contains scene-specific data.
CsmSettings
Cascaded-shadow maps settings.
FallbackResources
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.
LightData
LightingStatistics
Lighting statistics.
PipelineStatistics
Graphics pipeline statistics.
QualitySettings
Quality settings allows you to find optimal balance between performance and graphics quality.
RenderPassStatistics
GPU statistics for single frame.
Renderer
See module docs.
SceneRenderPassContext
A context for custom scene render passes.
SceneStatistics
Renderer statistics for a scene.
Statistics
Renderer statistics for one frame, also includes current frames per second amount.

Enums§

ShadowMapPrecision
Shadow map precision allows you to select compromise between quality and performance.

Traits§

SceneRenderPass
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.