class ART::IOptions

Planetary system options. More...

#include <ARTIOptions.h>

Inherits: IREDObject.

Public functions:

virtual voidForcePrismsRealMeshShadows ( ART::PRISM_TYPE iType, bool iRealShadows ) = 0
virtual intGetAntiAliasing ( ) const = 0
virtual doubleGetAntiAliasingAlphaMax ( ) const = 0
virtual doubleGetAntiAliasingAlphaMin ( ) const = 0
virtual doubleGetAntiAliasingMotionThreshold ( ) const = 0
virtual boolGetAtmosphericCloudShadows ( ) const = 0
virtual doubleGetAtmosphericGamma ( ) const = 0
virtual boolGetAtmosphericLandscapeShadows ( ) const = 0
virtual intGetAtmosphericSamples ( ART::ATMOSPHERIC_SAMPLE iSample ) const = 0
virtual boolGetCelestialBodiesPathsDisplay ( ) const = 0
virtual doubleGetCloseOrbitFOVRatio ( ) const = 0
virtual doubleGetCloudsDensity ( ) const = 0
virtual voidGetCloudsFadeDistances ( double & oFadeStart, double & oFadeEnd ) const = 0
virtual doubleGetCloudsRelighting ( ) const = 0
virtual intGetCloudsRenderingResolution ( ) const = 0
virtual ART::DISPLAY_MODEGetDisplayMode ( ) const = 0
virtual intGetFullSceneAntiAliasing ( ) const = 0
virtual doubleGetGeometryGIUpdateTime ( ) const = 0
virtual doubleGetGISamplesSpread ( ) const = 0
virtual doubleGetMaxCloudsDensity ( ) const = 0
virtual doubleGetMaxPrismsDensity ( ) const = 0
virtual doubleGetPlanetLandscapeOpsTime ( ) const = 0
virtual intGetPlanetLandscapeThreadsCount ( ) const = 0
virtual doubleGetPlanetPatchOffScreenSplitSize ( ) const = 0
virtual doubleGetPlanetPatchOnScreenSplitSize ( ) const = 0
virtual doubleGetPlanetResolution ( ) const = 0
virtual doubleGetPrismsDensity ( ART::PRISM_TYPE iType ) const = 0
virtual boolGetPrismsExactSpawn ( ART::PRISM_TYPE iType ) const = 0
virtual voidGetPrismsFadeDistances ( double & oFadeStart, double & oFadeEnd, ART::PRISM_TYPE iType ) const = 0
virtual doubleGetPrismsMeshFadeOffset ( ART::PRISM_TYPE iType ) const = 0
virtual intGetPrismsPassesCount ( ) const = 0
virtual intGetPrismsShadowRange ( ART::PRISM_TYPE iType ) const = 0
virtual intGetPrismsSpawnOffset ( ART::PRISM_TYPE iType ) const = 0
virtual doubleGetPrismsSplatOverlap ( ART::PRISM_TYPE iType ) const = 0
virtual doubleGetSkyReflectanceMultiplier ( ) const = 0
virtual voidGetSnowColor ( RED::Color & oColor, float & oReflectance ) = 0
virtual doubleGetSSAORadius ( ) const = 0
virtual intGetSSAOSamplesCount ( ) const = 0
virtual intGetSSRBorderFade ( ) const = 0
virtual doubleGetSSRCameraFade ( ) const = 0
virtual doubleGetSSRObjectThickness ( ) const = 0
virtual doubleGetSSRRayResolution ( ) const = 0
virtual intGetSSRRefiningSteps ( ) const = 0
virtual intGetSSRRenderingResolution ( ) const = 0
virtual doubleGetSSRStrength ( ) const = 0
virtual doubleGetStarCSMAlphaThreshold ( ) const = 0
virtual voidGetStarCSMBias ( double & oExponent, double & oScale ) const = 0
virtual intGetStarCSMBlur ( ) const = 0
virtual intGetStarCSMCount ( ) const = 0
virtual doubleGetStarCSMOverlap ( ) const = 0
virtual doubleGetStarCSMRange ( int iNumber ) const = 0
virtual voidGetStarCSMSize ( int & oSize ) const = 0
virtual doubleGetStarGIStrengthInShadows ( ) const = 0
virtual doubleGetStarInTheSkyFOVRatio ( ) const = 0
virtual intGetThreadsCount ( ) const = 0
virtual boolGetTrianglesFillMode ( ) const = 0
virtual boolHasSSAO ( ) const = 0
virtual boolIsForcedPrismsRealMeshShadows ( ART::PRISM_TYPE iType ) const = 0
virtual RED_RCSetAllDefaultOptions ( ) = 0
virtual voidSetAntiAliasing ( int iAA ) = 0
virtual voidSetAntiAliasingAlphaMax ( double iAlphaMax ) = 0
virtual voidSetAntiAliasingAlphaMin ( double iAlphaMin ) = 0
virtual voidSetAntiAliasingMotionThreshold ( double iThreshold ) = 0
virtual voidSetAtmosphericCloudShadows ( bool iShadows ) = 0
virtual voidSetAtmosphericGamma ( double iGamma ) = 0
virtual voidSetAtmosphericLandscapeShadows ( bool iShadows ) = 0
virtual voidSetAtmosphericSamples ( ART::ATMOSPHERIC_SAMPLE iSample, int iCount ) = 0
virtual voidSetCelestialBodiesPathsDisplay ( bool iOnOff ) = 0
virtual voidSetCloseOrbitFOVRatio ( double iCloseFOVRatio ) = 0
virtual voidSetCloudsDensity ( double iDensity ) = 0
virtual voidSetCloudsFadeDistances ( double iFadeStart, double iFadeEnd ) = 0
virtual voidSetCloudsRelighting ( double iRelighting ) = 0
virtual voidSetCloudsRenderingResolution ( int iScale ) = 0
virtual voidSetDisplayMode ( ART::DISPLAY_MODE iDisplayMode ) = 0
virtual voidSetFullSceneAntiAliasing ( int iScale ) = 0
virtual voidSetGeometryGIUpdateTime ( double iTime ) = 0
virtual voidSetGISamplesSpread ( double iSpread ) = 0
virtual voidSetPlanetLandscapeOpsTime ( double iTime ) = 0
virtual voidSetPlanetLandscapeThreadsCount ( int iThreadsCount ) = 0
virtual voidSetPlanetPatchOffScreenSplitSize ( double iSplitSize ) = 0
virtual voidSetPlanetPatchOnScreenSplitSize ( double iSplitSize ) = 0
virtual RED_RCSetPlanetResolution ( double iResolution ) = 0
virtual voidSetPrismsDensity ( ART::PRISM_TYPE iType, double iDensity ) = 0
virtual voidSetPrismsExactSpawn ( ART::PRISM_TYPE iType, bool iExact ) = 0
virtual voidSetPrismsFadeDistances ( ART::PRISM_TYPE iType, double iFadeStart, double iFadeEnd ) = 0
virtual voidSetPrismsMeshFadeOffset ( ART::PRISM_TYPE iType, double iOffset ) = 0
virtual voidSetPrismsPassesCount ( int iCount ) = 0
virtual voidSetPrismsShadowRange ( ART::PRISM_TYPE iType, int iMaxCSM ) = 0
virtual voidSetPrismsSpawnOffset ( ART::PRISM_TYPE iType, int iOffset ) = 0
virtual voidSetPrismsSplatOverlap ( ART::PRISM_TYPE iType, double iOverlap ) = 0
virtual voidSetSkyReflectanceMultiplier ( double iMult ) = 0
virtual voidSetSnowColor ( const RED::Color & iColor, float iReflectance ) = 0
virtual voidSetSSAO ( bool iEnabled ) = 0
virtual voidSetSSAORadius ( double iRadius ) = 0
virtual voidSetSSAOSamplesCount ( int iCount ) = 0
virtual voidSetSSRBorderFade ( int iPixelCount ) = 0
virtual voidSetSSRCameraFade ( double iDirection ) = 0
virtual voidSetSSRObjectThickness ( double iThickness ) = 0
virtual voidSetSSRRayResolution ( double iResolution ) = 0
virtual voidSetSSRRefiningSteps ( int iStepsCount ) = 0
virtual voidSetSSRRenderingResolution ( int iResolution ) = 0
virtual voidSetSSRStrength ( double iStrength ) = 0
virtual voidSetStarCSMAlphaThreshold ( double iAlpha ) = 0
virtual RED_RCSetStarCSMBias ( double iExponent, double iScale ) = 0
virtual voidSetStarCSMBlur ( int iBlur ) = 0
virtual voidSetStarCSMOverlap ( double iOverlap ) = 0
virtual RED_RCSetStarCSMRange ( double iRange, int iNumber ) = 0
virtual voidSetStarCSMSize ( int iSize ) = 0
virtual voidSetStarGIStrengthInShadows ( double iGIShadowStrength ) = 0
virtual voidSetStarInTheSkyFOVRatio ( double iStarFOVRatio ) = 0
virtual voidSetThreadsCount ( int iThreadsCount ) = 0
virtual voidSetTrianglesFillMode ( bool iFillMode ) = 0

