Renderer

Base API for renderer plugins, provides a way to render renderable scene objects by issuing GpuBackend commands.

Classes

Structs

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

GetRenderer

SPtr<Renderer> GetRenderer()

Provides easy access to Renderer.

GetIBLUtility

const IBLUtility &GetIBLUtility()

Provides easy access to IBLUtility.

GetRendererUtility

RendererUtility &GetRendererUtility()

Provides easy access to RendererUtility.

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

Enums

Free functions

GetVertexInputVariation

static const ShaderVariationParameters &GetVertexInputVariation(bool supportsVelocityWrites)

Returns a specific vertex input shader variation.