IOptions

Functions

SET_CID

RED_RC

SetAllDefaultOptions

bool

GetCelestialBodiesPathsDisplay

void

SetCelestialBodiesPathsDisplay

double

GetStarInTheSkyFOVRatio

void

SetStarInTheSkyFOVRatio

double

GetCloseOrbitFOVRatio

void

SetCloseOrbitFOVRatio

double

GetPlanetPatchOnScreenSplitSize

void

SetPlanetPatchOnScreenSplitSize

double

GetPlanetPatchOffScreenSplitSize

void

SetPlanetPatchOffScreenSplitSize

bool

GetTrianglesFillMode

void

SetTrianglesFillMode

void

SetDisplayMode

DISPLAY_MODE

GetDisplayMode

void

SetStarCSMSize

void

GetStarCSMSize

void

SetStarCSMBlur

int

GetStarCSMBlur

void

SetStarCSMAlphaThreshold

double

GetStarCSMAlphaThreshold

RED_RC

SetStarCSMRange

double

GetStarCSMRange

RED_RC

SetStarCSMBias

void

GetStarCSMBias

void

SetStarCSMOverlap

double

GetStarCSMOverlap

int

GetStarCSMCount

void

SetSkyReflectanceMultiplier

double

GetSkyReflectanceMultiplier

bool

GetAtmosphericLandscapeShadows

void

SetAtmosphericLandscapeShadows

bool

GetAtmosphericCloudShadows

void

SetAtmosphericCloudShadows

int

GetAtmosphericSamples

void

SetAtmosphericSamples

double

GetAtmosphericGamma

void

SetAtmosphericGamma

void

SetStarGIStrengthInShadows

double

GetStarGIStrengthInShadows

void

SetPrismsShadowRange

int

GetPrismsShadowRange

void

ForcePrismsRealMeshShadows

bool

IsForcedPrismsRealMeshShadows

void

SetPrismsMeshFadeOffset

double

GetPrismsMeshFadeOffset

void

SetPrismsDensity

double

GetPrismsDensity

double

GetMaxPrismsDensity

void

SetPrismsExactSpawn

bool

GetPrismsExactSpawn

void

SetPrismsSpawnOffset

int

GetPrismsSpawnOffset

void

SetPrismsFadeDistances

void

GetPrismsFadeDistances

void

SetPrismsSplatOverlap

double

GetPrismsSplatOverlap

void

SetPrismsPassesCount

int

GetPrismsPassesCount

void

SetSnowColor

void

GetSnowColor

void

SetCloudsFadeDistances

void

GetCloudsFadeDistances

void

SetCloudsDensity

double

GetCloudsDensity

double

GetMaxCloudsDensity

void

SetCloudsRenderingResolution

int

GetCloudsRenderingResolution

void

SetCloudsRelighting

double

GetCloudsRelighting

void

SetFullSceneAntiAliasing

int

GetFullSceneAntiAliasing

void

SetAntiAliasing

int

GetAntiAliasing

void

SetAntiAliasingMotionThreshold

double

GetAntiAliasingMotionThreshold

void

SetAntiAliasingAlphaMin

double

GetAntiAliasingAlphaMin

void

SetAntiAliasingAlphaMax

double

GetAntiAliasingAlphaMax

void

SetGISamplesSpread

double

GetGISamplesSpread

double

GetPlanetResolution

RED_RC

SetPlanetResolution

double

GetPlanetLandscapeOpsTime

void

SetPlanetLandscapeOpsTime

int

GetThreadsCount

void

SetThreadsCount

int

GetPlanetLandscapeThreadsCount

void

SetPlanetLandscapeThreadsCount

double

GetGeometryGIUpdateTime

void

SetGeometryGIUpdateTime

void

SetSSAO

bool

HasSSAO

void

SetSSAORadius

double

GetSSAORadius

void

SetSSAOSamplesCount

int

GetSSAOSamplesCount

void

SetSSRStrength

double

GetSSRStrength

void

SetSSRRayResolution

double

GetSSRRayResolution

void

SetSSRBorderFade

int

GetSSRBorderFade

void

SetSSRCameraFade

double

GetSSRCameraFade

void

SetSSRObjectThickness

double

GetSSRObjectThickness

void

SetSSRRefiningSteps

int

GetSSRRefiningSteps

void

SetSSRRenderingResolution

int

