Skip to content

raisin::RenderQualitySettings ​

struct · #include <rayrai/RenderQuality.hpp>

Explicit runtime quality settings for viewer rendering.

The struct stores its fields as a flat layout for historical reasons; the flat fields are the source of truth. For authoring, new code may use the grouped sub-config accessors — shadows(), bloom(), depthOfField(), fog(), toneMapping(), temporalAa() — and the matching set*() writers, which copy to and from the flat fields.

Use RenderQualitySettings::preset(RenderQualityPreset) to start from a known-good configuration, then apply with RayraiWindow::setRenderQualitySettings(). That call clamps many fields to the ranges noted on them and throws std::invalid_argument for invalid temporal-AA parameters; the remaining noted ranges are applied when the value is uploaded to the shaders.

Nested classes ​

Public member functions ​

shadows ​

cpp
ShadowsSettings shadows() const

Read a snapshot of the shadows sub-config from the flat fields.

Returns Copy of the main shadow and cascade fields (additional-light shadow fields excluded).

setShadows ​

cpp
void setShadows(const ShadowsSettings &s)

Write the shadows sub-config back into the flat fields.

Parameters

ParameterDescription
sValues to store.

bloom ​

cpp
BloomSettings bloom() const

Read a snapshot of the bloom sub-config from the flat fields.

Returns Copy of the bloom* fields.

setBloom ​

cpp
void setBloom(const BloomSettings &b)

Write the bloom sub-config back into the flat fields.

Parameters

ParameterDescription
bValues to store.

depthOfField ​

cpp
DepthOfFieldSettings depthOfField() const

Read a snapshot of the depth-of-field sub-config from the flat fields.

Returns Copy of the depthOfField* fields.

setDepthOfField ​

cpp
void setDepthOfField(const DepthOfFieldSettings &d)

Write the depth-of-field sub-config back into the flat fields.

Parameters

ParameterDescription
dValues to store.

fog ​

cpp
FogSettings fog() const

Read a snapshot of the fog sub-config from the flat fields.

Returns Copy of the distance/height/volumetric fog fields (wind and animation excluded).

setFog ​

cpp
void setFog(const FogSettings &f)

Write the fog sub-config back into the flat fields.

Parameters

ParameterDescription
fValues to store.

toneMapping ​

cpp
ToneMappingSettings toneMapping() const

Read a snapshot of the tone-mapping and color sub-config from the flat fields.

Returns Copy of the tone-mapping, auto-exposure and color-grade fields (colorMode excluded).

setToneMapping ​

cpp
void setToneMapping(const ToneMappingSettings &t)

Write the tone-mapping and color sub-config back into the flat fields.

Parameters

ParameterDescription
tValues to store.

temporalAa ​

cpp
TemporalAaSettings temporalAa() const

Read a snapshot of the temporal-AA sub-config from the flat fields.

Returns Copy of the temporalAa* fields.

setTemporalAa ​

cpp
void setTemporalAa(const TemporalAaSettings &a)

Write the temporal-AA sub-config back into the flat fields.

Parameters

ParameterDescription
aValues to store.

Static member functions ​

preset static ​

cpp
static RenderQualitySettings preset(RenderQualityPreset p)

Build a RenderQualitySettings for the given preset.

Companion to the existing RenderQualityPreset enum so the type that names the presets can also produce them. Delegates to RayraiWindow::defaultRenderQualitySettings() (defined in RenderQualityDefaults.cpp). The result is not clamped until it is passed to RayraiWindow::setRenderQualitySettings().

Parameters

ParameterDescription
pPreset to build.

Returns Struct defaults with the preset's overrides applied.

Public attributes ​

Background and main light

The main light is directional. Struct defaults are what Fast and Custom start from; in the simple-shading path there is no IBL, so a moderate ambient keeps smooth/metallic surfaces from going black.

backgroundColorRgb255 ​

cpp
glm::vec4 backgroundColorRgb255

Clear color, RGBA in 0..255 (shown where no sky/environment is drawn).

mainLightAmbient ​

cpp
glm::vec3 mainLightAmbient

Main light ambient color (linear RGB); also the sky fill on the simple-shading path.

mainLightDiffuse ​

cpp
glm::vec3 mainLightDiffuse

Main light diffuse color/intensity (linear RGB); also tints the procedural sky sun.

mainLightSpecular ​

cpp
glm::vec3 mainLightSpecular

Main light specular color (linear RGB).

mainLightDirection ​

cpp
glm::vec3 mainLightDirection

Direction the main light travels (from the light toward the scene); normalized on apply, ignored if zero.


Main directional shadow

The shadow box is an orthographic volume of half-size shadowOrthoHalfSize centered shadowCenterOffset metres in front of the camera. Ranges in brackets are applied by RayraiWindow::setRenderQualitySettings().

shadowResolution ​

cpp
int shadowResolution

Main shadow-map edge length, texels (at least 256); additional shadow maps scale from it.

shadowBias ​

cpp
float shadowBias

Depth bias against shadow acne.

shadowStrength ​

cpp
float shadowStrength

Shadow darkening, 0 = none, 1 = full.

shadowPcfRadius ​

cpp
float shadowPcfRadius

PCF filter radius, shadow-map texels.

directionalShadowSoftnessDegrees ​

cpp
float directionalShadowSoftnessDegrees

Sun angular diameter, degrees, [0, 4]; 0 keeps plain PCF.

directionalShadowSoftnessMaxRadius ​

cpp
float directionalShadowSoftnessMaxRadius

Upper bound of the blocker-based filter radius, shadow-map texels, [1, 16].

shadowContactHardening ​

cpp
bool shadowContactHardening

