struct RenderSettings

Settings that control rendering for a specific camera (view).

Public

Constructors

RenderSettings

RenderSettings() = default

Methods

~RenderSettings

virtual ~RenderSettings() noexcept = default

staticGetRttiStatic

static RTTIType *GetRttiStatic()

GetRtti

RTTIType *GetRtti() const override

Returns an interface you can use to access class' Run Time Type Information.

Fields

DepthOfField

CoreVariantType<DepthOfFieldSettings, IsRenderProxy> DepthOfField

Parameters used for customizing the gaussian depth of field effect.

ChromaticAberration

CoreVariantType<ChromaticAberrationSettings, IsRenderProxy> ChromaticAberration

Parameters used for customizing the chromatic aberration effect.

EnableAutoExposure

bool EnableAutoExposure

Determines should automatic exposure be applied to the HDR image.

When turned on the average scene brightness will be calculated and used to automatically expose the image to the optimal range. Use the parameters provided by autoExposure to customize the automatic exposure effect. You may also use exposureScale to manually adjust the automatic exposure. When automatic exposure is turned off you can use exposureScale to manually set the exposure.

AutoExposure

Parameters used for customizing automatic scene exposure.

EnableTonemapping

bool EnableTonemapping

Determines should the image be tonemapped.

Tonemapping converts an HDR image into LDR image by applying a filmic curve to the image, simulating the effect of film cameras. Filmic curve improves image quality by tapering off lows and highs, preventing under- and over-exposure. This is useful if an image contains both very dark and very bright areas, in which case the global exposure parameter would leave some areas either over- or under-exposed. Use #tonemapping to customize how tonemapping performed.

If this is disabled, then color grading and white balancing will not be enabled either. Only relevant for HDR images.

Tonemapping

Parameters used for customizing tonemapping.

WhiteBalance

Parameters used for customizing white balancing.

White balancing converts a scene illuminated by a light of the specified temperature into a scene illuminated by a standard D65 illuminant (average midday light) in order to simulate the effects of chromatic adaptation of the human visual system.

ColorGrading

Parameters used for customizing color grading.

AmbientOcclusion

AmbientOcclusionSettings AmbientOcclusion

Parameters used for customizing screen space ambient occlusion.

ScreenSpaceReflections

ScreenSpaceReflectionsSettings ScreenSpaceReflections

Parameters used for customizing screen space reflections.

Bloom

Parameters used for customizing the bloom effect.

ScreenSpaceLensFlare

ScreenSpaceLensFlareSettings ScreenSpaceLensFlare

Parameters used for customizing the screen space lens flare effect.

FilmGrain

Parameters used for customizing the film grain effect.

MotionBlur

Parameters used for customizing the motion blur effect.

TemporalAa

Parameters used for customizing the temporal anti-aliasing effect.

EnableFxaa

bool EnableFxaa

Enables the fast approximate anti-aliasing effect.

ExposureScale

float ExposureScale

Log2 value to scale the eye adaptation by (for example 2^0 = 1).

Smaller values yield darker image, while larger yield brighter image. Allows you to customize exposure manually, applied on top of eye adaptation exposure (if enabled). In range [-8, 8].

Gamma

float Gamma

Gamma value to adjust the image for.

Larger values result in a brighter image. When tonemapping is turned on the best gamma curve for the output device is chosen automatically and this value can by used to merely tweak that curve. If tonemapping is turned off this is the exact value of the gamma curve that will be applied.

EnableHdr

bool EnableHdr

High dynamic range allows light intensity to be more correctly recorded when rendering by allowing for a larger range of values.

The stored light is then converted into visible color range using exposure and a tone mapping operator.

EnableLighting

bool EnableLighting

Determines if scene objects will be lit by lights.

If disabled everything will be rendered using their albedo texture with no lighting applied.

EnableShadows

bool EnableShadows

Determines if shadows cast by lights should be rendered.

Only relevant if lighting is turned on.

EnableVelocityBuffer

bool EnableVelocityBuffer

Determines if the G-Buffer should contain per-pixel velocity information.

This can be useful if you are rendering an effect that requires this information. Note that effects such as motion blur or temporal anti-aliasing might force the velocity buffer to be enabled regardless of this setting.

ShadowSettings

Parameters used for customizing shadow rendering.

EnableIndirectLighting

bool EnableIndirectLighting

Determines if indirect lighting (e.g. from light probes or the sky) is rendered.

OverlayOnly

bool OverlayOnly

Signals the renderer to only render overlays (like GUI), and not scene objects.

Such rendering doesn't require depth buffer or multi-sampled render targets and will not render any scene objects. This can improve performance and memory usage for overlay-only views.

EnableSkybox

bool EnableSkybox

If enabled the camera will use the skybox for rendering the background.

A skybox has to be present in the scene. When disabled the camera will use the clear color for rendering the background.

CullDistance

float CullDistance

The absolute base cull-distance for objects rendered through this camera in world units.

Objects will use this distance and apply their own factor to it to determine whether they should be visible.

Protected

Methods

~TRenderSettings<IsRenderProxy>

~TRenderSettings<IsRenderProxy>() = default

~RenderSettingsBase

~RenderSettingsBase() noexcept = default