Public static functions:

static RED::CIDGetClassID ( )

Detailed description:

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.

Functions documentation

public virtual void ART::IOptions::ForcePrismsRealMeshShadows(ART::PRISM_TYPEiType,
booliRealShadows
) = 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.
public virtual int ART::IOptions::GetAntiAliasing() const = 0

Returns:

The current anti-aliasing level for the deferred pipeline.
public virtual double ART::IOptions::GetAntiAliasingAlphaMax() const = 0

Returns:

The maximal anti-aliasing frame to frame accumulation factor.
public virtual double ART::IOptions::GetAntiAliasingAlphaMin() const = 0

Returns:

The anti-aliasing frame to frame accumulation factor.
public virtual double ART::IOptions::GetAntiAliasingMotionThreshold() const = 0

Returns:

The anti-aliasing motion threshold value.
public virtual bool ART::IOptions::GetAtmosphericCloudShadows() const = 0

Returns:

true if cloud shadows over the atmosphere are enabled, false otherwise.
public virtual double ART::IOptions::GetAtmosphericGamma() const = 0

Returns:

The atmospheric gamma transform.
public virtual bool ART::IOptions::GetAtmosphericLandscapeShadows() const = 0

Returns:

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

Returns:

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.
public virtual bool ART::IOptions::GetCelestialBodiesPathsDisplay() const = 0