Scale the PCF radius with receiver depth (harder near contact).

shadowContactHardeningMinRadius ​

cpp
float shadowContactHardeningMinRadius

Smallest contact-hardening filter radius, texels, [0, 16].

shadowContactHardeningMaxRadius ​

cpp
float shadowContactHardeningMaxRadius

Largest contact-hardening filter radius, texels, [min radius, 32].

shadowContactHardeningDepthScale ​

cpp
float shadowContactHardeningDepthScale

Depth-to-radius scale for contact hardening, [0, 4].

shadowDebugOverlayEnabled ​

cpp
bool shadowDebugOverlayEnabled

Show the ImGui shadow debug overlay in the viewer.

shadowOrthoHalfSize ​

cpp
float shadowOrthoHalfSize

Half-size of the main directional shadow box, metres.

shadowNear ​

cpp
float shadowNear

Shadow projection near plane, metres.

shadowFar ​

cpp
float shadowFar

Shadow projection far plane, metres (also the default cascade distance).

shadowCenterOffset ​

cpp
float shadowCenterOffset

Distance ahead of the camera where the shadow box is centered, metres.


Fog

Distance fog, exponential height fog and raymarched volumetric fog. With weather enabled, the weather densities are combined with these by max().

fogDensity ​

cpp
float fogDensity

Distance fog: transmittance = exp(-(distance * fogDensity)^2), 1/m.

fogColorOverrideEnabled ​

cpp
bool fogColorOverrideEnabled

Use fogColor instead of the background color (backgroundColorRgb255) for fog.

fogColor ​

cpp
glm::vec3 fogColor

Distance/height fog color when fogColorOverrideEnabled (linear RGB, >= 0).

heightFogEnabled ​

cpp
bool heightFogEnabled

Enable exponential height fog (in addition to distance fog).

heightFogDensity ​

cpp
float heightFogDensity

Height-fog extinction at heightFogBaseHeight, 1/m.

heightFogBaseHeight ​

cpp
float heightFogBaseHeight

World Z where heightFogDensity applies, metres.

heightFogFalloff ​

cpp
float heightFogFalloff

Exponential density falloff per metre above the base height.

volumetricFogEnabled ​

cpp
bool volumetricFogEnabled

Enable raymarched volumetric fog in the post-process pass.

volumetricFogDensity ​

cpp
float volumetricFogDensity

Volumetric fog density, [0, 1].

volumetricFogNoiseScale ​

cpp
float volumetricFogNoiseScale

Spatial frequency of the fog noise, [0.001, 128].

volumetricFogNoiseStrength ​

cpp
float volumetricFogNoiseStrength

Noise modulation of the fog density, [0, 1].

volumetricFogColor ​

cpp
glm::vec3 volumetricFogColor

Volumetric fog color (linear RGB, >= 0).

volumetricFogAnisotropy ​

cpp
float volumetricFogAnisotropy

Henyey-Greenstein phase g, [-0.85, 0.85]; > 0 scatters forward.

volumetricFogAnimationTimeSeconds ​

cpp
float volumetricFogAnimationTimeSeconds

Time driving the fog noise animation, seconds (>= 0).

volumetricFogWindDirection ​

cpp
glm::vec2 volumetricFogWindDirection

Fog drift direction in world XY (normalized; zero becomes +X).

volumetricFogWindSpeed ​

cpp
float volumetricFogWindSpeed

Fog drift speed, [0, 80].

volumetricFogTurbulenceSpeed ​

cpp
float volumetricFogTurbulenceSpeed

Fog noise evolution speed, [0, 20].


Volumetric lighting

volumetricLightingEnabled ​

cpp
bool volumetricLightingEnabled

Enable volumetric (in-scattered) main-light shafts through the fog.

volumetricLightStrength ​

cpp
float volumetricLightStrength

Volumetric light intensity, [0, 8].

volumetricLightDecay ​

cpp
float volumetricLightDecay

Volumetric light decay, [0, 0.99].

volumetricLightSamples ​

cpp
int volumetricLightSamples

Volumetric light ray samples, [4, 32].


Shading, tone mapping and color

Shading path selection, tone curve, exposure and post-process color controls.

gamma ​

cpp
float gamma

Display gamma: output = pow(color, 1 / gamma); at least 0.01.

highFidelityPbr ​

cpp
bool highFidelityPbr

Use the full PBR shader path (IBL, environment maps, PBR tone curves).

forceSimpleMaterialShading ​

cpp
bool forceSimpleMaterialShading

Render every mesh with the simple (non-PBR) shader.

pbrToneMapping ​

cpp
bool pbrToneMapping

Apply the colorMode tone curve with pbrExposure (high-fidelity PBR / linear HDR paths).

colorMode ​

cpp
ViewerColorMode colorMode

Tone curve used when pbrToneMapping is on.

pbrExposure ​

cpp
float pbrExposure

Exposure multiplier applied before the tone curve.

autoExposureEnabled ​

cpp
bool autoExposureEnabled

Adapt exposure from the average brightness of the previous frame.

autoExposureKey ​

cpp
float autoExposureKey

Target average luminance of the displayed frame (approximately linear).

autoExposureSpeed ​

cpp
float autoExposureSpeed

Fraction of the remaining exposure error corrected per frame, [0, 1].

autoExposureMinFactor ​

cpp
float autoExposureMinFactor

Lower bound of the auto-exposure multiplier.

autoExposureMaxFactor ​

cpp
float autoExposureMaxFactor

Upper bound of the auto-exposure multiplier.

viewerWhiteBalance ​

cpp
glm::vec3 viewerWhiteBalance

Per-channel RGB gain applied in the post-process pass (>= 0).

viewerSaturation ​

