Renderer
Base API for renderer plugins, provides a way to render renderable scene objects by issuing GpuBackend commands.
Classes
-
render::Viewport— Viewport determines to which RenderTarget should rendering be performed. -
render::GpuUniformBufferMember— Wrapper for a single member in an uniform buffer. -
render::Camera— Camera determines how is world geometry projected onto a 2D surface. -
RendererExtension— Interface that can be implemented in order to provide custom rendering code to the renderer. -
RendererScene— Contains information about the scene (e.g. renderables, lights, cameras) required by the renderer. -
render::RendererScene— Contains information about the scene (e.g. renderables, lights, cameras) required by the renderer. -
RendererObjectStorage— Provides common functionality for types that exist on the main thread, but also need a representation on the render thread. -
render::LightProxy— Render-thread representation of a light, stored in packed arrays in LightObjectStorageBase. -
render::LightProbeVolume— Render thread counterpart of LightProbeVolume. -
render::ParticleSystemProxy— Render-thread representation of a particle system, stored in packed arrays in ParticleSystemObjectStorageBase. -
render::ReflectionProbeProxy— Render-thread representation of a reflection probe, stored in packed arrays in ReflectionProbeObjectStorageBase. -
render::RenderableProxy— Contains data and functionality for the render-side representation of a Renderable object. -
render::Skybox— Render thread counterpart of a Skybox -
render::Texture— Render thread counterpart of a Texture. -
render::Renderer— Primarily rendering class that allows you to specify how to render objects that exist in the scene graph. -
render::RendererTask— Task that represents an asynchonous operation queued for execution on the render thread. -
render::BuiltinResources— Built-in engine resources available to the render thread. -
render::RendererMaterial— Wrapper class around Material that allows a simple way to load and set up materials used by the renderer. -
render::SpriteImageAllocation -
render::SpriteImage— Render proxy counterpart of a SpriteImage. -
render::SpriteGlyphAllocation -
render::SpriteGlyph— Render proxy counterpart of a SpriteGlyph. -
render::SpriteTexture— Render proxy counterpart of a SpriteTexture. -
render::SpriteVectorPathAllocation -
render::SpriteVectorPath— Render proxy counterpart of a SpriteVectorPath. -
render::Mesh— Render thread portion of a Mesh. -
render::DrawCommand— Contains all information needed for rendering a single sub-mesh. -
render::IBLUtility— Helper class that handles generation and processing of textures used for image based lighting. -
render::RenderQueue— Render queue determines rendering order of draw commands contained within it. -
render::BlitMat— Shader that copies a source texture into a render target, and optionally resolves it. -
render::CompositeMaterial— Blends the contents of the provided texture with the bound render target. -
render::BicubicUpsampleMaterial— Samples the source texture using bicubic filtering and outputs the results to the provided render target. -
render::ClearMaterial— Shader that clears the currently bound render target to an integer value. -
render::RendererUtility— Contains various utility methods that make various common operations in the renderer easier.
Structs
-
render::GpuUniformBuffer— Base class for all uniform buffers. -
RendererExtension::SortFunction— Used for sorting renderer extensions in the order they should be executed. -
render::LightProbeInfo— Information about a single light probe in a light probe volume. -
render::TextureUtility— Utility class for working with textures, providing helper methods for staging buffer operations and data transfer. -
render::RendererOptions— Set of options that can be used for controlling the renderer. -
render::RendererViewContext— Contains information about the current state of a particular renderer view. -
render::CaptureSettings— Settings that control renderer scene capture. -
render::ExtensionShaderInfo— Information about a shader that is part of a renderer extension point. -
render::ShaderExtensionPointInfo— Information about a shader extension point provided by the renderer. -
render::SpriteGlyphCreateInformation— Render proxy counterpart of a SpriteGlyphCreateInformation. -
render::SpriteTextureCreateInformation— Render proxy counterpart of a SpriteTextureCreateInformation. -
render::SpriteVectorPathCreateInformation— Render proxy counterpart of a SpriteVectorPathCreateInformation. -
render::RenderQueueEntry— Contains data needed for performing a single rendering pass. -
render::CompositeUniformDefinition— Base class for all uniform buffers. -
render::BicubicUpsampleUniformDefinition— Base class for all uniform buffers. -
render::ClearUniformDefinition— Base class for all uniform buffers. -
render::BlitInformation— Information describing a blit operation from a source texture to a render target.
Enums
-
QueuePriority— Suggested queue priority numbers used for sorting objects in the render queue. -
QueueSortType— Type of sorting to perform on an object when added to a render queue. -
CubemapSourceType— Determines the type of the source image for generating cubemaps. -
RenderLocation— A set of available locations at which the renderer can call RendererExtension's render() method. -
RendererExtensionRequest— Determines possible results from RendererExtension::check method. -
render::TextureWriteFlag— Flags controlling texture write behavior. -
render::StateReduction— Controls if and how a render queue groups draw commands by material in order to reduce number of state changes.
Free functions
Internal
Symbols intended for engine-internal use. Not part of the public API.
Classes
-
render::GpuUniformBufferManager— Takes care of initializing uniform buffers definitions in a delayed manner since they depend on engine systems yet are usually used as global variables which are initialized before engine systems are ready. -
RendererIdAllocator— Allocator for RendererId values. -
RendererSyncManager— Module that orchestrates ECS-based batch sync between main thread objects and their renderer-side representations. -
DecalObjectStorageBase— Contains render thread representation of decal objects, stored in packed arrays accessible by PackedRendererId. -
LightObjectStorageBase— Contains render thread representation of light objects, stored in packed arrays accessible by PackedRendererId. -
ParticleSystemObjectStorageBase— Contains render thread representation of particle system objects, stored in packed arrays accessible by PackedRendererId. -
ReflectionProbeObjectStorageBase— Contains render thread representation of reflection probe objects, stored in packed arrays accessible by PackedRendererId. -
RenderableObjectStorageBase— Contains render thread representation of renderable objects, stored in packed arrays accessible by PackedRendererId. -
RendererMaterialManager— Initializes and handles all renderer materials. -
RendererMeshData— Contains mesh vertex and index data used for initializing, updating and reading mesh data from Mesh. -
render::RendererMaterialBase— Base class for all RendererMaterial instances, containing common data and methods. -
render::TextureManager— Defines interface for creation of textures. -
RendererFactory— Factory class for creating Renderer objects. -
RendererManager— Allows you to change and retrieve the active renderer.
Structs
-
RendererObjectStorage::CommandBatch— Contains a list of renderer IDs that were allocated and deallocated during a single frame. -
render::Renderer::RendererTaskQueuedInfo— Information about a renderer task queued to be executed. -
render::RendererTask::PrivatelyConstruct -
render::RenderQueue::SortableElement— Data used for renderable element sorting. -
render::CompositeUniformDefinition::META_FirstEntry -
render::CompositeUniformDefinition::META_NextEntry_gTint -
render::BicubicUpsampleUniformDefinition::META_FirstEntry -
render::BicubicUpsampleUniformDefinition::META_NextEntry_gTint -
render::BicubicUpsampleUniformDefinition::META_NextEntry_gTextureSize -
render::BicubicUpsampleUniformDefinition::META_NextEntry_gInvPixel -
render::BicubicUpsampleUniformDefinition::META_NextEntry_gInvTwoPixels -
render::ClearUniformDefinition::META_FirstEntry -
render::ClearUniformDefinition::META_NextEntry_gClearValue -
RendererSceneSyncData— Frame-allocated data produced by RendererScene::SyncRead, consumed by render::RendererScene::SyncWrite. -
TRendererObjectECSUtility— Provides generic ECS utility methods for renderer object types. -
TRendererObjectECSSyncChannel— CRTP interface that serves as a helper to synchronize data between the main and render thread. -
TRendererObjectECSSyncBatch— Helper object used for synchronizing data from ECS entity/fragments on the main thread to packed arrays stored in RendererObjectStorage on the render thread. -
RendererMaterialManager::RendererMaterialData— Information used for initializing a renderer material managed by this module. -
render::RendererMaterialVariationInformation -
render::RendererMaterialMetaData— Contains data common to all render material variations for a specific render material. -
render::RendererMaterialProfileBlock— Helper class that performs GPU profiling in the current block. -
render::InitRendererMaterialStart— Helper class to initialize all renderer materials as soon as the library is loaded.
Enums
-
VertexLayout— Available vertex layouts that specify what data is provided per-vertex in a mesh. -
render::RendererMaterialShaderState— Compilation state for RendererMaterial shader. -
render::RendererMaterialVariationState— Compilation state for RendererMaterial variation.
Free functions
GetVertexInputVariation
static const ShaderVariationParameters &GetVertexInputVariation(bool supportsVelocityWrites)
Returns a specific vertex input shader variation.