GetSSRRenderingResolution

Detailed Description

class IOptions : public RED::IREDObject

Planetary system options.

The CID_ARTWorld class object (the world singleton) implements the ART::IOptions interface. This interface lets you control all the settings available in the planetary engine.

Public Functions

SET_CID(CID_class_ARTIOptions)
virtual RED_RC SetAllDefaultOptions() = 0

Sets all options default values.

Returns

RED_OK if the method has succeeded,

RED_ALLOC_FAILURE if a memory allocation has failed.

virtual bool GetCelestialBodiesPathsDisplay() const = 0
Returns

True if celestial bodies trajectories are to be displayed, false otherwise.

virtual void SetCelestialBodiesPathsDisplay(bool iOnOff) = 0

Enable or disable the display of celestial bodies trajectories.

Parameters

iOnOff – Set to true to display celestial bodies path, false to hide them.

virtual double GetStarInTheSkyFOVRatio() const = 0
Returns

The maximal ratio of the observer’s field of view that can be occupied by a body screen projection to be visible using ‘star in the sky’ graphics.

virtual void SetStarInTheSkyFOVRatio(double iStarFOVRatio) = 0

Define the field of view for switching to ‘star in the sky’ graphics.

A planetary body has three graphics display:

  • A ‘star in the sky’ representation when it’s seen from a very far distance like a star in the sky.

  • A ‘far away’ representation which allow for more details.

  • A ‘close orbit’ representation for detailed walkthroughs.

Switching among these graphics mode is based on the visible size of the planetary body on screen. A percentage of the field of view determines when the engine has to switch graphics.

Parameters

iStarFOVRatio – Below this FOV percentage value, the planetary body will be rendered using ‘star in the sky’ graphics. iStarFOVRatio is silently clamped to [ 0.0, 1.0 ].

virtual double GetCloseOrbitFOVRatio() const = 0
Returns

The maximal ratio of the observer’s FOV that can be occupied by a body screen projection to be visible using ‘close orbit’ graphics.

virtual void SetCloseOrbitFOVRatio(double iCloseFOVRatio) = 0

Define the field of view for switching to ‘close orbit’ graphics.

A planetary body has three graphics display:

  • A ‘star in the sky’ representation when it’s seen from a very far distance like a star in the sky.

  • A ‘far away’ representation which allow for more details.

  • A ‘close orbit’ representation for detailed walkthroughs.

Switching among these graphics mode is based on the visible size of the planetary body on screen. A percentage of the field of view determines when the engine has to switch graphics.

Parameters

iCloseFOVRatio – Above this FOV percentage value, the planetary body will be rendered using ‘close orbit’ graphics. iCloseFOVRatio is silently clamped to [ 0.0, 1.0 ].

virtual double GetPlanetPatchOnScreenSplitSize() const = 0
Returns

The onscreen pixel size of a patch above which it gets splitted.

virtual void SetPlanetPatchOnScreenSplitSize(double iSplitSize) = 0

Define the planet ‘on screen’ patch split pixel size.

Parameters

iSplitSize – The new ‘on screen’ planet patch split size value. The provided value is clamped to 1.0 if it’s lower than 1.0.

virtual double GetPlanetPatchOffScreenSplitSize() const = 0
Returns

The offscreen pixel size of a patch above which it gets splitted.

virtual void SetPlanetPatchOffScreenSplitSize(double iSplitSize) = 0

Define the planet ‘off screen’ patch split pixel size.

Parameters

iSplitSize – The new ‘off screen’ planet patch split size value. he provided value is clamped to 1.0 if it’s lower than 1.0.

virtual bool GetTrianglesFillMode() const = 0
Returns

false if triangles are displayed using lines, true if triangles are displayed as filled polygons.

virtual void SetTrianglesFillMode(bool iFillMode) = 0

Show rendered triangles on / off.

Parameters

iFillMode – if false, all the rendered triangles are rendered using lines, so they don’t appear filled. If true, triangles are rendered as filled, plain, polygons.

virtual void SetDisplayMode(ART::DISPLAY_MODE iDisplayMode) = 0

Sets the global world display mode.

Parameters

iDisplayMode – The new display mode to use.

virtual ART::DISPLAY_MODE GetDisplayMode() const = 0
Returns

The current display mode for the world.

virtual void SetStarCSMSize(int iSize) = 0