cpp
float viewerSaturation

Post-process saturation, 1 = unchanged, 0 = grayscale (>= 0).

viewerColorGradePreset ​

cpp
ColorGradePreset viewerColorGradePreset

Color-grade look applied at the end of the post chain.

viewerColorGradeStrength ​

cpp
float viewerColorGradeStrength

Blend between ungraded and graded color, [0, 1].


Environment lighting and sky

Image-based lighting and the procedural sky. Environment mips are chosen as clamp(maxLod * r * (2 - r) + bias, 0, maxLod) for roughness r.

pbrEnvironmentMaxLod ​

cpp
float pbrEnvironmentMaxLod

Highest environment mip used for rough reflections; 0 always samples mip 0.

pbrEnvironmentMipLodBias ​

cpp
float pbrEnvironmentMipLodBias

Bias added to the roughness-based environment mip, [-1, 2].

pbrEnvironmentRotation ​

cpp
float pbrEnvironmentRotation

Rotation of environment maps and the sky about world +Z, radians.

pbrEnvironmentIntensity ​

cpp
float pbrEnvironmentIntensity

Image-based lighting intensity multiplier (high-fidelity PBR).

pbrEnvironmentLightingTint ​

cpp
glm::vec3 pbrEnvironmentLightingTint

Linear RGB illumination for the procedural fallback, independent of the visible sky/fog palette. HDR environment maps retain their captured color.

pbrEnvironmentSkyTint ​

cpp
glm::vec3 pbrEnvironmentSkyTint

Tint of the upper sky in the background and procedural environment.

pbrEnvironmentHorizonTint ​

cpp
glm::vec3 pbrEnvironmentHorizonTint

Tint of the horizon band.

pbrEnvironmentGroundTint ​

cpp
glm::vec3 pbrEnvironmentGroundTint

Tint of the lower hemisphere (ground).

pbrEnvironmentHorizonStrength ​

cpp
float pbrEnvironmentHorizonStrength

Width/strength of the horizon band, [0, 1].

environmentBackgroundTint ​

cpp
glm::vec3 environmentBackgroundTint

Tint applied to the drawn sky/environment background (>= 0).

environmentBackgroundExposureScale ​

cpp
float environmentBackgroundExposureScale

Brightness multiplier of the drawn sky/environment background (>= 0).

proceduralSkyBackgroundEnabled ​

cpp
bool proceduralSkyBackgroundEnabled

Draw the procedural sky when no environment map is set.

proceduralSkySunStrength ​

cpp
float proceduralSkySunStrength

Brightness of the procedural sun disk (>= 0).

proceduralSkySunSize ​

cpp
float proceduralSkySunSize

Angular radius of the procedural sun disk, radians.


Procedural clouds

proceduralCloudLayerEnabled ​

cpp
bool proceduralCloudLayerEnabled

Draw the procedural cloud layer (also requires cloudQuality != Off).

proceduralCloudCoverage ​

cpp
float proceduralCloudCoverage

Fraction of sky covered by clouds, [0, 1].

proceduralCloudDensity ​

cpp
float proceduralCloudDensity

Cloud opacity, [0, 1].

proceduralCloudScale ​

cpp
float proceduralCloudScale

Cloud noise scale.

proceduralCloudSoftness ​

cpp
float proceduralCloudSoftness

Cloud edge softness.

proceduralCloudOffset ​

cpp
glm::vec2 proceduralCloudOffset

Offset in cloud-noise space; animate it to move the clouds (no automatic drift).

proceduralCloudTint ​

cpp
glm::vec3 proceduralCloudTint

Cloud color (linear RGB, >= 0).

cloudQuality ​

cpp
CloudQuality cloudQuality

Cloud quality path. Off disables clouds entirely; Texture uses the cheap 2D path; Volumetric uses raymarched 3D noise. Set by the presets.

cloudShadowProjectionEnabled ​

cpp
bool cloudShadowProjectionEnabled

Project procedural cloud shadows onto the scene.

cloudShadowStrength ​

cpp
float cloudShadowStrength

Cloud-shadow darkening, [0, 1].

cloudShadowScale ​

cpp
float cloudShadowScale

Cloud-shadow noise scale.


Material response and reflective ground

pbrKeyLightIntensity ​

cpp
float pbrKeyLightIntensity

Main (key) light intensity multiplier in the PBR shaders (>= 0).

specularAntiAliasing ​

cpp
bool specularAntiAliasing

Reduce specular aliasing on high-frequency normals (PBR).

specularAntiAliasingStrength ​

cpp
float specularAntiAliasingStrength

Specular anti-aliasing strength, [0, 2].

reflectiveGround ​

cpp
bool reflectiveGround

Render the default ground as a planar-reflective material.

reflectiveGroundRoughness ​

cpp
float reflectiveGroundRoughness

Roughness of the reflective ground.

reflectiveGroundMetallic ​

cpp
float reflectiveGroundMetallic

Metallic factor of the reflective ground.


Lens character, stylized effects and shading extras

Mostly screen-space effects applied in the post-process pass, plus detail normals and subsurface wrap in the PBR shaders. All are off by default; strengths are clamped to the noted ranges when uploaded.

fxaaEnabled ​

cpp
bool fxaaEnabled

Enable FXAA in the post-process pass.

viewerVignetteStrength ​

cpp
float viewerVignetteStrength

Radial darkening, [0, 1].

viewerChromaticAberrationStrength ​

cpp
float viewerChromaticAberrationStrength

RGB channel offset, [0, 1].

viewerFilmGrainStrength ​

cpp
float viewerFilmGrainStrength

Animated luma noise, [0, 1].

aerialPerspectiveEnabled ​