Returns:

True if celestial bodies trajectories are to be displayed, false otherwise.
public virtual double ART::IOptions::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.
public virtual double ART::IOptions::GetCloudsDensity() const = 0

Returns:

The clouds density.
public virtual void ART::IOptions::GetCloudsFadeDistances(double &oFadeStart,
double &oFadeEnd
)const = 0

Get clouds fading distances.

Parameters:

oFadeStart:Startup fading distance.
oFadeEnd:End fading distance.
public virtual double ART::IOptions::GetCloudsRelighting() const = 0

Returns:

The amount of clouds relighting in use.

Returns:

The clouds rendering resolution downscale factor.

Returns:

The current display mode for the world.
public virtual int ART::IOptions::GetFullSceneAntiAliasing() const = 0

Returns:

The resolution super sampling factor applied to our rendered images in [ 1, 4 ].
public virtual double ART::IOptions::GetGeometryGIUpdateTime() const = 0

Returns:

The geometry global illumination update time in milliseconds.
public virtual double ART::IOptions::GetGISamplesSpread() const = 0

Returns:

The spreading factor of GI cache samples used by geometries.
public virtual double ART::IOptions::GetMaxCloudsDensity() const = 0

Returns:

The maximal possible clouds density.
public virtual double ART::IOptions::GetMaxPrismsDensity() const = 0

