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
-
AutoExposureSettings— Settings that control automatic exposure (eye adaptation) post-process. -
TonemappingSettings— Settings that control tonemap post-process. -
WhiteBalanceSettings— Settings that control white balance post-process. -
ColorGradingSettings— Settings that control color grading post-process. -
AmbientOcclusionSettings— Settings that control screen space ambient occlusion. -
DepthOfFieldSettingsBase— Base class for both main and render thread variants of DepthOfFieldSettings. -
TDepthOfFieldSettings— Template version of DepthOfFieldSettings that can be specialized for either render or main thread. -
DepthOfFieldSettings— Settings that control the depth-of-field effect. -
MotionBlurSettings— Settings that control the motion blur effect. -
TemporalAASettings— Settings that control temporal anti-aliasing. -
ScreenSpaceReflectionsSettings— Settings that control the screen space reflections effect. -
BloomSettings— Settings that control the bloom effect. -
ScreenSpaceLensFlareSettings— Settings that control the screen-space lens flare effect. -
ChromaticAberrationSettingsBase— Base class used for both main and render thread variants of ChromaticAberrationSettings. -
TChromaticAberrationSettings— Template version of ChromaticAberrationSettings that can be specialized for either render or main thread. -
ChromaticAberrationSettings— Settings that control the chromatic aberration effect. -
RenderSettings— Settings that control rendering for a specific camera (view).
Enums
-
ProjectionType— Projection type to use by the camera. -
CameraFlag— Flags for controlling Camera options. -
LightType— Light type that determines how is light information parsed by the renderer and other systems. -
ReflectionProbeType— Probe type that determines the shape of the probe and how is it interpreted by the renderer. -
DepthOfFieldType— Types of available depth of field effects. -
MotionBlurDomain— Determines which parts of the scene will trigger motion blur. -
MotionBlurFilter— Type of filter to use when filtering samples contributing to a blurred pixel. -
MotionBlurQuality— Determines the number of samples to take during motion blur filtering. -
ChromaticAberrationType— Types of available chromatic aberration effects.
Internal
Symbols intended for engine-internal use. Not part of the public API.
Classes
-
ViewportBase— Common base type used for both main and render thread variants of Viewport. -
TViewport— Templated common base type used for both main and render thread variants of Viewport. -
TCamera— Templated common base class for both main and render thread implementations of Camera. -
TDecalGetters— CRTP getter interface providing shared read access for decal data to both Decal and render::DecalProxy. -
TLightGetters— CRTP getter interface providing shared read access for light data to both Light and render::LightProxy. -
TReflectionProbeGetters— CRTP getter interface providing shared read access for reflection probe data to both ReflectionProbe and render::ReflectionProbeProxy. -
ReflectionProbeUtility— Free utility functions for managing reflection probe capture and filtering without requiring a Component. -
TRenderableGetters— CRTP getter interface providing shared read access for both Renderable and RenderableProxy. -
TSkybox— Templated base class for both render and main thread implementations of a skybox.
Structs
-
LightProbeVolume::ProbeInfo— Internal information about a single light probe. -
LightProbeVolume::DirtyProbeInfo— Information about a dirty probe to be synced to the render thread counterpart. -
TDecalData— Shared decal property data used by both main and render thread variants. -
ecs::Decal— ECS fragment storing decal visual data (material, size, layer, etc.). -
ecs::DecalId— ECS fragment storing the persistent render object ID for a decal. -
ecs::DecalDirty— Tag indicating a Decal needs to sync all of its properties to its render proxy. -
ecs::DecalTransformDirty— Tag indicating a Decal needs to sync transform to its render proxy. -
TLightData— Common data used by both main and render thread variants of Light. -
ecs::Light— ECS fragment storing light visual data (type, color, intensity, bounds, etc.). -
ecs::LightId— ECS fragment storing the persistent render object ID for a light. -
ecs::LightDirty— Tag indicating a Light needs to sync all of its properties to its render proxy. -
ecs::LightTransformDirty— Tag indicating a Light needs to sync transform to its render proxy. -
LightProbeSHCoefficients— Vector representing spherical harmonic coefficients for a light probe. -
LightProbeCoefficientInfo— SH coefficients for a specific light probe, and its handle. -
LightProbeInfo— Information about a single probe in the light probe volume. -
TReflectionProbeData— Common data used by both main and render thread variants of ReflectionProbe. -
ecs::ReflectionProbe— ECS fragment storing reflection probe visual data (type, radius, extents, etc.). -
ecs::ReflectionProbeId— ECS fragment storing the persistent render object ID for a reflection probe. -
ecs::ReflectionProbeDirty— Tag indicating a ReflectionProbe needs to sync all of its properties to its render proxy. -
ecs::ReflectionProbeTransformDirty— Tag indicating a ReflectionProbe needs to sync transform to its render proxy. -
TRenderableData— Common data used by both main and render thread variants of Renderable. -
ecs::RenderableId— ECS fragment storing the persistent render object ID for a renderable. -
ecs::Renderable— ECS fragment storing renderable visual data (mesh, materials, layer, etc.). -
ecs::RenderableDirty— Tag indicating a Renderable needs to sync all of its properties to its render proxy. -
ecs::RenderableTransformDirty— Tag indicating a Renderable needs to sync transform to its render proxy. -
render::DepthOfFieldSettings— Render thread variant of DepthOfFieldSettings. -
render::ChromaticAberrationSettings— Render thread variant of ChromaticAberrationSettings. -
RenderSettingsBase— Base class for both main and render thread variants of RenderSettings. -
TRenderSettings— Template version of RenderSettings that can be specialized for either render or main thread. -
render::RenderSettings— Render thread variant of RenderSettings. -
AutoExposureSettings::SyncPacket -
AutoExposureSettings::SyncPacket::META_FirstEntry -
AutoExposureSettings::SyncPacket::META_NextEntry_HistogramLog2Min -
AutoExposureSettings::SyncPacket::META_NextEntry_HistogramLog2Max -
AutoExposureSettings::SyncPacket::META_NextEntry_HistogramPctLow -
AutoExposureSettings::SyncPacket::META_NextEntry_HistogramPctHigh -
AutoExposureSettings::SyncPacket::META_NextEntry_MinEyeAdaptation -
AutoExposureSettings::SyncPacket::META_NextEntry_MaxEyeAdaptation -
AutoExposureSettings::SyncPacket::META_NextEntry_EyeAdaptationSpeedUp -
AutoExposureSettings::SyncPacket::META_NextEntry_EyeAdaptationSpeedDown -
TonemappingSettings::SyncPacket -
TonemappingSettings::SyncPacket::META_FirstEntry -
TonemappingSettings::SyncPacket::META_NextEntry_FilmicCurveShoulderStrength -
TonemappingSettings::SyncPacket::META_NextEntry_FilmicCurveLinearStrength -
TonemappingSettings::SyncPacket::META_NextEntry_FilmicCurveLinearAngle -
TonemappingSettings::SyncPacket::META_NextEntry_FilmicCurveToeStrength -
TonemappingSettings::SyncPacket::META_NextEntry_FilmicCurveToeNumerator -
TonemappingSettings::SyncPacket::META_NextEntry_FilmicCurveToeDenominator -
TonemappingSettings::SyncPacket::META_NextEntry_FilmicCurveLinearWhitePoint -
WhiteBalanceSettings::SyncPacket -
WhiteBalanceSettings::SyncPacket::META_FirstEntry -
WhiteBalanceSettings::SyncPacket::META_NextEntry_Temperature -
WhiteBalanceSettings::SyncPacket::META_NextEntry_Tint -
ColorGradingSettings::SyncPacket -
ColorGradingSettings::SyncPacket::META_FirstEntry -
ColorGradingSettings::SyncPacket::META_NextEntry_Saturation -
ColorGradingSettings::SyncPacket::META_NextEntry_Gain -
ColorGradingSettings::SyncPacket::META_NextEntry_Contrast -
ColorGradingSettings::SyncPacket::META_NextEntry_Offset -
AmbientOcclusionSettings::SyncPacket -
AmbientOcclusionSettings::SyncPacket::META_FirstEntry -
AmbientOcclusionSettings::SyncPacket::META_NextEntry_Enabled -
AmbientOcclusionSettings::SyncPacket::META_NextEntry_Radius -
AmbientOcclusionSettings::SyncPacket::META_NextEntry_Bias -
AmbientOcclusionSettings::SyncPacket::META_NextEntry_FadeDistance -
AmbientOcclusionSettings::SyncPacket::META_NextEntry_FadeRange -
AmbientOcclusionSettings::SyncPacket::META_NextEntry_Intensity -
AmbientOcclusionSettings::SyncPacket::META_NextEntry_Power -
AmbientOcclusionSettings::SyncPacket::META_NextEntry_Quality -
DepthOfFieldSettings::SyncPacket -
DepthOfFieldSettings::SyncPacket::META_FirstEntry -
DepthOfFieldSettings::SyncPacket::META_NextEntry_Enabled -
DepthOfFieldSettings::SyncPacket::META_NextEntry_FocalDistance -
DepthOfFieldSettings::SyncPacket::META_NextEntry_FocalRange -
DepthOfFieldSettings::SyncPacket::META_NextEntry_NearTransitionRange -
DepthOfFieldSettings::SyncPacket::META_NextEntry_FarTransitionRange -
DepthOfFieldSettings::SyncPacket::META_NextEntry_NearBlurAmount -
DepthOfFieldSettings::SyncPacket::META_NextEntry_FarBlurAmount -
DepthOfFieldSettings::SyncPacket::META_NextEntry_Type -
DepthOfFieldSettings::SyncPacket::META_NextEntry_MaxBokehSize -
DepthOfFieldSettings::SyncPacket::META_NextEntry_BokehShape -
DepthOfFieldSettings::SyncPacket::META_NextEntry_AdaptiveColorThreshold -
DepthOfFieldSettings::SyncPacket::META_NextEntry_AdaptiveRadiusThreshold -
DepthOfFieldSettings::SyncPacket::META_NextEntry_FocalLength -
DepthOfFieldSettings::SyncPacket::META_NextEntry_ApertureSize -
DepthOfFieldSettings::SyncPacket::META_NextEntry_SensorSize -
DepthOfFieldSettings::SyncPacket::META_NextEntry_BokehOcclusion -
DepthOfFieldSettings::SyncPacket::META_NextEntry_OcclusionDepthRange -
ScreenSpaceReflectionsSettings::SyncPacket -
ScreenSpaceReflectionsSettings::SyncPacket::META_FirstEntry -
ScreenSpaceReflectionsSettings::SyncPacket::META_NextEntry_Enabled -
ScreenSpaceReflectionsSettings::SyncPacket::META_NextEntry_Quality -
ScreenSpaceReflectionsSettings::SyncPacket::META_NextEntry_Intensity -
ScreenSpaceReflectionsSettings::SyncPacket::META_NextEntry_MaxRoughness -
BloomSettings::SyncPacket -
BloomSettings::SyncPacket::META_FirstEntry -
BloomSettings::SyncPacket::META_NextEntry_Enabled -
BloomSettings::SyncPacket::META_NextEntry_Quality -
BloomSettings::SyncPacket::META_NextEntry_Threshold -
BloomSettings::SyncPacket::META_NextEntry_Intensity -
BloomSettings::SyncPacket::META_NextEntry_Tint -
BloomSettings::SyncPacket::META_NextEntry_FilterSize -
ScreenSpaceLensFlareSettings::SyncPacket -
ScreenSpaceLensFlareSettings::SyncPacket::META_FirstEntry -
ScreenSpaceLensFlareSettings::SyncPacket::META_NextEntry_Enabled -
ScreenSpaceLensFlareSettings::SyncPacket::META_NextEntry_DownsampleCount -
ScreenSpaceLensFlareSettings::SyncPacket::META_NextEntry_Threshold -
ScreenSpaceLensFlareSettings::SyncPacket::META_NextEntry_GhostCount -
ScreenSpaceLensFlareSettings::SyncPacket::META_NextEntry_GhostSpacing -
ScreenSpaceLensFlareSettings::SyncPacket::META_NextEntry_Brightness -
ScreenSpaceLensFlareSettings::SyncPacket::META_NextEntry_FilterSize -
ScreenSpaceLensFlareSettings::SyncPacket::META_NextEntry_Halo -
ScreenSpaceLensFlareSettings::SyncPacket::META_NextEntry_HaloRadius -
ScreenSpaceLensFlareSettings::SyncPacket::META_NextEntry_HaloThickness -
ScreenSpaceLensFlareSettings::SyncPacket::META_NextEntry_HaloThreshold -
ScreenSpaceLensFlareSettings::SyncPacket::META_NextEntry_HaloAspectRatio -
ScreenSpaceLensFlareSettings::SyncPacket::META_NextEntry_ChromaticAberration -
ScreenSpaceLensFlareSettings::SyncPacket::META_NextEntry_ChromaticAberrationOffset -
ScreenSpaceLensFlareSettings::SyncPacket::META_NextEntry_BicubicUpsampling -
MotionBlurSettings::SyncPacket -
MotionBlurSettings::SyncPacket::META_FirstEntry -
MotionBlurSettings::SyncPacket::META_NextEntry_Enabled -
MotionBlurSettings::SyncPacket::META_NextEntry_Domain -
MotionBlurSettings::SyncPacket::META_NextEntry_Filter -
MotionBlurSettings::SyncPacket::META_NextEntry_Quality -
MotionBlurSettings::SyncPacket::META_NextEntry_MaximumRadius -
TemporalAASettings::SyncPacket -
TemporalAASettings::SyncPacket::META_FirstEntry -
TemporalAASettings::SyncPacket::META_NextEntry_Enabled -
TemporalAASettings::SyncPacket::META_NextEntry_JitteredPositionCount -
TemporalAASettings::SyncPacket::META_NextEntry_Sharpness -
ChromaticAberrationSettings::SyncPacket -
ChromaticAberrationSettings::SyncPacket::META_FirstEntry -
ChromaticAberrationSettings::SyncPacket::META_NextEntry_Enabled -
ChromaticAberrationSettings::SyncPacket::META_NextEntry_Type -
ChromaticAberrationSettings::SyncPacket::META_NextEntry_ShiftAmount -
ChromaticAberrationSettings::SyncPacket::META_NextEntry_FringeTexture -
FilmGrainSettings::SyncPacket -
FilmGrainSettings::SyncPacket::META_FirstEntry -
FilmGrainSettings::SyncPacket::META_NextEntry_Enabled -
FilmGrainSettings::SyncPacket::META_NextEntry_Intensity -
FilmGrainSettings::SyncPacket::META_NextEntry_Speed -
ShadowSettings::SyncPacket -
ShadowSettings::SyncPacket::META_FirstEntry -
ShadowSettings::SyncPacket::META_NextEntry_DirectionalShadowDistance -
ShadowSettings::SyncPacket::META_NextEntry_NumCascades -
ShadowSettings::SyncPacket::META_NextEntry_CascadeDistributionExponent -
ShadowSettings::SyncPacket::META_NextEntry_ShadowFilteringQuality -
RenderSettings::SyncPacket -
RenderSettings::SyncPacket::META_FirstEntry -
RenderSettings::SyncPacket::META_NextEntry_EnableAutoExposure -
RenderSettings::SyncPacket::META_NextEntry_AutoExposure -
RenderSettings::SyncPacket::META_NextEntry_EnableTonemapping -
RenderSettings::SyncPacket::META_NextEntry_Tonemapping -
RenderSettings::SyncPacket::META_NextEntry_WhiteBalance -
RenderSettings::SyncPacket::META_NextEntry_ColorGrading -
RenderSettings::SyncPacket::META_NextEntry_DepthOfField -
RenderSettings::SyncPacket::META_NextEntry_AmbientOcclusion -
RenderSettings::SyncPacket::META_NextEntry_ScreenSpaceReflections -
RenderSettings::SyncPacket::META_NextEntry_Bloom -
RenderSettings::SyncPacket::META_NextEntry_ScreenSpaceLensFlare -
RenderSettings::SyncPacket::META_NextEntry_ExposureScale -
RenderSettings::SyncPacket::META_NextEntry_Gamma -
RenderSettings::SyncPacket::META_NextEntry_EnableFxaa -
RenderSettings::SyncPacket::META_NextEntry_EnableHdr -
RenderSettings::SyncPacket::META_NextEntry_EnableLighting -
RenderSettings::SyncPacket::META_NextEntry_EnableShadows -
RenderSettings::SyncPacket::META_NextEntry_EnableIndirectLighting -
RenderSettings::SyncPacket::META_NextEntry_OverlayOnly -
RenderSettings::SyncPacket::META_NextEntry_EnableSkybox -
RenderSettings::SyncPacket::META_NextEntry_CullDistance -
RenderSettings::SyncPacket::META_NextEntry_MotionBlur -
RenderSettings::SyncPacket::META_NextEntry_FilmGrain -
RenderSettings::SyncPacket::META_NextEntry_ChromaticAberration -
RenderSettings::SyncPacket::META_NextEntry_TemporalAa -
RenderSettings::SyncPacket::META_NextEntry_EnableVelocityBuffer
Enums
-
ClearFlagBits— Flags that determine which portion of the viewport to clear. -
CameraDirtyFlag— Signals which portion of a Camera is dirty. -
LightProbeFlags— Potential states the light probe can be in. -
RenderableAnimType— Type of animation that can be applied to a renderable object.
Free functions
ComputeDecalBounds
Bounds ComputeDecalBounds(const Vector2 &size, float maxDistance, const Transform &transform)
Computes world-space bounds for a decal.
CreateDecal
Decal &CreateDecal(Registry ®istry, 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 ®istry, 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 ®istry, 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 ®istry, 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 ®istry, 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 ®istry, 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 ®istry, 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 ®istry, 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.