cpp
bool aerialPerspectiveEnabled

Apply atmospheric aerial perspective to distant geometry (needs the atmosphere volume).

aerialPerspectiveStrength ​

cpp
float aerialPerspectiveStrength

Aerial-perspective strength multiplier.

detailNormalEnabled ​

cpp
bool detailNormalEnabled

Add procedural world-space micro-normal detail (high-fidelity PBR).

detailNormalScale ​

cpp
float detailNormalScale

World-space noise frequency, 1/m (>= 0.001).

detailNormalStrength ​

cpp
float detailNormalStrength

Detail strength, [0, 1]; small values look natural.

viewerSubsurfaceWrap ​

cpp
float viewerSubsurfaceWrap

Diffuse wrap amount, [0, 1]; 0 = standard Lambert.

viewerSubsurfaceTint ​

cpp
glm::vec3 viewerSubsurfaceTint

Tint of the wrapped light (>= 0); default is warm.

lightShaftsEnabled ​

cpp
bool lightShaftsEnabled

Enable screen-space sun light shafts (god rays).

lightShaftsStrength ​

cpp
float lightShaftsStrength

Additive shaft intensity (>= 0).

lightShaftsDecay ​

cpp
float lightShaftsDecay

Per-step radial decay, [0.5, 0.999].

lightShaftsDensity ​

cpp
float lightShaftsDensity

Sample step density (effective range [0.1, 2]).

lensFlareGhostStrength ​

cpp
float lensFlareGhostStrength

Intensity of the ghost chain (>= 0); 0 disables.

lensFlareStreakStrength ​

cpp
float lensFlareStreakStrength

Intensity of the horizontal streak (>= 0); 0 disables.

lensFlareTint ​

cpp
glm::vec3 lensFlareTint

Ghost/streak color; default is a cool blue.

contactShadowsEnabled ​

cpp
bool contactShadowsEnabled

Enable screen-space contact shadows.

contactShadowsLength ​

cpp
float contactShadowsLength

Raymarch length, metres, [0, 0.5].

contactShadowsStrength ​

cpp
float contactShadowsStrength

Darkening, [0, 1].

contactShadowsThickness ​

cpp
float contactShadowsThickness

Linear-depth tolerance, metres (>= 0.01).

motionBlurEnabled ​

cpp
bool motionBlurEnabled

Enable the directional motion-blur post effect.

motionBlurDirection ​

cpp
glm::vec2 motionBlurDirection

Blur vector in screen-UV units, scaled by motionBlurStrength.

motionBlurStrength ​

cpp
float motionBlurStrength

Motion-blur amount, [0, 1].

ssrEnabled ​

cpp
bool ssrEnabled

Enable screen-space reflections.

ssrStrength ​

cpp
float ssrStrength

Reflection blend amount, [0, 1].

ssrSteps ​

cpp
int ssrSteps

Raymarch steps, [4, 64].

ssrMaxDistance ​

cpp
float ssrMaxDistance

Maximum reflection ray length, metres.

ssrThickness ​

cpp
float ssrThickness

Depth tolerance for a ray hit, metres.

lensDistortionEnabled ​

cpp
bool lensDistortionEnabled

Enable radial lens distortion.

lensDistortionStrength ​

cpp
float lensDistortionStrength

Signed, [-2, 2]: positive = barrel, negative = pincushion.

lensDistortionCenter ​

cpp
glm::vec2 lensDistortionCenter

Distortion center in screen UV.

pixelateEnabled ​

cpp
bool pixelateEnabled

Enable pixelation.

pixelateBlockSize ​

cpp
int pixelateBlockSize

Block size, pixels, [1, 64].

nightVisionEnabled ​

cpp
bool nightVisionEnabled

Enable the night-vision filter.

nightVisionStrength ​

cpp
float nightVisionStrength

Blend amount, [0, 1].

nightVisionGain ​

cpp
float nightVisionGain

Luminance gain before the phosphor curve (>= 0.05).

ditherEnabled ​

cpp
bool ditherEnabled

Enable output dithering.

ditherStrength ​

cpp
float ditherStrength

Noise amplitude, [0, 0.05] (about 1/255 by default).

thermalEnabled ​

cpp
bool thermalEnabled

Enable the thermal (heat-map palette) filter.

thermalStrength ​

cpp
float thermalStrength

Blend amount, [0, 1].

thermalGain ​

cpp
float thermalGain

Luminance gain before the palette lookup (>= 0.05).

scanlineEnabled ​

cpp
bool scanlineEnabled

Enable CRT scanlines.

scanlineStrength ​

cpp
float scanlineStrength

Scanline darkening, [0, 1].

scanlineFrequency ​

cpp
float scanlineFrequency

Lines per frame height (>= 20).

letterboxEnabled ​

cpp
bool letterboxEnabled

Enable letterbox bars.

letterboxAspect ​

cpp
float letterboxAspect

Target aspect ratio; bars appear when it is wider than the frame.

letterboxColor ​

cpp
glm::vec3 letterboxColor

Bar color (linear RGB).

underwaterEnabled ​

cpp
bool underwaterEnabled

Enable the underwater overlay.

underwaterTint ​

cpp
glm::vec3 underwaterTint

Water color (linear RGB).

underwaterCausticStrength ​

cpp
float underwaterCausticStrength

Caustic intensity (>= 0); 0 disables caustics.

underwaterCausticScale ​

cpp
float underwaterCausticScale

Caustic pattern scale.

underwaterDepthExtinction ​

cpp
float underwaterDepthExtinction

Depth-based fade toward the water color (>= 0).

heatHazeEnabled ​

cpp
bool heatHazeEnabled

Enable heat-haze distortion.

heatHazeStrength ​