Returns:

The maximal possible prism density. Applies to all types of prisms.
public virtual double ART::IOptions::GetPlanetLandscapeOpsTime() const = 0

Returns:

The time allowed to planet landscape operations per frame.

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

public virtual double ART::IOptions::GetPlanetPatchOffScreenSplitSize() const = 0

Returns:

The offscreen pixel size of a patch above which it gets splitted.
public virtual double ART::IOptions::GetPlanetPatchOnScreenSplitSize() const = 0

Returns:

The onscreen pixel size of a patch above which it gets splitted.
public virtual double ART::IOptions::GetPlanetResolution() const = 0

Returns:

The finest resolution of a planet, in meters. Default is 1 centimeter.
public virtual double ART::IOptions::GetPrismsDensity(ART::PRISM_TYPEiType) const = 0

Returns:

The current prisms density for the requested iType of prisms.

Parameters:

iType:The type of prisms whose density is searched for.
public virtual bool ART::IOptions::GetPrismsExactSpawn(ART::PRISM_TYPEiType) const = 0

Returns:

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

Parameters:

iType:The type of prisms whose spawning method is searched for.
public virtual void ART::IOptions::GetPrismsFadeDistances(double &oFadeStart,
double &oFadeEnd,
ART::PRISM_TYPEiType
)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.
public virtual double ART::IOptions::GetPrismsMeshFadeOffset(ART::PRISM_TYPEiType) const = 0

Returns:

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

Parameters:

iType:The considered type of prisms.
public virtual int ART::IOptions::GetPrismsPassesCount() const = 0

Returns:

The number of rendering passes used to render prisms.

Returns:

The shadowing range for the requested iType of prisms.

Parameters:

iType:The type of prisms to consider.

Returns:

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

Parameters:

iType:The type of prisms whose spawning offset is searched for.
public virtual double ART::IOptions::GetPrismsSplatOverlap(ART::PRISM_TYPEiType) const = 0

Returns:

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

Parameters:

iType:The type of prisms whose overlap distance is searched for.
public virtual double ART::IOptions::GetSkyReflectanceMultiplier() const = 0

Returns:

The sky reflectance multiplier.
public virtual void ART::IOptions::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 ].
public virtual double ART::IOptions::GetSSAORadius() const = 0

Gets the radius of the SSAO effect.

Returns:

the SSAO radius in meters.
public virtual int ART::IOptions::GetSSAOSamplesCount() const = 0

Gets the number of samples to compute the SSAO.

Returns:

the number of SSAO samples.
public virtual int ART::IOptions::GetSSRBorderFade() const = 0

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

Returns:

the number of pixel from the border.
public virtual double ART::IOptions::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.
public virtual double ART::IOptions::GetSSRObjectThickness() const = 0

Gets the object thickness for computing the SSR.

Returns:

the thickness in meters.
public virtual double ART::IOptions::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.
public virtual int ART::IOptions::GetSSRRefiningSteps() const = 0

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

Returns:

The number of additionnal steps.

Gets the rendering resolution of the SSR.

Returns:

The downsize resolution.
public virtual double ART::IOptions::GetSSRStrength() const = 0

Gets the strength of the SSR effect.

Returns:

the strength of the SSR effect between 0 and 1.
public virtual double ART::IOptions::GetStarCSMAlphaThreshold() const = 0

Returns:

The shadowing alpha threshold of the star cascaded shadow maps.
public virtual void ART::IOptions::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.
public virtual int ART::IOptions::GetStarCSMBlur() const = 0

Returns:

The blur amount of the star cascaded shadow maps.
public virtual int ART::IOptions::GetStarCSMCount() const = 0

