Rendering

Components and related functionality for rendering scene objects.

Classes

  • GpuResourceData — You can use this class as a storage for reading and writing from/to various GPU resources.
  • Viewport Viewport determines to which RenderTarget should rendering be performed.
  • Camera Camera determines how is world geometry projected onto a 2D surface.
  • Decal — Wraps Decal as a Component.
  • Light
  • LightProbeVolume — Allows you to define a volume of light probes that will be used for indirect lighting.
  • ReflectionProbe — Specifies a location at which a pre-computed texture containing scene radiance will be generated.
  • Renderable Renderable represents any visible object in the scene.
  • Skybox — Allows you to specify an environment map to use for sampling radiance of the sky.

Structs

Enums

Internal

Symbols intended for engine-internal use. Not part of the public API.

Classes

Structs

Enums

Free functions

ComputeDecalBounds

Bounds ComputeDecalBounds(const Vector2 &size, float maxDistance, const Transform &transform)

Computes world-space bounds for a decal.

CreateDecal

Decal &CreateDecal(Registry &registry, Entity entity, const SPtr<RendererScene> &rendererScene, const Transform &transform = Transform::kIdentity)

Creates all Decal data fragments, a world transform, and allocates a renderer ID.

Entity is ready for rendering after this call. Returns the Decal data fragment.

DestroyDecal

void DestroyDecal(Registry &registry, Entity entity)

Removes all Decal fragments.

Cleanup (ID deallocation, dirty tags) is handled by the associated RendererScene when it is notified the fragment has been removed.

CreateLight

Light &CreateLight(Registry &registry, Entity entity, const SPtr<RendererScene> &rendererScene, const Transform &transform = Transform::kIdentity)

Creates all Light data fragments, a world transform, and allocates a renderer ID.

Entity is ready for rendering after this call. Returns the Light data fragment.

DestroyLight

void DestroyLight(Registry &registry, Entity entity)

Removes all Light fragments.

Cleanup (ID deallocation, dirty tags) is handled by the associated RendererScene when it is notified the fragment has been removed.

CreateReflectionProbe

ReflectionProbe &CreateReflectionProbe(Registry &registry, Entity entity, const SPtr<RendererScene> &rendererScene, const Transform &transform = Transform::kIdentity)

Creates all ReflectionProbe data fragments, a world transform, and allocates a renderer ID.

Entity is ready for rendering after this call. Returns the ReflectionProbe data fragment.

DestroyReflectionProbe

void DestroyReflectionProbe(Registry &registry, Entity entity)

Removes all ReflectionProbe fragments.

Cleanup (ID deallocation, dirty tags, task cancellation) is handled by the associated RendererScene when it is notified the fragment has been removed.

CreateRenderable

Renderable &CreateRenderable(Registry &registry, Entity entity, const SPtr<RendererScene> &rendererScene, const Transform &transform = Transform::kIdentity)

Creates all Renderable data fragments, a world transform, and allocates a renderer ID.

Entity is ready for rendering after this call. Returns the Renderable data fragment.

DestroyRenderable

void DestroyRenderable(Registry &registry, Entity entity)

Removes all Renderable fragments.

Cleanup (ID deallocation, dirty tags) is handled by the associated RendererScene when it is notified the fragment has been removed.