cpp
float heatHazeStrength

Distortion amount, [0, 1].

heatHazeFrequency ​

cpp
float heatHazeFrequency

Ripple frequency (>= 0.5).

heatHazeSpeed ​

cpp
float heatHazeSpeed

Ripple animation speed (>= 0).

heatHazeMaxY ​

cpp
float heatHazeMaxY

Screen-UV height (0 = bottom) above which there is no haze, [0, 1].

zoomBlurEnabled ​

cpp
bool zoomBlurEnabled

Enable radial zoom blur.

zoomBlurStrength ​

cpp
float zoomBlurStrength

Blur amount, [0, 1].

zoomBlurCenter ​

cpp
glm::vec2 zoomBlurCenter

Blur center in screen UV.

zoomBlurInnerRadius ​

cpp
float zoomBlurInnerRadius

Sharp radius around the center in UV units, [0, 1].

posterizeEnabled ​

cpp
bool posterizeEnabled

Enable color posterization.

posterizeLevels ​

cpp
int posterizeLevels

Levels per channel, [2, 32].

starburstEnabled ​

cpp
bool starburstEnabled

Enable sun diffraction spikes.

starburstStrength ​

cpp
float starburstStrength

Spike intensity (>= 0).

starburstSpikes ​

cpp
int starburstSpikes

Number of spikes, [1, 16].

starburstAngleOffset ​

cpp
float starburstAngleOffset

Spike rotation, radians.

starburstRadius ​

cpp
float starburstRadius

Spike length in screen UV, [0.01, 1].

starburstTint ​

cpp
glm::vec3 starburstTint

Spike color (linear RGB).


Bloom

Applied in the post-process pass.

bloomEnabled ​

cpp
bool bloomEnabled

Enable bloom (off in every preset; presets still tune the parameters below).

bloomThreshold ​

cpp
float bloomThreshold

Brightness where bloom starts.

bloomStrength ​

cpp
float bloomStrength

Bloom intensity.

bloomRadius ​

cpp
float bloomRadius

Blur radius scale (in source texels).

bloomKnee ​

cpp
float bloomKnee

Soft-threshold width above bloomThreshold.

bloomQuality ​

cpp
int bloomQuality

1 or less: 12-tap gather; 2: 24 taps; 3 or more: 4-level downsample/upsample chain.

bloomSourceClamp ​

cpp
float bloomSourceClamp

Clamp on bloom source color to suppress fireflies; <= 0 disables.

bloomAnamorphic ​

cpp
float bloomAnamorphic

Horizontal stretch of the bloom, [0, 1].

bloomDirtStrength ​

cpp
float bloomDirtStrength

Lens-dirt modulation of the bloom, [0, 1].

bloomDirtScale ​

cpp
float bloomDirtScale

Lens-dirt pattern scale, [0.05, 32].

bloomDirtTexture ​

cpp
unsigned int bloomDirtTexture

Optional GL 2D lens-dirt texture; 0 = none.

bloomBlendMode ​

cpp
GlowBlendMode bloomBlendMode

How bloom is combined with the scene.

bloomMix ​

cpp
float bloomMix

Scene attenuation for GlowBlendMode::Mix, [0, 1].


Post-process debug

postProcessDebugMode ​

cpp
PostProcessDebugMode postProcessDebugMode

Replace the final image with a post-process debug view.


Ambient occlusion

Depth-based SSAO plus an optional short-range contact AO band.

screenSpaceAoEnabled ​

cpp
bool screenSpaceAoEnabled

Enable screen-space ambient occlusion.

screenSpaceAoRadius ​

cpp
float screenSpaceAoRadius

AO sample radius: pixels, or metres when screenSpaceAoRadiusWorldSpace.

screenSpaceAoStrength ​

cpp
float screenSpaceAoStrength

AO darkening strength.

screenSpaceAoBias ​

cpp
float screenSpaceAoBias

Minimum depth difference counted as occlusion.

screenSpaceAoSamples ​

cpp
int screenSpaceAoSamples

AO samples, [4, 24].

screenSpaceAoFalloff ​

cpp
float screenSpaceAoFalloff

Depth range falloff relative to the radius.

screenSpaceAoRadiusWorldSpace ​

cpp
bool screenSpaceAoRadiusWorldSpace

Interpret the AO radii in metres instead of pixels.

screenSpaceAoMaxPixelRadius ​

cpp
float screenSpaceAoMaxPixelRadius

Cap on the projected AO radius, pixels, [1, 256].

screenSpaceAoGeometryAware ​

cpp
bool screenSpaceAoGeometryAware

Weight AO samples by the reconstructed surface normal and distance.

contactAoRadius ​

cpp
float contactAoRadius

Short-range AO radius (same units as screenSpaceAoRadius), >= 0.

contactAoStrength ​

cpp
float contactAoStrength

Short-range AO strength, >= 0.

contactAoSamples ​

cpp
int contactAoSamples

Short-range AO samples, [4, 24].

contactAoFalloff ​

cpp
float contactAoFalloff

Short-range AO falloff, >= 0.001.

screenSpaceAoDenoiseEnabled ​

cpp
bool screenSpaceAoDenoiseEnabled

Apply a depth-aware blur to the AO.

screenSpaceAoDenoiseStrength ​

cpp
float screenSpaceAoDenoiseStrength

Denoise blend amount, [0, 1].

screenSpaceAoDenoiseRadius ​

cpp
int screenSpaceAoDenoiseRadius

1 = 4-tap, 2 = 8-tap denoise kernel.

screenSpaceAoDenoiseDepthSigma ​

cpp
float screenSpaceAoDenoiseDepthSigma

Depth tolerance relative to view depth, >= 0.001.