Returns:

The number of available star cascaded shadow maps.
public virtual double ART::IOptions::GetStarCSMOverlap() const = 0

Returns:

The amount of overlap among star cascaded shadow maps.
public virtual double ART::IOptions::GetStarCSMRange(intiNumber) const = 0

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.

Parameters:

iNumber:The number of the CSM to access.
public virtual void ART::IOptions::GetStarCSMSize(int &oSize) const = 0

Access the dimensions of each star cascaded shadow map.

Parameters:

oSize:Pixel size of the star cascaded shadow map.
public virtual double ART::IOptions::GetStarGIStrengthInShadows() const = 0

Returns:

the strength of the GI term used in areas not directly illuminated by the sunlight.
public virtual double ART::IOptions::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.
public virtual int ART::IOptions::GetThreadsCount() const = 0

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

public virtual bool ART::IOptions::GetTrianglesFillMode() const = 0

Returns:

false if triangles are displayed using lines, true if triangles are displayed as filled polygons.
public virtual bool ART::IOptions::HasSSAO() const = 0

Tests if the SSAO is enabled or not.

Returns:

true if the SSAO is enabeld, false otherwise.

Returns:

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

Parameters:

iType:The type of prisms to consider.

Sets all options default values.

Returns:

RED_OK if the method has succeeded,
RED_ALLOC_FAILURE if a memory allocation has failed.
public virtual void ART::IOptions::SetAntiAliasing(intiAA) = 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.
public virtual void ART::IOptions::SetAntiAliasingAlphaMax(doubleiAlphaMax) = 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.
public virtual void ART::IOptions::SetAntiAliasingAlphaMin(doubleiAlphaMin) = 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.
public virtual void ART::IOptions::SetAntiAliasingMotionThreshold(doubleiThreshold) = 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 [.
public virtual void ART::IOptions::SetAtmosphericCloudShadows(booliShadows) = 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.

public virtual void ART::IOptions::SetAtmosphericGamma(doubleiGamma) = 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 [.
public virtual void ART::IOptions::SetAtmosphericLandscapeShadows(booliShadows) = 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.

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.
public virtual void ART::IOptions::SetCelestialBodiesPathsDisplay(booliOnOff) = 0

Enable or disable the display of celestial bodies trajectories.

Parameters:

iOnOff:Set to true to display celestial bodies path, false to hide them.
public virtual void ART::IOptions::SetCloseOrbitFOVRatio(doubleiCloseFOVRatio) = 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 ].
public virtual void ART::IOptions::SetCloudsDensity(doubleiDensity) = 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.
public virtual void ART::IOptions::SetCloudsFadeDistances(doubleiFadeStart,
doubleiFadeEnd
) = 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.
public virtual void ART::IOptions::SetCloudsRelighting(doubleiRelighting) = 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.
public virtual void ART::IOptions::SetCloudsRenderingResolution(intiScale) = 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.
public virtual void ART::IOptions::SetDisplayMode(ART::DISPLAY_MODEiDisplayMode) = 0

Sets the global world display mode.

Parameters:

iDisplayMode:The new display mode to use.
public virtual void ART::IOptions::SetFullSceneAntiAliasing(intiScale) = 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.
public virtual void ART::IOptions::SetGeometryGIUpdateTime(doubleiTime) = 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.
public virtual void ART::IOptions::SetGISamplesSpread(doubleiSpread) = 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.
public virtual void ART::IOptions::SetPlanetLandscapeOpsTime(doubleiTime) = 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
public virtual void ART::IOptions::SetPlanetLandscapeThreadsCount(intiThreadsCount) = 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.

public virtual void ART::IOptions::SetPlanetPatchOffScreenSplitSize(doubleiSplitSize) = 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.
public virtual void ART::IOptions::SetPlanetPatchOnScreenSplitSize(doubleiSplitSize) = 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.
public virtual RED_RC ART::IOptions::SetPlanetResolution(doubleiResolution) = 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.
public virtual void ART::IOptions::SetPrismsDensity(ART::PRISM_TYPEiType,
doubleiDensity
) = 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.
public virtual void ART::IOptions::SetPrismsExactSpawn(ART::PRISM_TYPEiType,
booliExact
) = 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.
public virtual void ART::IOptions::SetPrismsFadeDistances(ART::PRISM_TYPEiType,
doubleiFadeStart,
doubleiFadeEnd
) = 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.
public virtual void ART::IOptions::SetPrismsMeshFadeOffset(ART::PRISM_TYPEiType,
doubleiOffset
) = 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.
public virtual void ART::IOptions::SetPrismsPassesCount(intiCount) = 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.
public virtual void ART::IOptions::SetPrismsShadowRange(ART::PRISM_TYPEiType,
intiMaxCSM
) = 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.
public virtual void ART::IOptions::SetPrismsSpawnOffset(ART::PRISM_TYPEiType,
intiOffset
) = 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.
public virtual void ART::IOptions::SetPrismsSplatOverlap(ART::PRISM_TYPEiType,
doubleiOverlap
) = 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.
public virtual void ART::IOptions::SetSkyReflectanceMultiplier(doubleiMult) = 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.
public virtual void ART::IOptions::SetSnowColor(const RED::Color &iColor,
floatiReflectance
) = 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 ].
public virtual void ART::IOptions::SetSSAO(booliEnabled) = 0