Sets the dimensions of the star cascaded shadow maps.

The star cascaded shadow map has dimensions based on the specified iSize. Depending on the aspect ratio of the world region to cover, the star CSM’s maximal pixel size is set to iSize and the other dimension of the star CSM is automatically adjusted.

Parameters

iSize – Pixel width of the star cascaced shadow map. Silently clamped to [ 1, 8192 ].

virtual void GetStarCSMSize(int &oSize) const = 0

Access the dimensions of each star cascaded shadow map.

Parameters

oSize – Pixel size of the star cascaded shadow map.

virtual void SetStarCSMBlur(int iBlur) = 0

Sets the blurring effect of the star cascaded shadow maps.

Parameters

iBlur – Size of the blur kernel used to blur shadows generated by the star CSMs. The range of blur values is [ 1, 20 ]. iBlur is silently clamped to these bounds.

virtual int GetStarCSMBlur() const = 0
Returns

The blur amount of the star cascaded shadow maps.

virtual void SetStarCSMAlphaThreshold(double iAlpha) = 0

Sets the alpha shadowing threshold of the star cascaded shadow maps.

This is the alpha value of transparent geometries above which they’re casting shadows.

Parameters

iAlpha – Alpha threshold in [ 0.01, 1.0 ].

virtual double GetStarCSMAlphaThreshold() const = 0
Returns

The shadowing alpha threshold of the star cascaded shadow maps.

virtual RED_RC SetStarCSMRange(double iRange, int iNumber) = 0

Define the range of a star cascaded shadow map.

The specified iNumber CSM starts at the effect distance of the previous CSM and ends at iRange. The first CSM starts at 1 meter from the observer. If the specified ranges are not increasing with iNumber, then the world simulation will return an error.

Parameters
  • iRange – The shadow map maximal effect range in meters.

  • iNumber – The number of the CSM to setup.

Returns

RED_OK if the method has succeeded,

RED_BAD_PARAM if iNumber is invalid.

virtual double GetStarCSMRange(int iNumber) const = 0
Parameters

iNumber – The number of the CSM to access.

Returns

The range of a given star cascaded shadow map. 1.0 if iNumber is below zero, the max range if iNumber is too large.

virtual RED_RC SetStarCSMBias(double iExponent, double iScale) = 0

Define the bias of star cascaded shadow maps.

Shadow bias is applied as a geometry shifting factor based on the distance between the shadowing geometry and the observer. The square distance is computed d2 and then bias = iScale * pow( d2, iExponent );

Parameters
  • iExponent – The power function exponent applied to distance between observer and geometry.

  • iScale – The scaling function applied to distance between observer an geometry.

Returns

RED_OK if the method has succeeded,

RED_BAD_PARAM if iExponent or iScale are negative.

virtual void GetStarCSMBias(double &oExponent, double &oScale) const = 0

Get the bias of star cascaded shadow maps.

Parameters
  • oExponent – The power function exponent applied to distance between observer and geometry.

  • oScale – The scaling function applied to distance between observer an geometry.

virtual void SetStarCSMOverlap(double iOverlap) = 0

Define the overlap amount between star cascaded shadow maps.

Star cascaded shadow maps can be set with an overlapping percentage that smoothes their transitions.

Parameters

iOverlap – Overlap amount in percentage. Increasing this value smoothes the transition between shadow maps, but also reduces the accuracy of each shadow map. Value in [0.0, 0.4].

virtual double GetStarCSMOverlap() const = 0
Returns

The amount of overlap among star cascaded shadow maps.

virtual int GetStarCSMCount() const = 0
Returns

The number of available star cascaded shadow maps.

virtual void SetSkyReflectanceMultiplier(double iMult) = 0

Sets the reflectance multiplier applied on the sky reflections.

This affects the intensity of the reflected sky on the ground.

Parameters