Screen-space indirect lighting

screenSpaceIndirectLightingEnabled ​

cpp
bool screenSpaceIndirectLightingEnabled

Enable screen-space one-bounce indirect lighting.

screenSpaceIndirectLightingRadius ​

cpp
float screenSpaceIndirectLightingRadius

Gather radius, metres (>= 0).

screenSpaceIndirectLightingStrength ​

cpp
float screenSpaceIndirectLightingStrength

Indirect lighting intensity, [0, 4].

screenSpaceIndirectLightingSamples ​

cpp
int screenSpaceIndirectLightingSamples

Samples, [4, 24].

screenSpaceIndirectLightingFalloff ​

cpp
float screenSpaceIndirectLightingFalloff

Distance falloff exponent factor (>= 0.001).

screenSpaceIndirectLightingNormalRejection ​

cpp
float screenSpaceIndirectLightingNormalRejection

Reject samples whose surface faces away, [0, 1].

screenSpaceIndirectLightingSaturation ​

cpp
float screenSpaceIndirectLightingSaturation

Saturation of the gathered light, [0, 4].


Draw ordering and depth prepasses

opaqueDepthPrepass ​

cpp
bool opaqueDepthPrepass

Depth-only prepass for opaque geometry (skipped for scenes with 16 or fewer opaque draws).

frontToBackOpaqueInstancedOrdering ​

cpp
bool frontToBackOpaqueInstancedOrdering

Sort opaque instanced batches front to back.

foliageAlphaDepthPrepass ​

cpp
bool foliageAlphaDepthPrepass

Depth prepass for alpha-tested foliage (high-fidelity PBR only).


Depth of field

depthOfFieldEnabled ​

cpp
bool depthOfFieldEnabled

Enable depth of field.

depthOfFieldFocusDistance ​

cpp
float depthOfFieldFocusDistance

Focus distance from the camera, metres.

depthOfFieldFocusRange ​

cpp
float depthOfFieldFocusRange

Width of the fully sharp band around the focus distance, metres.

depthOfFieldMaxRadius ​

cpp
float depthOfFieldMaxRadius

Maximum blur (circle of confusion) radius, pixels.


Texture filtering, anti-aliasing and resolution

textureAnisotropy ​

cpp
float textureAnisotropy

Anisotropic filtering level for material textures.

textureMipLodBias ​

cpp
float textureMipLodBias

Mip LOD bias for material textures (positive = blurrier).

viewerMsaaSamples ​

cpp
int viewerMsaaSamples

Scene MSAA sample count (forced to 1 for reprojected TAA).

alphaToCoverage ​

cpp
bool alphaToCoverage

Enable alpha-to-coverage when the scene renders with MSAA.

temporalAaEnabled ​

cpp
bool temporalAaEnabled

Enable temporal anti-aliasing.

temporalAaBlend ​

cpp
float temporalAaBlend

Legacy method: history weight, [0, 0.95].

temporalAaJitterScale ​

cpp
float temporalAaJitterScale

Scale of the sub-pixel projection jitter; 0 disables jitter.

temporalAaMethod ​

cpp
TemporalAaMethod temporalAaMethod

Temporal AA algorithm.

temporalAaCurrentWeight ​

cpp
float temporalAaCurrentWeight

New sample weight for Reprojected; smaller values accumulate more frames. Must be finite and in [0.02, 1] (setRenderQualitySettings() throws otherwise).

temporalAaSharpness ​

cpp
float temporalAaSharpness

Bounded output sharpening; the stored linear history stays unsharpened. Must be finite and in [0, 1] (setRenderQualitySettings() throws otherwise).

viewerRenderScale ​

cpp
float viewerRenderScale

Viewer render resolution scale, [0.25, 1]; below 1 renders low-res then upscales.

viewerUpscaleFilter ​

cpp
ViewerUpscaleFilter viewerUpscaleFilter

Filter used when viewerRenderScale < 1.


Shadow budget, cascades and additional shadows

Additional lights get shadow maps in order of their score, up to shadowedLightBudget - 1. Ranges in brackets are applied by RayraiWindow::setRenderQualitySettings().

shadowsEnabled ​

cpp
bool shadowsEnabled

Master switch for shadow rendering.

shadowedLightBudget ​

cpp
int shadowedLightBudget

Shadowed lights including the main light; budget - 1 additional lights get shadow maps (max 8).

pointShadowPolicy ​

cpp
PointShadowPolicy pointShadowPolicy

Whether point lights can receive shadow maps.

maxPointShadowLights ​

cpp
int maxPointShadowLights

Maximum point lights with shadow cubemaps, [0, 8].

additionalShadowResolutionScale ​

cpp
float additionalShadowResolutionScale

Additional spot/directional/area shadow-map size relative to shadowResolution.

pointShadowResolutionScale ​

cpp
float pointShadowResolutionScale

Point-light cube face size relative to shadowResolution.

minAdditionalShadowResolution ​

cpp
int minAdditionalShadowResolution

Lower bound for additional shadow-map sizes, texels.

shadowSlopeBiasScale ​

cpp
float shadowSlopeBiasScale

Slope-scaled depth bias, [0, 4].

shadowNormalOffset ​

cpp
float shadowNormalOffset

Receiver normal offset for shadow lookups, metres, [0, 0.02].

directionalShadowCascadeCount ​

cpp
int directionalShadowCascadeCount

Directional shadow cascades, [1, 4]; 1 = single shadow map.

directionalShadowCascadeLambda ​

cpp
float directionalShadowCascadeLambda

Split blend, [0, 1]: 0 = uniform, 1 = logarithmic.

directionalShadowCascadeMaxDistance ​