Enables or disables the SSAO.

Parameters:

iEnabled:True to enable the SSAO, false to disable it.
public virtual void ART::IOptions::SetSSAORadius(doubleiRadius) = 0

Sets the SSAO radius.

Parameters:

iRadius:The Screen Space Ambient Occlusion radius in meters.
public virtual void ART::IOptions::SetSSAOSamplesCount(intiCount) = 0

Sets the number of samples to compute the SSAO.

Parameters:

iCount:Number of SSAO samples.
public virtual void ART::IOptions::SetSSRBorderFade(intiPixelCount) = 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.
public virtual void ART::IOptions::SetSSRCameraFade(doubleiDirection) = 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.
public virtual void ART::IOptions::SetSSRObjectThickness(doubleiThickness) = 0

Sets the object thickness for computing the SSR.

Parameters:

iThickness:The object thickness in meters.
public virtual void ART::IOptions::SetSSRRayResolution(doubleiResolution) = 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.
public virtual void ART::IOptions::SetSSRRefiningSteps(intiStepsCount) = 0

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

Parameters:

iStepsCount:The number of additionnal steps.
public virtual void ART::IOptions::SetSSRRenderingResolution(intiResolution) = 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.
public virtual void ART::IOptions::SetSSRStrength(doubleiStrength) = 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.
public virtual void ART::IOptions::SetStarCSMAlphaThreshold(doubleiAlpha) = 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 ].
public virtual RED_RC ART::IOptions::SetStarCSMBias(doubleiExponent,
doubleiScale
) = 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.
public virtual void ART::IOptions::SetStarCSMBlur(intiBlur) = 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.
public virtual void ART::IOptions::SetStarCSMOverlap(doubleiOverlap) = 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].
public virtual RED_RC ART::IOptions::SetStarCSMRange(doubleiRange,
intiNumber
) = 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.
public virtual void ART::IOptions::SetStarCSMSize(intiSize) = 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 ].
public virtual void ART::IOptions::SetStarGIStrengthInShadows(doubleiGIShadowStrength) = 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.
public virtual void ART::IOptions::SetStarInTheSkyFOVRatio(doubleiStarFOVRatio) = 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 ].
public virtual void ART::IOptions::SetThreadsCount(intiThreadsCount) = 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.

public virtual void ART::IOptions::SetTrianglesFillMode(booliFillMode) = 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.