IOptions
Functions
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.
-