cpp
float directionalShadowCascadeMaxDistance

Shadowed view distance, metres; 0 uses shadowFar.

directionalShadowCascadeSplitOverrides ​

cpp
std::array<float, 4> directionalShadowCascadeSplitOverrides

Explicit split distances (metres) between cascades; used only if strictly increasing within range.

additionalShadowBiasScale ​

cpp
float additionalShadowBiasScale

Additional (non-point) shadow bias = shadowBias * scale.

additionalShadowStrengthScale ​

cpp
float additionalShadowStrengthScale

Directional extras: shadowStrength * scale; spot/area/point: used directly as strength, [0, 1].

additionalShadowPcfRadiusScale ​

cpp
float additionalShadowPcfRadiusScale

Additional shadow PCF radius = shadowPcfRadius * scale.

additionalShadowNormalOffsetScale ​

cpp
float additionalShadowNormalOffsetScale

Additional shadow normal offset relative to shadowNormalOffset, [0, 4].

additionalShadowAtlasPlanningEnabled ​

cpp
bool additionalShadowAtlasPlanningEnabled

Pack additional 2D shadow maps into one atlas.

additionalShadowAtlasResolution ​

cpp
int additionalShadowAtlasResolution

Shadow atlas edge length, texels, [512, 16384].

additionalShadowAtlasPadding ​

cpp
int additionalShadowAtlasPadding

Gap between atlas tiles, texels, [0, 16].

pointShadowBiasScale ​

cpp
float pointShadowBiasScale

Point-light shadow bias = shadowBias * scale.

pointShadowFar ​

cpp
float pointShadowFar

Point-light shadow far plane, metres.

updateShadowsEveryFrame ​

cpp
bool updateShadowsEveryFrame

Re-render shadow maps every frame; otherwise only when the scene, light or camera moves enough.


Additional-light selection

maxAdditionalLightsPerFrame ​

cpp
int maxAdditionalLightsPerFrame

Additional lights shaded per frame, [0, 16], chosen by influence near the view.

minAdditionalLightInfluence ​

cpp
float minAdditionalLightInfluence

Additional lights with an influence score at or below this are skipped.

additionalLightContributionThreshold ​

cpp
float additionalLightContributionThreshold

Opt-in total scene-linear incident-radiance cutoff budget for local additional lights, before the material BRDF and exposure. Zero preserves unlimited lighting exactly. Not a bound on final HDR/specular pixel error. The budget is divided among uploaded lights; fade starts below that share.


Reflection probes and local irradiance

Probe filter sizes are used when a probe is captured with captureFilteredReflectionProbe() without explicit filter settings.

maxReflectionProbesPerSelection ​

cpp
int maxReflectionProbesPerSelection

Reflection probes blended per object, [1, 2].

minReflectionProbeWeight ​

cpp
float minReflectionProbeWeight

Probes with a weight at or below this are ignored.

reflectionProbeDebugOverlayEnabled ​

cpp
bool reflectionProbeDebugOverlayEnabled

Show the ImGui reflection-probe debug overlay.

reflectionProbeFilteringEnabled ​

cpp
bool reflectionProbeFilteringEnabled

Filter captured probes (irradiance, prefiltered specular, BRDF LUT) on the CPU.

reflectionProbeIrradianceResolution ​

cpp
int reflectionProbeIrradianceResolution

Probe irradiance face size, [0, 128]; 0 skips it.

reflectionProbeIrradianceSamples ​

cpp
int reflectionProbeIrradianceSamples

Samples per irradiance texel (>= 0).

reflectionProbePrefilteredResolution ​

cpp
int reflectionProbePrefilteredResolution

Probe prefiltered-specular face size, [0, 512]; 0 skips it.

reflectionProbePrefilteredMipLevels ​

cpp
int reflectionProbePrefilteredMipLevels

Prefiltered roughness mip levels (>= 0).

reflectionProbePrefilteredSamples ​

cpp
int reflectionProbePrefilteredSamples

Samples per prefiltered texel (>= 0).

reflectionProbeBrdfLutSize ​

cpp
int reflectionProbeBrdfLutSize

Probe BRDF LUT size, [0, 512]; 0 skips it.

reflectionProbeBrdfLutSamples ​

cpp
int reflectionProbeBrdfLutSamples

Samples per BRDF LUT texel (>= 0).

localDiffuseIrradianceIntensity ​

cpp
float localDiffuseIrradianceIntensity

Intensity of local diffuse irradiance, [0, 4].

localDiffuseIrradianceSaturation ​

cpp
float localDiffuseIrradianceSaturation

Saturation of local diffuse irradiance, [0, 4].


Imported lights

autoSelectImportedShadowLight ​

cpp
bool autoSelectImportedShadowLight

Promote the dominant imported scene light to the main shadow caster on import.


Transparency and refraction

sortTransparentInstances ​

cpp
bool sortTransparentInstances

Sort transparent instances back to front.

weightedBlendedOit ​

cpp
bool weightedBlendedOit

Use weighted blended order-independent transparency (requires MSAA off).

transparentDepthPrepass ​

cpp
bool transparentDepthPrepass

Depth prepass for transparent geometry.

transparentShadowDithering ​

cpp
bool transparentShadowDithering

Transparent casters write dithered (partial) shadows.

transparentShadowOpacityScale ​

cpp
float transparentShadowOpacityScale

Opacity multiplier for transparent shadow casters, [0, 4].

screenSpaceRefraction ​

cpp
bool screenSpaceRefraction

Opaque-scene transmission for glass. Resolves MSAA before sampling; HDR is recommended. Does not trace through other transparent layers or exit faces.

screenSpaceRefractionStrength ​

cpp
float screenSpaceRefractionStrength