iMult – Multiplier value in [ 0.0, inf [. Silently clamped to positive values.

virtual double GetSkyReflectanceMultiplier() const = 0
Returns

The sky reflectance multiplier.

virtual bool GetAtmosphericLandscapeShadows() const = 0
Returns

true if landscape shadows over the atmosphere are enabled, false otherwise.

virtual void SetAtmosphericLandscapeShadows(bool iShadows) = 0

Toggle the sky landscape shadows over the atmosphere.

Enabling sky landscape shadows adds shadow casting of the landscape and vegetation over the atmosphere, resulting in a higher realism, resulting in a higher rendering cost.

virtual bool GetAtmosphericCloudShadows() const = 0
Returns

true if cloud shadows over the atmosphere are enabled, false otherwise.

virtual void SetAtmosphericCloudShadows(bool iShadows) = 0

Toggle the sky cloud shadows over the atmosphere.

Enabling sky cloud shadows adds shadow casting of the clouds over the atmosphere, resulting in a higher realism, resulting in a higher rendering cost.

virtual int GetAtmosphericSamples(ART::ATMOSPHERIC_SAMPLE iSample) const = 0
Parameters

iSample – The category of samples processed.

Returns

The number of atmospheric samples used for the rendering of the atmosphere for a given category of effects.

virtual void SetAtmosphericSamples(ART::ATMOSPHERIC_SAMPLE iSample, int iCount) = 0

Sets the number of atmospheric samples used for the rendering of the atmosphere for a given category of effects.

Parameters
  • iSample – The category of samples processed.

  • iCount – The number of samples.

virtual double GetAtmosphericGamma() const = 0
Returns

The atmospheric gamma transform.

virtual void SetAtmosphericGamma(double iGamma) = 0

Sets the atmospheric gamma transform.

The atmosphere has a specific extra gamma transform that can be applied to it’s in-scattering term. This can be used to compensate low sampling rates of the sky to avoid getting dark horizons.

Usual ranges for this setting are in 0.5 - 5.0.

Parameters

iGamma – Gamma values in [ 0.01, inf [.

virtual void SetStarGIStrengthInShadows(double iGIShadowStrength) = 0

Sets the amount of star GI in shadows.

This method controls the strength of the amount of global illumination of indirect bounces produced by the sunlight. The real-time shading approximates the sun global illumination in lit and shadowed areas using different methods. This parameter controls the strength of the sun global illumination in shadowed areas.

Parameters

iGIShadowStrength – A value in [ 0.0, 1.0 ]. Default is 0.25.

virtual double GetStarGIStrengthInShadows() const = 0
Returns

the strength of the GI term used in areas not directly illuminated by the sunlight.

virtual void SetPrismsShadowRange(ART::PRISM_TYPE iType, int iMaxCSM) = 0

Define the shadowing range of prisms.

This sets the number of cascaded shadow maps (starting from the closest CSM number 0 up to the specified iMaxCSM number) that’ll cast shadows for the corresponding prisms.

Parameters
  • iType – The considered type of prisms.

  • iMaxCSM – Defines the list of CSMs that’ll cast shadows for the prisms in [ 0, iMaxCSM [ excluded.

virtual int GetPrismsShadowRange(ART::PRISM_TYPE iType) const = 0
Parameters

iType – The type of prisms to consider.

Returns

The shadowing range for the requested iType of prisms.

virtual void ForcePrismsRealMeshShadows(ART::PRISM_TYPE iType, bool iRealShadows) = 0

Force real mesh shadows to be used for a given category of prisms.

Parameters
  • iType – The considered type of prisms.

  • iRealShadows – If true, real mesh shadows are forced, if false, the real mesh shadow setting for the prism is used.

virtual bool IsForcedPrismsRealMeshShadows(ART::PRISM_TYPE iType) const = 0
Parameters

iType – The type of prisms to consider.

Returns

true if real mesh shadows are forced on for the considered category of prisms.

virtual void SetPrismsMeshFadeOffset(ART::PRISM_TYPE iType, double iOffset) = 0

Shift the prism meshes display distance.

This method can be used to globally shift the display distances of all prisms meshes in a category of prisms.

Parameters
  • iType – The considered type of prisms.

  • iOffset – The distance offset (in meters) to apply. Can be positive or negative.

virtual double GetPrismsMeshFadeOffset(ART::PRISM_TYPE iType) const = 0
Parameters

iType – The considered type of prisms.

Returns

The prism meshes fade offset for the considered category of prisms.

virtual void SetPrismsDensity(ART::PRISM_TYPE iType, double iDensity) = 0

Define the prisms density.

This value defines the overall prism density that are spawned. 1.0 is normal density, that can be strengthened or lowered. The default density is 8.0.

Parameters
  • iType – The type of prisms whose density is to be modified.

  • iDensity – Density value in [ 0.0, 16.0 ]. Any value is silently clamped to these bounds.

virtual double GetPrismsDensity(ART::PRISM_TYPE iType) const = 0
Parameters

iType – The type of prisms whose density is searched for.

Returns

The current prisms density for the requested iType of prisms.

virtual double GetMaxPrismsDensity() const = 0
Returns

The maximal possible prism density. Applies to all types of prisms.

virtual void SetPrismsExactSpawn(ART::PRISM_TYPE iType, bool iExact) = 0

Define the prisms spawning method.

If set to true, prisms are accurately scattered over the landscape. When false (the default), prisms are scattered using an approximative method that can lead to a lower amount of representation of prisms in thin densities areas.

Parameters
  • iType – The type of prisms whose spawning method is to be modified.

  • iExact – Set to true for an accurate prisms placement, false to use a faster method.

virtual bool GetPrismsExactSpawn(ART::PRISM_TYPE iType) const = 0
Parameters

iType – The type of prisms whose spawning method is searched for.

Returns

The current prisms spawning method for the requested iType of prisms.

virtual void SetPrismsSpawnOffset(ART::PRISM_TYPE iType, int iOffset) = 0

Modify the prisms spawning distance.

This parameter can be set to modify the distance at which prisms are seeded over the landscape. The specified value is an offset added to the initial patch depth at which the selected category of prisms get spawned over the landscape. Increasing the value increases the display depth thus spawning prisms from a closer distance. This reduces the workload of spawning prisms and also may constraint some prisms in size. Decreasing the value decreases the display depth thus spawning prisms from farther away. This increases the prisms workload, make prisms splats visible from farther away too. This relaxes size constraints on prisms.

Parameters
  • iType – The type of prisms whose spawning distance.

  • iOffset – The spawning depth offset.

virtual int GetPrismsSpawnOffset(ART::PRISM_TYPE iType) const = 0
Parameters

iType – The type of prisms whose spawning offset is searched for.

Returns

The current prisms spawning offset for the requested iType of prisms.

virtual void SetPrismsFadeDistances(ART::PRISM_TYPE iType, double iFadeStart, double iFadeEnd) = 0

Define the prisms fade distances in meters.

This value defines the prism fading distances. Prisms of iType start fading out at iFadeStart and have disappeared at iFadeEnd.

Parameters
  • iType – The type of prisms whose distances is to be modified.

  • iFadeStart – Startup fading distance. Silently forced to be greater than or equal to 0.

  • iFadeEnd – End fading distance, must be greater than iFadeStart. If not, the value is silently set to iFadeStart.

virtual void GetPrismsFadeDistances(double &oFadeStart, double &oFadeEnd, ART::PRISM_TYPE iType) const = 0

Get prisms fading distances.

Parameters
  • oFadeStart – Startup fading distance.

  • oFadeEnd – End fading distance.

  • iType – The type of prisms whose fade distances are searched for.

virtual void SetPrismsSplatOverlap(ART::PRISM_TYPE iType, double iOverlap) = 0

Define the prisms splat overlap area with prisms.

This value in meters defines the overlap area between the prism and the splat. At zero meters, at the prisms ending fade distance, splats appear entirely. At a distance greater than zero meters, splats start appearing at the prisms end fade distance minus iOverlapDistance and are fully appeared at the prisms end fade distance.

Parameters
  • iType – The type of prisms whose overlap distance is to be modified.

  • iOverlap – The overlap distance of splats with prisms in meters.

virtual double GetPrismsSplatOverlap(ART::PRISM_TYPE iType) const = 0
Parameters

iType – The type of prisms whose overlap distance is searched for.

Returns

The prisms splat distance overlap for the specified iType of prisms.

virtual void SetPrismsPassesCount(int iCount) = 0

Define the number of passes used for the rendering of prisms.

Reducing the number of passes will improve display performance at the expense of a loss in the visual quality of rendered plants. The default is to use 3 rendering passes for prisms.

Parameters

iCount – The number of rendering passes in [ 1, 3 ]. The provided value is clamped to these bounds.

virtual int GetPrismsPassesCount() const = 0
Returns

The number of rendering passes used to render prisms.

virtual void SetSnowColor(const RED::Color &iColor, float iReflectance) = 0

Sets the color and reflectance of snow.

Parameters
  • iColor – The RGB snow color in [ 0.0, 1.0 ]

  • iReflectance – The snow reflectance factor in [ 0.0, 1.0 ].

virtual void GetSnowColor(RED::Color &oColor, float &oReflectance) = 0

Get the snow color and reflectance.

Parameters
  • oColor – The RGB snow color in [ 0.0, 1.0 ]

  • oReflectance – The snow reflectance factor in [ 0.0, 1.0 ].

virtual void SetCloudsFadeDistances(double iFadeStart, double iFadeEnd) = 0

Define the clouds fade distances.

Parameters
  • iFadeStart – Startup fading distance. Silently forced to be greater than or equal to 0.

  • iFadeEnd – End fading distance, must be greater than iFadeStart. If not, the value is silently set to iFadeStart.

virtual void GetCloudsFadeDistances(double &oFadeStart, double &oFadeEnd) const = 0

Get clouds fading distances.

Parameters
  • oFadeStart – Startup fading distance.

  • oFadeEnd – End fading distance.

virtual void SetCloudsDensity(double iDensity) = 0

Sets the clouds density.

This is a global scaling factor applied to clouds to control the global clouds density.

Parameters

iDensity – Density value in [ 0.0, 16.0 ]. Any value is silently clamped to these bounds.

virtual double GetCloudsDensity() const = 0
Returns

The clouds density.

virtual double GetMaxCloudsDensity() const = 0
Returns

The maximal possible clouds density.

virtual void SetCloudsRenderingResolution(int iScale) = 0

Sets the clouds rendering resolution.

Sets the clouds downscaling factor in [ 1, 4 ]. The cloud rendering resolution is lowered by 1 << iScale. So setting iScale to 2 reduces the rendering resolution of clouds by 2 in width and height, so 1/4 pixels.

Parameters

iScale – values 1 = x1 rendering, 2 = x1/4, 3 = x1/9, 4 = x1/16.

virtual int GetCloudsRenderingResolution() const = 0
Returns

The clouds rendering resolution downscale factor.

virtual void SetCloudsRelighting(double iRelighting) = 0

Setup the sky relighting amount generated by clouds and clouds covers.

This percentage is a relighting effect generated by clouds and clouds covers resulting of the absorption of the sunlight by clouds and clouds covers. It brightens cloudy shadowed regions.

Parameters

iRelighting – The percentage of relighting in [ 0.0, 1.0 ]. Silently clamped to these boudaries.

virtual double GetCloudsRelighting() const = 0
Returns

The amount of clouds relighting in use.

virtual void SetFullSceneAntiAliasing(int iScale) = 0

Apply a rendered image scaling to the rendered images.

This method can be used to render larger images than actually requested. By setting a scale to x2 x3 or x4, the initial rendered image size will be increased by x2 x3 or x4. For instance rendering a 1920 x 1080 image with a x2 scale renders a 3840 x 2160 real image.

Scaled images are downsized before display or are accessed “as is” if offscreen rendering is enabled.

Modifying FSAA does not change the size of kernels used by the post process camera, that may need to be rescaled accordingly by the calling application.

A change in the FSAA setting has a one frame delay before being actually visible.

Parameters

iScale – Scaling factor to apply to rendered images resolution in [ 1, 4 ]. Default is 1 (no scaling). iScale is clamped to [ 1, 4 ] by the method.

virtual int GetFullSceneAntiAliasing() const = 0
Returns

The resolution super sampling factor applied to our rendered images in [ 1, 4 ].

virtual void SetAntiAliasing(int iAA) = 0

Sets the temporal anti-aliasing level for the deferred pipeline.

This method sets the level of AA in use for the entire deferred pipeline. The value if iAA is turned into the square number of samples. iAA = 4 means 4 x 4 = 16 sub samples per pixel. The AA for the deferred pipeline is a temporal anti-aliasing.

Parameters

iAA – New temporal AA value for the deferred pipeline, in [ 1, 8 ]. iAA is clamped to these bounds.

virtual int GetAntiAliasing() const = 0
Returns

The current anti-aliasing level for the deferred pipeline.

virtual void SetAntiAliasingMotionThreshold(double iThreshold) = 0

Defines the anti-aliasing motion threshold.

The anti-aliasing motion threshold defines how much the temporal samples accumulation can be reduced in image areas that exhibit strong differences in motion (for instance with moving objects or after camera movements that change the visibility in an image). A low value of this value increases the ghosting effects of the temporal anti-aliasing and tend to generate smoother variations in the image, while higher values will show less ghosting and more flickering in the image.

Starting values for this setting are in the 0.1 - 0.7 range. Default is 0.4.

Parameters

iThreshold – A value in [ 0.0, inf [.

virtual double GetAntiAliasingMotionThreshold() const = 0
Returns

The anti-aliasing motion threshold value.

virtual void SetAntiAliasingAlphaMin(double iAlphaMin) = 0

Define the anti-aliasing frame to frame accumulation factor.

This ‘alpha’ value defines the accumulation factor of the current frame vs. the history of all frames that were rendered before. The accumulation is color = alpha * color( n ) + ( 1 - alpha ) * color( n - 1 ).

The temporal anti-aliasing algorithm may dynamically change the alpha used for frame to frame accumulation and increase it up to the maximal alpha value defined by ART::IOptions::SetAntiAliasingAlphaMax.

Larger values for this setting reduce the ghosting but increase flickering.

The startup value for this setting is 0.1. Usual range is in 0.05 - 0.2.

Parameters

iAlphaMin – A value in [ 0.01, 1.0 ]. Silently clamped to the current maximal alpha value.

virtual double GetAntiAliasingAlphaMin() const = 0
Returns

The anti-aliasing frame to frame accumulation factor.

virtual void SetAntiAliasingAlphaMax(double iAlphaMax) = 0

Define the maximal anti-aliasing frame to frame accumulation factor.

This alpha value must be greater than the alpha value set using ART::IOptions::SetAntiAliasingAlphaMin. It defines, with the minimal alpha value, the range of variations used by the temporal anti-aliasing to integrate a new frame contribution to the final image.

Larger values for this setting reduce the ghosting but increase flickering.

The startup value for this setting is 0.8. Usual range is in 0.5 - 1.0.

Parameters

iAlphaMax – A value in [ alpha_min, 1.0 ]. Silently clamped to the current minimal alpha.

virtual double GetAntiAliasingAlphaMax() const = 0
Returns

The maximal anti-aliasing frame to frame accumulation factor.

virtual void SetGISamplesSpread(double iSpread) = 0

Sets the spreading of GI cache samples used by geometries.

Parameters

iSpread – The spread factor to use in [ 0.01, 4.0 ]. Default is 1.0.

virtual double GetGISamplesSpread() const = 0
Returns

The spreading factor of GI cache samples used by geometries.

virtual double GetPlanetResolution() const = 0
Returns

The finest resolution of a planet, in meters. Default is 1 centimeter.

virtual RED_RC SetPlanetResolution(double iResolution) = 0

Set the resolution of a planet.

This option value must be set before the simulation startup.

Parameters

iResolution – The finest resolution of a planet, in meters. The supplied value is clamped to the minimal 1 millimeter resolution.

Returns

RED_OK if the operation has succeeded,

RED_WORKFLOW_ERROR if the simulation has begun already.

virtual double GetPlanetLandscapeOpsTime() const = 0
Returns

The time allowed to planet landscape operations per frame.

virtual void SetPlanetLandscapeOpsTime(double iTime) = 0

Sets the time allowed to planet landscape operations per frame.

This is the maximal time allowed per frame dedicated to the planet geometry update. Lowering this number smoothes the framerate but the landscape can take longer to update and to show at full quality. Increasing this number will on the other hand favor landscape update speed. In the latter case, depending on the data available from calculating threads, the FPS may suffer some variations.

Parameters

iTime – The time allowed in [ 1.0, 100.0 ]. Default is 5.0

virtual int GetThreadsCount() const = 0

Return the number of auxiliary threads used for all the calculations.

virtual void SetThreadsCount(int iThreadsCount) = 0

Sets the number of auxiliary threads used for all the calculations.

The default value for this setting is 4096.

Parameters

iThreadsCount – The number of auxiliary threads. Max value is 4096.

virtual int GetPlanetLandscapeThreadsCount() const = 0

Return the number of auxiliary threads used to calculate the landscape.

virtual void SetPlanetLandscapeThreadsCount(int iThreadsCount) = 0

Sets the number of auxiliary threads used to calculate the landscape.

The default value for this setting is 4096.

Parameters

iThreadsCount – The number of auxiliary threads. If 0, the landscape is calculated on the application update thread. Max value is 4096.

virtual double GetGeometryGIUpdateTime() const = 0
Returns

The geometry global illumination update time in milliseconds.

virtual void SetGeometryGIUpdateTime(double iTime) = 0

Sets the amount of time allowed to update global illumination caches for geometries.

Geometries may need an update, mostly for dynamic global illumination caches. This is the amount of time allowed each frame to perform these update tasks. If 0.0 milliseconds are allowed, geometry updates are still processed at minimal performance rate.

Parameters

iTime – The allowed time in milliseconds. The provided value is forced to be at least 0.

virtual void SetSSAO(bool iEnabled) = 0

Enables or disables the SSAO.

Parameters

iEnabled – True to enable the SSAO, false to disable it.

virtual bool HasSSAO() const = 0

Tests if the SSAO is enabled or not.

Returns

true if the SSAO is enabeld, false otherwise.

virtual void SetSSAORadius(double iRadius) = 0

Sets the SSAO radius.

Parameters

iRadius – The Screen Space Ambient Occlusion radius in meters.

virtual double GetSSAORadius() const = 0

Gets the radius of the SSAO effect.

Returns

the SSAO radius in meters.

virtual void SetSSAOSamplesCount(int iCount) = 0

Sets the number of samples to compute the SSAO.

Parameters

iCount – Number of SSAO samples.

virtual int GetSSAOSamplesCount() const = 0

Gets the number of samples to compute the SSAO.

Returns

the number of SSAO samples.

virtual void SetSSRStrength(double iStrength) = 0

Sets the strength of the SSR effect. Set 0 to disable the SSR.

Parameters

iStrength – The strength of the SSR effect between 0 and 1.

virtual double GetSSRStrength() const = 0

Gets the strength of the SSR effect.

Returns

the strength of the SSR effect between 0 and 1.

virtual void SetSSRRayResolution(double iResolution) = 0

Sets the resolution of the SSR ray marching between 0 and 1.

The resolution is the number of samples per pixel. Its value is strictly greater than 0 and lower or equal to 1. Set to 1 for the highest quality with a ray marching on every pixel. Set to lower values to reduces the quality by spacing the samples.

Parameters

iResolution – The ray marching resolution.

virtual double GetSSRRayResolution() const = 0

Gets the resolution of the SSR ray marching between 0 and 1.

The resolution is the number of samples per pixel. Its value is strictly greater than 0 and lower or equal to 1.

Returns

the resolution of the SSR.

virtual void SetSSRBorderFade(int iPixelCount) = 0

Sets the distance to the screen border to start to fade out the effect.

Parameters

iPixelCount – The fade distance to the border in pixels.

virtual int GetSSRBorderFade() const = 0

Gets the distance where the effect fades out to the screen border.

Returns

the number of pixel from the border.

virtual void SetSSRCameraFade(double iDirection) = 0

Sets the direction for which the SSR starts to fade when looking at the camera.

Parameters

iDirection – The camera direction between 0 and 1. 0 = no fading.

virtual double GetSSRCameraFade() const = 0

Gets the direction for which the SSR starts to fade when looking at the camera.

Returns

the camera direction between 0 and 1. 0 = no fading.

virtual void SetSSRObjectThickness(double iThickness) = 0

Sets the object thickness for computing the SSR.

Parameters

iThickness – The object thickness in meters.

virtual double GetSSRObjectThickness() const = 0

Gets the object thickness for computing the SSR.

Returns

the thickness in meters.

virtual void SetSSRRefiningSteps(int iStepsCount) = 0

Sets the number of refining step after the first raymarching of the SSR.

Parameters

iStepsCount – The number of additionnal steps.

virtual int GetSSRRefiningSteps() const = 0

Gets the number of refining step after the first raymarching of the SSR.

Returns

The number of additionnal steps.

virtual void SetSSRRenderingResolution(int iResolution) = 0

Sets the rendering resolution of the SSR.

Sets the SSR downscaling factor in [ 1, 4 ]. The SSR rendering resolution is lowered by 1 << iScale. So setting iScale to 2 reduces the rendering resolution of clouds by 2 in width and height, so 1/4 pixels.

Parameters

iScale – values 1 = x1 rendering, 2 = x1/4, 3 = x1/9, 4 = x1/16.

virtual int GetSSRRenderingResolution() const = 0

Gets the rendering resolution of the SSR.

Returns

The downsize resolution.