Refraction offset strength, [0, 1].

screenSpaceRefractionMaxPixels ​

cpp
float screenSpaceRefractionMaxPixels

Maximum refraction offset, pixels, [0, 96].

geometryRefraction ​

cpp
bool geometryRefraction

Opt-in portable triangle tracing. Positive material thickness denotes a closed volume, but distances come from geometry, not the thickness factor.

geometryRefractionBackend ​

cpp
GeometryRefractionBackend geometryRefractionBackend

Automatic tries Vulkan hardware BVH traversal, then falls back to OpenGL. VulkanRayQuery explicitly requires that backend (errors do not silently fall back).

geometryRefractionSamples ​

cpp
int geometryRefractionSamples

Paths per pixel per frame, 1..64.

geometryRefractionMaxBounces ​

cpp
int geometryRefractionMaxBounces

Physical scattering events, 1..128.

geometryRefractionProgressive ​

cpp
bool geometryRefractionProgressive

Accumulate samples over frames while the view and scene are unchanged.

geometryRefractionMaxSamples ​

cpp
int geometryRefractionMaxSamples

Per-pixel sample cap for progressive accumulation, [1, 1048576].

geometryRefractionLowDiscrepancy ​

cpp
bool geometryRefractionLowDiscrepancy

Use quasi-Monte-Carlo sample sequences.

geometryRefractionAdaptive ​

cpp
bool geometryRefractionAdaptive

Stop sampling converged pixels (needs geometryRefractionProgressive).

geometryRefractionMinSamples ​

cpp
int geometryRefractionMinSamples

Samples before a pixel may stop adaptively, [16, 1048576].

geometryRefractionRelativeError ​

cpp
float geometryRefractionRelativeError

Adaptive relative error target, [0.02, 1].

geometryRefractionAbsoluteError ​

cpp
float geometryRefractionAbsoluteError

Adaptive absolute error target, [0.001, 1e6].

geometryRefractionSeed ​

cpp
int geometryRefractionSeed

Random seed (>= 0).

geometryRefractionRevision ​

cpp
unsigned int geometryRefractionRevision

Increment after editing a texture/environment in place to reset history.

transparentFogAlphaWeighted ​

cpp
bool transparentFogAlphaWeighted

Scale fog on transparent surfaces by their alpha.

transparentFogStrength ​

cpp
float transparentFogStrength

Fog amount on transparent surfaces, [0, 1].


Weather materials

Wet and snow material overrides for PBR and foliage shaders. Weather overwrites these fields while it is enabled.

weatherWetMaterialEnabled ​

cpp
bool weatherWetMaterialEnabled

Enable wet-surface shading.

weatherWetness ​

cpp
float weatherWetness

Wetness, [0, 1].

weatherPuddleStrength ​

cpp
float weatherPuddleStrength

Puddle amount, [0, 1].

weatherRainRippleStrength ​

cpp
float weatherRainRippleStrength

Rain ripples in puddles, [0, 1].

weatherRainRippleScale ​

cpp
float weatherRainRippleScale

Ripple pattern scale, [0.1, 128].

weatherRainRipplePhase ​

cpp
float weatherRainRipplePhase

Ripple animation phase; advance it to animate.

weatherWetAlbedoDarkening ​

cpp
float weatherWetAlbedoDarkening

Albedo darkening when wet, [0, 0.85].

weatherWetRoughnessScale ​

cpp
float weatherWetRoughnessScale

Roughness multiplier when wet, [0.04, 1].

weatherWetSpecularBoost ​

cpp
float weatherWetSpecularBoost

Specular boost when wet, [0, 1].

weatherSnowMaterialEnabled ​

cpp
bool weatherSnowMaterialEnabled

Enable snow-cover shading.

weatherSnowCoverage ​

cpp
float weatherSnowCoverage

Snow coverage, [0, 1].

weatherSnowAccumulationStrength ​

cpp
float weatherSnowAccumulationStrength

Snow accumulation strength, [0, 1].

weatherSnowAlbedoBlend ​

cpp
float weatherSnowAlbedoBlend

Blend toward snow albedo, [0, 1].

weatherSnowRoughness ​

cpp
float weatherSnowRoughness

Roughness of snow, [0.04, 1].

weatherSnowMetallicScale ​

cpp
float weatherSnowMetallicScale

Metallic multiplier under snow, [0, 1].

weatherSnowNormalSoftening ​

cpp
float weatherSnowNormalSoftening

Normal-map softening under snow, [0, 1].


Foliage wind

foliageWindEnabled ​

cpp
bool foliageWindEnabled

Animate foliage vertices with wind.

foliageWindDirection ​

cpp
glm::vec2 foliageWindDirection

Wind direction in world XY (normalized; zero becomes +X).

foliageWindSpeed ​

cpp
float foliageWindSpeed

Wind speed, [0, 80].

foliageWindTimeSeconds ​

cpp
float foliageWindTimeSeconds

Wind animation time, seconds; see RayraiWindow::advanceFoliageWindTime().

foliageWindGustStrength ​

cpp
float foliageWindGustStrength

Gust amplitude, [0, 4].

foliageWindGustScale ​

cpp
float foliageWindGustScale

Gust spatial scale, [0.001, 64].

foliageWindBranchBend ​

cpp
float foliageWindBranchBend

Branch bending amount, [0, 2].

foliageWindLeafFlutter ​

cpp
float foliageWindLeafFlutter

Leaf flutter amount, [0, 2].


Viewer fill lights

addViewerFillLights ​

cpp
bool addViewerFillLights

Add a viewer fill light and a warm rim point light (as additional lights) when settings are applied.

RaiSim — physics for robotics and AI.