UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Landscape Tool
Using Editor Tools for Specific Tasks
FAQ
Программирование
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
CIGI Client Plugin

Unigine::Render Class

Header: #include <UnigineRender.h>

Provides access to Unigine rendering functions. For example, it is used by AppWall application to render onto multiple monitors.

Render Class

Members


Render * get( )

Returns a pointer to the existing render.

Return value

Pointer to the existing render.

void setAlphaFade( int fade )

Enables or disables alpha-blend fading (dithering) for objects. Enabling the feature allows for objects LODs to be smoothly blended into each other over a fade distance.

Arguments

  • int fade - 1 to enable alpha fading (dithering) for objects, 0 to disable it. The default value is 1.

int isAlphaFade( )

Returns a value indicating if alpha-blend fading (dithering) is enabled for objects. When the feature is enabled, objects LODs are smoothly blended into each other over a fade distance.

Return value

1 if alpha fading is enabled; otherwise, 0.

void setAnimationLeaf( float leaf )

Sets the global scale for rotation angle of vegetation leaves.

Arguments

  • float leaf - Global leaf rotation angle. If a negative value is provided, 0 will be used instead.

float getAnimationLeaf( )

Returns the current scale for rotation angle of vegetation leaves.

Return value

Global leaf rotation angle.

float getAnimationOldTime( )

Returns the previous render animation time for vegetation.

Return value

Animation time in milliseconds.

void setAnimationScale( float scale )

Sets the global scale for rotation speed of vegetation leaves.

Arguments

  • float scale - Global leaf rotation speed.

float getAnimationScale( )

Returns the current global scale for rotation speed of vegetation leaves.

Return value

Global leaf rotation speed.

void setAnimationStem( float stem )

Sets the global scale for movement amplitude of vegetation stems.

Arguments

  • float stem - Global stem amplitude scale. If a negative value is provided, 0 will be used instead.

float getAnimationStem( )

Returns the current global scale for movement amplitude of vegetation stems.

Return value

Global stem amplitude scale.

void setAnimationTime( float time )

Sets the render animation time for vegetation.

Arguments

  • float time - Animation time in milliseconds.

float getAnimationTime( )

Returns the render animation time for vegetation.

Return value

Animation time in milliseconds.

void setAnimationWind( const Math::vec3 & wind )

Sets the direction of wind for all vegetation (grass and trees). It is a multiplier for the stem offset (in grass, stem and leaves materials).

Arguments

  • const Math::vec3 & wind - Offset for vegetation under wind by X, Y and Z axes.

Math::vec3 getAnimationWind( )

Returns the current direction of wind for all vegetation (grass and trees). It is a multiplier for the stem offset (in grass, stem and leaves materials).

Return value

Offset for vegetation under wind by X, Y and Z axes.

void setBorder( const Math::vec2 & border )

Sets width and height of the image border (in pixels), to be rendered outside the horizontal bounds of the screen to reduce artefacts of post effects.

Arguments

  • const Math::vec2 & border - Vector with components representing border sizes: X - width, Y - height.

Math::vec2 getBorder( )

Returns current width and height of the image border (in pixels), to be rendered outside the horizontal bounds of the screen to reduce artefacts of post effects.

Return value

Vector with components representing border sizes: X - width, Y - height.

int getAPI( )

Returns the current Graphics API, or API_UNKNOWN if API cannot be identified.

Return value

The Graphics API flag (see API_* variables).

void setAuxiliary( int auxiliary )

Enables or disables the auxiliary render buffer usage. The buffer should be enabled for render and post post-processes to work.

Arguments

  • int auxiliary - 1 to use the auxiliary buffer, 0 not to use. The default value is 1.

int isAuxiliary( )

Returns a value indicating if auxiliary render buffer is used. The buffer should be enabled for render and post post-processes to work.

Return value

1 if the auxiliary buffer is used; otherwise, 0.

void setBackgroundColor( const Math::vec4 & color )

Sets the background color by using given vector.

Arguments

  • const Math::vec4 & color - A background color vector.

const Math::vec4 & getBackgroundColor( )

Returns the background color vector.

Return value

A background color vector.

void setBentNormalRayTracing( int tracing )

Enables or disables ray-traced bent normals calculation. The use of SSRTGI for bent normals allows for smooth ambient lighting.
Notice
Ray-traced bent normals calculation available only when the SSRTGI technique is enabled.

Arguments

  • int tracing - 1 to enable ray-traced bent normals calculation, 0 to disable. The default value is 1.

int isBentNormalRayTracing( )

Returns a value indicating if ray-traced bent normals calculation is enabled. The use of SSRTGI for bent normals allows for smooth ambient lighting.
Notice
Ray-traced bent normals calculation available only when the SSRTGI technique is enabled.

Return value

1 if ray-traced bent normals calculation is enabled; otherwise, 0.

void setBentNormalRayTracingDenoise( int denoise )

Enables or disables noise reduction for ray-traced bent normals calculation. This option reduces noise by using the blur effect.
Notice
Ray-traced bent normals calculation available only when the SSRTGI technique is enabled.

Arguments

  • int denoise - 1 to enable noise reduction for ray-traced bent normals calculation, 0 to disable. The default value is 1.

int isBentNormalRayTracingDenoise( )

Returns a value indicating if noise reduction for ray-traced bent normals calculation is enabled. This option reduces noise by using blur effect.
Notice
Ray-traced bent normals calculation available only when the SSRTGI technique is enabled.

Return value

1 if noise reduction for ray-traced bent normals calculation is enabled; otherwise, 0.

void setBentNormalRayTracingThreshold( float threshold )

Sets the threshold value for the ray-traced bent normals calculation.
Notice
Ray-traced bent normals calculation available only when the SSRTGI technique is enabled.

Arguments

  • float threshold - Bent normals ray tracing threshold value. The default value is 1.0f.

float getBentNormalRayTracingThreshold( )

Returns the current threshold value for the ray-traced bent normals calculation.
Notice
Ray-traced bent normals calculation available only when the SSRTGI technique is enabled.

Return value

Bent normal ray tracing threshold value. The default value is 1.0f.

Ptr<Texture> getBlack2DArrayTexture( )

Returns black 2D array texture.

Return value

Black 2D array texture.

Ptr<Texture> getBlack2DTexture( )

Returns black 2D texture.

Return value

Black 2D texture.

Ptr<Texture> getBlack3DTexture( )

Returns black 3D texture.

Return value

Black 3D texture.

Ptr<Texture> getBlackCubeTexture( )

Returns black Cube texture.

Return value

Black Cube texture.

void setBloom( int bloom )

Enables or disables the bloom effect.

Arguments

  • int bloom - 1 value to enable the bloom effect, 0 to disable.

int isBloom( )

Returns a value indicating if the bloom effect is enabled.

Return value

1 if the bloom effect is enabled; otherwise, 0.

void setBloomPasses( int passes )

Sets the number of passes for the bloom effect. During the pass a bloom texture is generating. Up to 8 bloom textures can be generated: each texture has lower resolution (original size, original size /2, original size /4, so forth) with bloom effect. After that, all these bloom textures with the different resolution are composed for the final bloom texture.

Arguments

  • int passes - Number of bloom passes. The default value is 8. The higher the value the smoother is the effect. However, this option significantly affects performance.

int getBloomPasses( )

Returns the current number of passes for the bloom effect. During the pass a bloom texture is generating. Up to 8 bloom textures can be generated: each texture has lower resolution (original size, original size /2, original size /4, so forth) with bloom effect. After that, all these bloom textures with the different resolution are composed for the final bloom texture.

Return value

Number of bloom passes.

void setBloomPower( float power )

Sets the power of the bloom effect.
  • At the minimum value of 0.0f, the bloom effect is blurred.
  • At the maximum value of 1.0f, the bloom effect is more contrast.

Arguments

  • float power - Bloom power value within the [0.0f; 1.0f] range. The default value is 0.7f.

float getBloomPower( )

Returns the power of the bloom effect.
  • At the minimum value of 0.0f, the bloom effect is blurred.
  • At the maximum value of 1.0f, the bloom effect is more contrast.

Return value

Bloom power value within the [0.0f; 1.0f] range.

void setBloomResolution( int resolution )

Sets the resolution of the bloom effect.

Arguments

  • int resolution - Resolution of the bloom effect:
    • 0 - quarter resolution.
    • 1 - half resolution (by default).
    • 2 - full resolution.

int getBloomResolution( )

Returns the current resolution of the bloom effect.

Return value

Resolution of the bloom effect:
  • 0 - quarter resolution.
  • 1 - half resolution (by default).
  • 2 - full resolution.

void setBloomScale( float scale )

Sets the scale of the bloom effect.

Arguments

  • float scale - Bloom scale value within the [0.0f; 1.0f] range. The default value is 0.3f.

float getBloomScale( )

Returns the scale of the bloom effect.

Return value

Bloom scale value within the [0.0f; 1.0f] range.

void setBudget( float budget )

Sets the render budget value, which limits the number of loaded/created graphics resources during a frame according to loading/creation time.

Arguments

  • float budget - Budget value in seconds. The default value is 1/60.

float getBudget( )

Returns current render budget value, which limits the number of loaded/created graphics resources during a frame according to loading/creation time.

Return value

Budget value in seconds. The default value is 1/60.

void setCameraEffectsThreshold( float threshold )

Sets the threshold, which is used to detect if an object should be blurred in the HDR mode.

Arguments

  • float threshold - HDR threshold. If a negative value is provided, 0 will be used instead.

float getCameraEffectsThreshold( )

Returns the brightness threshold, which is used to detect if an object should be blurred in the HDR mode.

Return value

HDR threshold.

void setClearBufferMask( int mask )

Sets the buffer cleanup mask. This mask determines which buffers are to be cleared next time the Engine::render() is called. Thus, you can determine the contents of which buffers is to be kept, avoiding situations, when necessary data is cleared.
Source code (C++)
auto render = Render::get();

render->setClearBufferMask(RenderState::BUFFER_ALL); // color, depth & stencil buffers will be cleared
render->setClearBufferMask(RenderState::BUFFER_NONE); // no buffers will be cleared (useful if you want to embed the engine somewhere)
render->setClearBufferMask(RenderState::BUFFER_DEPTH); // only the depth buffer will be cleared

// masks can be combined:
render->setClearBufferMask(BUFFER_COLOR | BUFFER_STENCIL); // color and stencil buffer will be cleared

// there is a separate BUFFER_DEPTH_STENCIL mask for convenience
render->clearBuffer(BUFFER_DEPTH_STENCIL);

Arguments

int getClearBufferMask( )

Returns current buffer cleanup mask. This mask determines which buffers are to be cleared next time the Engine::render() is called. This method can be used to save current buffer cleanup mask to restore it later.

Return value

Buffer mask: one of the RenderState::BUFFER_* variables.

void setCloudsDownsamplingRendering( int rendering )

Sets downsampling rendering for clouds. This parameter determines clouds resolution based on current screen resolution. It has a significant impact on performance.

Arguments

  • int rendering - One of the following values:
    • 0 - full.
    • 1 - half (by default).
    • 2 - quarter.

int getCloudsDownsamplingRendering( )

Returns current downsampling rendering setting for clouds. This parameter determines clouds resolution based on current screen resolution. It has a significant impact on performance.

Return value

One of the following values:
  • 0 - full.
  • 1 - half (by default).
  • 2 - quarter.

void setCloudsDynamicCoverageArea( float area )

Sets dynamic coverage area for clouds. This parameter determines visibility distance for coverage of FieldWeather objects.
Notice
Increasing dynamic coverage area leads to reduction of quality of FieldWeather coverage texture and loss of details. This effect can be mitigated by increasing dynamic coverage resolution using setCloudsDynamicCoverageResolution() method.

Arguments

  • float area - Dynamic coverage area, in units. The default value is 10 000.

float getCloudsDynamicCoverageArea( )

Returns current dynamic coverage area for clouds. This parameter determines visibility distance for coverage of FieldWeather objects.

Return value

Dynamic coverage area, in units.

void setCloudsDynamicCoverageResolution( int resolution )

Sets dynamic coverage resolution for clouds. This parameter determines the quality of dynamic coverage texture for FieldWeather objects. Higher values make it possible to preserve texture details at high distances.
Notice
Increased resolution significantly affects performance.

Arguments

  • int resolution - One of the following values:
    • 0 - 128 x 128.
    • 1 - 256 x 256 (by default).
    • 2 - 512 x 512.
    • 3 - 1024 x 1024.
    • 4 - 2048 x 2048.

int getCloudsDynamicCoverageResolution( )

Returns current dynamic coverage resolution setting for clouds. This parameter determines the quality of dynamic coverage texture for FieldWeather objects. Higher values make it possible to preserve texture details at high distances.

Return value

One of the following values:
  • 0 - 128 x 128.
  • 1 - 256 x 256 (by default).
  • 2 - 512 x 512.
  • 3 - 1024 x 1024.
  • 4 - 2048 x 2048.

void setCloudsGroundShadows( int shadows )

Enables or disables rendering of shadows from the clouds on the ground.

Arguments

  • int shadows - 1 to enable rendering of shadows from the clouds on the ground, 0 to disable it. The default value is 1.

int isCloudsGroundShadows( )

Returns a value indicating if rendering of shadows from the clouds on the ground is enabled.

Return value

1 if rendering of shadows from the clouds on the ground is enabled; otherwise, 0.

void setCloudsInterleavedRendering( int rendering )

Enables or disables interleaved rendering mode for clouds.
Notice
In cases when clouds are viewed from the ground, or from above (at significant distance) and viewer's velocities are less than 200 units per second, this parameter can be used to provide a significant gain in performance.

Arguments

  • int rendering - Interleaved rendering mode for clouds:
    • 0 - disabled (by default).
    • 1 - 2 x 2.
    • 2 - 4 x 4.
    • 3 - 8 x 8.

int getCloudsInterleavedRendering( )

Returns the value indicating current interleaved rendering mode for clouds. This feature can be used to gain performance when enabled. See getCloudsInterleavedRendering().

Return value

One of the following values:
  • 0 - disabled (by default).
  • 1 - 2 x 2.
  • 2 - 4 x 4.
  • 3 - 8 x 8.

void setCloudsLightingConeRadius( float radius )

Sets lighting cone sampling radius for clouds lighting.
Notice
Low values may result in unnatural behavior as the position of the sun changes.

Arguments

  • float radius - Lighting cone radius in range [0.0f; 1.0f]. The default value is 0.3.

float getCloudsLightingConeRadius( )

Returns the current lighting cone sampling radius for clouds lighting.

Return value

Lighting cone radius in range [0.0f; 1.0f].

void setCloudsLightingQuality( int quality )

Sets lighting quality for clouds. This parameter determines the number of samples used to calculate lighting for clouds.
Notice
This parameter has a significant impact on performance. Therefore, it is recommended to use low settings, when possible.

Arguments

  • int quality - One of the following values:
    • 0 - 1 sample, low quality.
    • 1 - 3 samples, medium quality (by default).
    • 2 - 5 samples, high quality.
    • 3 - 6 samples, ultra quality.

int getCloudsLightingQuality( )

Returns the current lighting quality setting for clouds. This parameter determines the number of samples used to calculate lighting for clouds.

Return value

One of the following values:
  • 0 - 1 sample, low quality.
  • 1 - 3 samples, medium quality (by default).
  • 2 - 5 samples, high quality.
  • 3 - 6 samples, ultra quality.

void setCloudsLightingTraceLength( float length )

Sets the lighting trace length for clouds. This parameter determines the maximum length of a sun ray inside a cloud.

Arguments

  • float length - Lighting trace length in range [1.0f; 2048.0f], in units. The default value is 230.0f.

float getCloudsLightingTraceLength( )

Returns the current lighting trace length for clouds. This parameter determines the maximum length of a sun ray inside a cloud.

Return value

Lighting trace length, in units.

void setCloudsNoiseIterations( float iterations )

Sets the value of the noise iterations parameter for clouds. This parameter determines the amount of jitter, that is used to reduce banding effect due to insufficient number of steps.

Arguments

  • float iterations - New value of the noise iterations parameter for clouds. The default value is 0.1f.

float getCloudsNoiseIterations( )

Returns the current value of the noise iterations parameter for the clouds. This parameter determines the amount of jitter, that is used to reduce banding effect due to insufficient number of steps.

Return value

Current value of the noise iterations parameter for clouds. The default value is 0.1f.

void setCloudsNoiseLighting( float lighting )

Sets the value of the noise lighting parameter for clouds. This parameter determines the amount of jitter for tracing steps of lighting calculation, that is used to reduce banding effect due to insufficient number of steps.

Arguments

  • float lighting - New value of the noise lighting parameter for clouds. The default value is 0.3f.

float getCloudsNoiseLighting( )

Returns the current value of the noise lighting parameter for the clouds. This parameter determines the amount of jitter for tracing steps of lighting calculation, that is used to reduce banding effect due to insufficient number of steps.

Return value

Current value of the noise lighting parameter for clouds. The default value is 0.3f.

void setCloudsNoiseStep( float step )

Sets the value of the noise step parameter for clouds. This parameter determines the amount of jitter in the areas within clouds, that is used to reduce banding effect due to insufficient number of steps.

Arguments

  • float step - New value of the noise step parameter for clouds. The default value is 0.3f.

float getCloudsNoiseStep( )

Returns the current value of the noise step parameter for clouds. This parameter determines the amount of jitter in the areas within clouds, that is used to reduce banding effect due to insufficient number of steps.

Return value

Current value of the noise step parameter for clouds. The default value is 0.3f.

void setCloudsNoiseStepSkip( float skip )

Sets the value of the noise step skip parameter for clouds. This parameter determines the amount of jitter in the areas between clouds, that is used to reduce banding effect due to insufficient number of steps.

Arguments

  • float skip - New value of the noise step skip parameter for clouds. The default value is 0.3f.

float getCloudsNoiseStepSkip( )

Returns the current value of the noise step skip parameter for clouds. This parameter determines the amount of jitter in the areas between clouds, that is used to reduce banding effect due to insufficient number of steps.

Return value

Current value of the noise step skip parameter for clouds. The default value is 0.3f.

void setCloudsSamplesCount( int count )

Sets the number of samples used for clouds rendering. The higher the value, the less noise in clouds rendering.

Arguments

  • int count - Number of samples:
    • 0 - low.
    • 1 - medium.
    • 2 - high (by default).
    • 3 - ultra.

int getCloudsSamplesCount( )

Returns the current number of samples used for clouds rendering. The higher the value, the less noise in clouds rendering.

Return value

One of the following values:
  • 0 - low.
  • 1 - medium.
  • 2 - high (by default).
  • 3 - ultra.

void setCloudsSamplingQuality( int quality )

Sets sampling quality for clouds. This parameter sets the number of noise samples that affects the cloud shape processing quality. The higher the value, the less visual artifacts.
Notice
Visual difference between low and ultra quality is not significant. Therefore, it is recommended to use low settings, when possible, to gain performance.

Arguments

  • int quality - Sampling quality:
    • 0 - low quality (higher cloud density).
    • 1 - medium quality (by default).
    • 2 - high quality.
    • 3 - ultra quality (lower density, the clouds are softer).

int getCloudsSamplingQuality( )

Returns the current sampling quality set for clouds. This parameter sets the number of noise samples that affects the cloud shape processing quality. The higher the value, the less visual artifacts.

Return value

Sampling quality:
  • 0 - low quality (higher cloud density).
  • 1 - medium quality (by default).
  • 2 - high quality.
  • 3 - ultra quality (lower density, the clouds are softer).

void setCloudsShadowShafts( int shafts )

Enables or disables shadow shafts for clouds.

Arguments

  • int shafts - 1 to enable shadow shafts for clouds, 0 to disable. The default value is 1.

int isCloudsShadowShafts( )

Returns the value indicating if shadow shafts for clouds are enabled.

Return value

1 if shadow shafts for clouds are enabled; otherwise, 0.

void setCloudsSimplifiedDepthTest( int test )

Enables or disables simplified depth test for clouds.

Arguments

  • int test - 1 to enable simplified depth test for clouds, 0 to disable. The default value is 1.

int isCloudsSimplifiedDepthTest( )

Returns the value indicating if simplified depth test for clouds is enabled.

Return value

1 if simplified depth test for clouds is enabled; otherwise, 0.

void setCloudsSoftIntersection( float intersection )

Sets the soft intersection distance for clouds.

Arguments

  • float intersection - Soft intersection distance (in meters) within the [0.0f; 100000.0f] range. The default value is 100.0f.

float getCloudsSoftIntersection( )

Returns the current soft intersection distance for clouds.

Return value

Soft intersection distance for clouds, in meters.

void setCloudsTransparentOrder( int order )

Enables or disables rendering of clouds after all transparent objects (except water).

Arguments

  • int order - 1 to enable rendering of clouds after transparent, 0 to disable. The default value is 0.

int isCloudsTransparentOrder( )

Returns the value indicating if clouds are rendered after all transparent objects (except water).

Return value

1 if clouds are rendered after transparent; otherwise, 0.

void setClutterDistance( float distance )

Sets the distance, at which (and farther) objects with "clutter" flag on will not be rendered.

Arguments

  • float distance - Distance, in units.

float getClutterDistance( )

Returns a distance, at which (and farther) objects with "clutter" flag on will not be rendered.

Return value

Distance, in units.

void setColorBrightness( float brightness )

Sets the current brightness of the scene.

Arguments

  • float brightness - Brightness. The provided value is saturated in the range [-1.0f; 1.0f].

float getColorBrightness( )

Returns the current overall brightness of the scene.

Return value

Current brightness.

void setColorContrast( float contrast )

Sets the current contrast of the scene.

Arguments

  • float contrast - Contrast. The provided value is saturated in the range [-1.0f; 1.0f].

float getColorContrast( )

Returns the current overall contrast of the scene.

Return value

Current contrast.

void setColorGamma( float gamma )

Sets the current gamma of the scene.

Arguments

  • float gamma - Gamma. The provided value is saturated in the range [0.5f; 1.5f].

float getColorGamma( )

Returns the current overall gamma of the scene.

Return value

Current gamma.

void setColorSaturation( float saturation )

Sets the current saturation of the scene.

Arguments

  • float saturation - Saturation. The provided value is saturated in the range [0.0f; 2.0f].

float getColorSaturation( )

Returns the current overall saturation of the scene.

Return value

Current saturation.

int setColorTextureImage( const Ptr<Image> & image )

Sets a new color transformation image (LUT). This function resets a LUT texture name to null if it has been previously set via setColorTextureName().
Source code (C++)
ImagePtr lut;
ImagePtr lut_0;
ImagePtr lut_1;

if (!lut) {
	lut = Image::create();
	lut_0 = Image::create("unigine_project/textures/lookup_first.dds");
	lut_1 = Image::create("unigine_project/textures/lookup_second.dds");
}

float k = sin(Game::get()->getTime() * 2.0f) * 0.5f + 0.5f;

lut->copy(lut_0,0);
lut->blend(lut_1, 0, 0, 0, 0, lut->getWidth(), lut->getHeight(), k);

Render::get()->setColorTextureImage(lut);

Arguments

  • const Ptr<Image> & image - Color transformation image.

Return value

1 if the image is set successfully; otherwise, 0.

int getColorTextureImage( const Ptr<Image> & image )

Return the current color transformation image (LUT).

Arguments

  • const Ptr<Image> & image - Image to store the color transformation texture in.

Return value

1 if an image is successfully received; otherwise, 0.

void setColorTextureName( const char * name )

Sets the name of a new color transformation texture (LUT).

Arguments

  • const char * name - Name of the file with the texture. If NULL (0) is passed, the texture is cleared.

const char * getColorTextureName( )

Returns the name of the current color transformation texture (LUT).

Return value

Name of the current color transformation texture.

void setColorWhite( const Math::vec4 & white )

Sets the current white balance of the scene.

Arguments

  • const Math::vec4 & white - White balance. The provided value is saturated in the range [vec4_epsilon;vec4_one].

Math::vec4 getColorWhite( )

Returns the current white balance of the scene.

Return value

Current white balance.

void setCompositeMaterial( const char * material )

Sets a custom composite material that specifies a custom shader used for the final composition of the full-screen image instead of the default one.

Arguments

  • const char * material - Composite material name.

const char * getCompositeMaterial( )

Returns a name of the current composite material that specifies a custom shader used for the final composition of the full-screen image instead of the default one.

Return value

Name of the current composite material.

void setCross( int cross )

Enables or disables cross flares.

Arguments

  • int cross - 1 to enable cross flares, 0 to disable.

int isCross( )

Returns a value indicating if cross flares are enabled.

Return value

1 if cross flares are enabled; otherwise, 0.

void setCrossAngle( float angle )

Sets the cross flares orientation angle.

Arguments

  • float angle - Angle in degrees.

float getCrossAngle( )

Returns the cross flares orientation angle.

Return value

Angle between flare shafts in degrees.

void setCrossColor( const Math::vec4 & color )

Sets the color of the cross flares.

Arguments

  • const Math::vec4 & color - Color of cross flares.

Math::vec4 getCrossColor( )

Returns the color of the cross flares.

Return value

Color of the cross flares.

void setCrossLength( float length )

Sets the length of a cross flare. Increasing this value also leads to fading of the shafts across their length.

Arguments

  • float length - Length of a cross flare relative to the screen width.

float getCrossLength( )

Returns the length of a cross flare.

Return value

Length of a cross flare relative to the screen width.

void setCrossScale( float scale )

Sets a multiplier for color of cross flares.

Arguments

  • float scale - Cross color scale. If a negative value is provided, 0 will be used instead.

float getCrossScale( )

Returns the current multiplier for color of cross flares.

Return value

Cross color scale.

void setCrossShafts( int shafts )

Sets the number of shafts in a cross flare.
  • The minimum number of shafts is 2.
  • The maximum number of shafts is 32 (high number of flares can cause FPS drop on low-performance hardware).

Arguments

  • int shafts - The number of a cross flares. The provided value is saturated in the range [2; 32].

int getCrossShafts( )

Returns the number of shafts in a cross flare.
  • The minimum number of shafts is 2.
  • The maximum number of shafts is 32 (high number of flares can cause FPS drop on low-performance hardware).

Return value

Number of cross flares.

void setCrossThreshold( float threshold )

Sets the brightness threshold for areas to produce flare: the higher the threshold value, the brighter the area should be to produce a flare.

Arguments

  • float threshold - Cross flares threshold.

float getCrossThreshold( )

Returns the current brightness threshold for areas to produce flare.

Return value

Cross flares threshold.

void setData( const char * data )

Sets user data associated with the render. This string is written directly into a *.world file. Namely, into the data child tag of the render tag, for example:
Source code (XML)
<world version="1.21">
	<render>
		<data>User data</data>
	</render>
</world>

Arguments

  • const char * data - New user data. The data can contain an XML formatted string.

const char * getData( )

Returns user data associated with the render. This string is written directly into a *.world file. Namely, into the data child tag of the render tag, for example:
Source code (XML)
<world version="1.21">
	<render>
		<data>User data</data>
	</render>
</world>

Return value

User data. The data can contain an XML formatted string.

void setDebug( int debug )

Enables or disables rendering of debug materials (the debug_materials material). Debug materials can be used for debugging of image generation stages. For example, you can render only SSR, or only cubemaps and so on.

Arguments

  • int debug - 1 to enable rendering of debug materials, 0 to disable it. The default value is 0.

int isDebug( )

Returns the value indicating whether debug materials (the debug_materials material) are rendered or not. Debug materials can be used for debugging of image generation stages.

Return value

1 if debug materials are rendered; otherwise, 0.

void setDebugMaterials( const char * materials )

Updates the list of debug materials to be rendered.
Notice
Rendering of debug materials must be enabled (see the setDebug() method).

Arguments

  • const char * materials - List of debug materials (a comma separated string, e.g., "mat_1, mat_2, ... mat_n").

const char * getDebugMaterials( )

Returns the list of debug materials to be rendered as a string constant.
Notice
Rendering of debug materials must be enabled (see the setDebug() method).

Return value

List of debug materials (a comma separated string, e.g., "mat_1, mat_2, ... mat_n").

void setDecalDistance( float distance )

Sets the distance, at which (and farther) decals will not be rendered.

Arguments

  • float distance - Distance in units.

float getDecalDistance( )

Returns the distance, at which (and farther) decals will not be rendered.

Return value

Distance in units.

void setDecals( int decals )

Enables or disables rendering of decals.

Arguments

  • int decals - 1 to enable rendering of decals, 0 to disable it. The default value is 1.

int isDecals( )

Returns the value indicating if rendering of decals is enabled.

Return value

1 if rendering of decals is enabled; otherwise, 0.

void setDeferredMaterial( const char * material )

Updates the list of materials that will be used on the Deferred Composite stage of rendering sequence. A debug material can be put here in order to be added to the final image.

Arguments

  • const char * material - List of composite deferred materials (a comma separated string, e.g., "mat_1, mat_2, ... mat_n").

const char * getDeferredMaterial( )

Returns the list of materials that are used on the Deferred Composite stage of rendering sequence.

Return value

List of deferred materials (a comma separated string, e.g., "mat_1, mat_2, ... mat_n").

void setDirtScale( float scale )

Sets the scale of lens dirt effect modulating the pattern of lens flares. For example, it can be used to create an effect of unclean optics when the camera looks at the sun.

Arguments

  • float scale - Dirt scale value within the [0.0f; 1.0f] range. The default value is 0.5f.

float getDirtScale( )

Returns the scale of lens dirt effect modulating the pattern of lens flares.

Return value

Dirt scale value within the [0.0f; 1.0f] range.

void setDirtTextureName( const char * name )

Sets the texture that modulates the pattern of lens flares. For example, it can be used to create an effect of unclean optics when the camera looks at the sun.

Arguments

  • const char * name - Name of the lens flares modulation texture.

const char * getDirtTextureName( )

Returns the name of the current texture that modulates the pattern of lens flares. For example, it can be used to create an effect of light reflections or unclean optics when the camera looks at the sun.

Return value

Name of the lens flares modulation texture.

void setDistanceScale( float scale )

Sets the global distance scale for all distance parameters: shadow distance, light distance, LOD distances, etc.

Arguments

  • float scale - Global distance scale.

float getDistanceScale( )

Returns the current global distance scale for all distance parameters: shadow distance, world lights shadows, LOD distances, etc.

Return value

Global distance scale.

void setDOF( int dof )

Enables or disables the DOF (Depth Of Field) effect.

Arguments

  • int dof - 1 to enable the DOF effect, 0 to disable it. The default value is 0.

int isDOF( )

Returns the value indicating if the DOF (Depth Of Field) effect is enabled.

Return value

1 if the DOF effect is enabled; otherwise, 0.

void setDOFBlur( float blur )

Sets the intensity of blur for the DOF (Depth Of Field) effect.

Arguments

  • float blur - DOF blur intensity value. The default value is 1.0f.

float getDOFBlur( )

Returns the intensity of blur for the DOF (Depth Of Field) effect.

Return value

DoF blur intensity value.

void setDOFBokehMode( int mode )

Sets the shape of the Bokeh for the DOF effect. This parameter determines the way the lens renders out-of-focus points of light.
Notice
For the DOF effect, the Bokeh effect is enabled by default.

Arguments

  • int mode - The Bokeh shape:
    • 0 - ring (by default).
    • 1 - circle.

int getDOFBokehMode( )

Returns the current shape of the Bokeh for the DOF effect. This parameter determines the way the lens renders out-of-focus points of light.
Notice
For the DOF effect, the Bokeh effect is enabled by default.

Return value

The Bokeh shape:
  • 0 - ring (by default).
  • 1 - circle.

void setDOFChromaticAberration( float aberration )

Sets the intensity of chromatic aberration for the DOF (Depth Of Field) effect.

Arguments

  • float aberration - DOF chromatic aberration intensity value. The default value is 0.0f.

float getDOFChromaticAberration( )

Returns the intensity of chromatic aberration for the DOF (Depth Of Field) effect.

Return value

DOF chromatic aberration intensity value.

void setDOFFarDistance( float distance )

Sets the far DOF limit of the camera: the distance between the camera and the furthest element that is considered to be acceptably sharp. Black zone on the DOF mask means in-focus zone.

Arguments

  • float distance - Far DOF limit value in units.

float getDOFFarDistance( )

Returns the far DOF limit of the camera: the distance between the camera and the furthest element that is considered to be acceptably sharp. Black zone on the DOF mask means in-focus zone.

Return value

Far DOF limit value in units.

void setDOFFarFocalOffset( float offset )

Sets the offset from the focal to the farthest blurred zone for the DOF effect. In other words, the distance when background (far) is in focus.

Arguments

  • float offset - Far DOF focal offset value in units.

float getDOFFarFocalOffset( )

Returns the offset from the focal to the farthest blurred zone. In other words, the distance when background (far) is in focus.

Return value

Far DOF focal offset value in units.

void setDOFFocalDistance( float distance )

Sets the focal distance of the camera, i.e. a point where objects are in-focus and visible clearly.

Arguments

  • float distance - Focal distance in units. If a negative value is provided, 0 will be used instead.

float getDOFFocalDistance( )

Returns the focal distance of the camera, i.e. a point where objects are in-focus and visible clearly.

Return value

Focal distance in units.

void setDOFFocusImprovement( int improvement )

Enables or disables focus improvement for the DOF (Depth Of Field) effect. When enabled, transitions between the focused and unfocused parts of the scene become more accurate.

Arguments

  • int improvement - 1 to enable focus improvement for the DOF effect, 0 to disable it. The default value is 0.

int isDOFFocusImprovement( )

Returns a value indicating if the focus improvement option is enabled for the DOF (Depth Of Field) effect. When enabled, transitions between the focused and unfocused parts of the scene become more accurate.

Return value

1 if focus improvement is enabled for the DOF effect; otherwise, 0.

void setDOFIncreasedAccuracy( int accuracy )

Enables or disables increased accuracy for the DOF (Depth Of Field) effect. Enabling the parameter allows for increasing accuracy of focusing calculation.

Arguments

  • int accuracy - 1 to enable increased accuracy for the DOF effect, 0 to disable it. The default value is 0.

int isDOFIncreasedAccuracy( )

Returns a value indicating if the increased accuracy option is enabled for the DOF (Depth Of Field) effect. When enabled, focusing calculation is performed with increased accuracy.

Return value

1 if increased accuracy is enabled for the DOF effect; otherwise, 0.

void setDOFNearDistance( float distance )

Sets the near DOF limit of the camera: the distance between the camera and the first element that is considered to be acceptably sharp. Black zone on the DOF mask means in-focus zone.

Arguments

  • float distance - Near DOF limit value in units.

float getDOFNearDistance( )

Returns the near DOF limit of the camera: the distance between the camera and the first element that is considered to be acceptably sharp. Black zone on the DOF mask means in-focus zone.

Return value

Near DOF limit value in units.

void setDOFNearFocalOffset( float offset )

Sets the offset from the focal to the nearest blurred zone. In other words, the distance when foreground (far) is in focus.

Arguments

  • float offset - Near DOF focal offset value in units.

float getDOFNearFocalOffset( )

Returns the offset from the focal to the nearest blurred zone. In other words, the distance when foreground (far) is in focus.

Return value

Near DOF focal offset value in units.

void setDOFQuality( int quality )

Sets the quality of the DOF (Depth Of Field) effect.

Arguments

  • int quality - The value indicating quality of the DOF effect:
    • 0 - low quality.
    • 1 - medium quality (by default).
    • 2 - high quality.
    • 3 - ultra quality.

int getDOFQuality( )

Returns the value indicating the quality of the DOF (Depth Of Field) effect.

Return value

The value indicating quality of the DOF effect:
  • 0 - low quality.
  • 1 - medium quality (by default).
  • 2 - high quality.
  • 3 - ultra quality.

void setDOFResolution( int resolution )

Sets the resolution of the DOF (Depth Of Field) effect.

Arguments

  • int resolution - Resolution of the DOF effect:
    • 0 - quarter resolution.
    • 1 - half resolution.
    • 2 - full resolution (by default).

int getDOFResolution( )

Returns the resolution of the DOF (Depth Of Field) effect.

Return value

Resolution of the DOF effect:
  • 0 - quarter resolution.
  • 1 - half resolution.
  • 2 - full resolution (by default).

void setEnabled( int arg1 )

Enables or disables the render.

Arguments

  • int arg1 - 1 to enable the render, 0 to disable it.

int isEnabled( )

Returns a value indicating if the render is enabled.

Return value

1 if the render is enabled; otherwise, 0.

void setEnvironment( int environment )

Enables or disables rendering of environment of the scene.
Notice
To enable/disable environment rendering, use also render_environment console command.

Arguments

  • int environment - 1 to enable rendering of environment, 0 to disable it. The default value is 1.

int isEnvironment( )

Returns the value indicating if rendering of environment of the scene is enabled.
Notice
To check if environment rendering is enabled, use also render_environment console variable.

Return value

1 rendering of environment is enabled; otherwise, 0.

void setEnvironmentCubemapBlendMode( int mode )

Sets the environment cubemap blending mode.

Arguments

  • int mode - Cubemap blending mode:
    • 0 - alpha blend (by default).
    • 1 - additive blend.
    • 2 - multiply.
    • 3 - overlay.

int getEnvironmentCubemapBlendMode( )

Returns the current environment cubemap blending mode.

Return value

Cubemap blending mode:
  • 0 - alpha blend (by default).
  • 1 - additive blend.
  • 2 - multiply.
  • 3 - overlay.

void setEnvironmentHazeMode( int mode )

Sets the mode for the haze effect.
Notice
To set the haze mode via console, use the render_environment_haze console command.

Arguments

  • int mode - Haze mode: one of the HAZE_* variables.

int getEnvironmentHazeMode( )

Returns the current mode set for the haze effect.
Notice
To check the haze mode via console, use the render_environment_haze console variable.

Return value

Haze mode: one of the HAZE_* variables.

void setExposure( float exposure )

Sets the camera exposure (a multiplier of the scene luminance and brightness). It determines the resulting amount of luminance:
  • By the minimum value of 0.0f, the image is rendered black.
  • The higher the value, the more luminance and the brighter the scene lit.

Arguments

  • float exposure - Multiplier of the scene luminance and brightness.

float getExposure( )

Returns the current camera exposure (a multiplier of the scene luminance and brightness.). It determines the resulting amount of luminance:
  • By the minimum value of 0.0f, the image is rendered black.
  • The higher the value, the more luminance and the brighter the scene lit.

Return value

Current multiplier of the scene luminance and brightness.

void setExposureAdaptation( float adaptation )

Sets the time for the camera to adjust exposure. If 0.0f is set, instant adaptation will be used.

Arguments

  • float adaptation - Period of exposure adaptation in seconds. If a too small or even negative value is provided, 1E-6 will be used instead.

float getExposureAdaptation( )

Returns the current the time set for the camera to adjust exposure. If the 0.0f is returned, it means that instant adaptation is used.

Return value

Period of exposure adaptation in seconds.

float getExposureInterpolation( )

Returns the current exposure interpolation (the engine ifps multiplied by the exposure adaptation speed). The method can be used for automatic exposure adaptation.

Return value

Exposure interpolation.

void setExposureMaxLuminance( float luminance )

Sets the maximum luminance offset relative to the default luminance of the scene used for rendering of adaptive exposure effect: the lower the value, the brighter the adapted image will be. The parameter can take on negative values.
Notice
If the specified value is less than the current minimum luminance, the minimum luminance value will be changed to the specified maximum luminance so that they are equal.

Arguments

  • float luminance - Maximum luminance. The provided value is saturated in the range [-10.0f; 10.0f].

float getExposureMaxLuminance( )

Returns the maximum luminance offset relative to the default luminance of the scene used for rendering of adaptive exposure effect: the lower the value, the brighter the adapted image is.

Return value

Maximum luminance.

void setExposureMinLuminance( float luminance )

Sets the minimum luminance offset relative to the default luminance of the scene used for rendering of adaptive exposure effect: the higher the value, the darker the adapted image will be. The parameter can take on negative values.
Notice
If the specified value is greater than the current maximum luminance, the maximum luminance value will be changed to the specified minimum luminance so that they are equal.

Arguments

  • float luminance - Minimum luminance. The provided value is clamped to the range [-10.0f; 10.0f].

float getExposureMinLuminance( )

Returns the minimum luminance offset relative to the default luminance of the scene used for rendering of adaptive exposure effect: the higher the value, the darker the adapted image is.

Return value

Minimum luminance.

void setExposureMode( int mode )

Sets the mode of the adaptive exposure effect.

Arguments

  • int mode - The value indicating the exposure mode:
    • 0 - a static exposure. The amount of luminance is determined by the setExposure().
    • 1 - adaptive logarithmic mapping technique.
    • 2 - adaptive quadratic mapping technique.

int getExposureMode( )

Returns current adaptive exposure mode:
  • 0 - a static exposure. The amount of luminance is determined by the setExposure().
  • 1 - adaptive logarithmic mapping technique.
  • 2 - adaptive quadratic mapping technique.

Return value

The type of the exposure mode.

void setFadeColor( const Math::vec4 & color )

Sets the current fade color for the scene on the screen. By gradually changing this value it is possible to create "fade in" and "fade out" effects depending on the w component of the given vector. For example, when the following vectors are passed the result will be:
  • vec4(1,1,1,1) - a fully white screen. Positive w results in additive blending.
  • vec4(0.5,0.5,0.5,1) - light colors on the screen.
  • vec4(1,0,0,1) - R channel for all screen colors is to its maximum; G and B without changes.
  • vec4(0,0,0,0) - there is no fading (no color alterations are done to the screen).
  • vec4(1,1,1,-1) - a fully black screen. Negative w results in scene colors * (1 - RGB), where RGB is the first three components of the passed vector.
  • vec4(0.5,0.5,0.5,-1) - dark colors on the screen.

Arguments

  • const Math::vec4 & color - Fade color for the scene on the screen. The provided vector represents RGB channel values (first three components) and a fading coefficient (w component). All components are saturated in the range [-1; 1].

Math::vec4 getFadeColor( )

Returns the current fade color of the scene.

Return value

The current fade color.

void setFieldDistance( float distance )

Sets the distance, at which (and farther) Field nodes will not be rendered.

Arguments

  • float distance - Distance in units.

float getFieldDistance( )

Returns the distance, at which (and farther) Field nodes will not be rendered.

Return value

Distance in units.

void setFieldHeightResolution( int resolution )

Sets the resolution of the FieldHeight.

Arguments

  • int resolution - One of the following values:
    • 0 - 128 x 128.
    • 1 - 256 x 256.
    • 2 - 512 x 512 (by default).
    • 3 - 1024 x 1024.
    • 4 - 2048 x 2048.
    • 5 - 4096 x 4096.
    • 6 - 8192 x 8192.

int getFieldHeightResolution( )

Returns the value indicating the resolution of the FieldHeight.

Return value

One of the following values:
  • 0 - 128 x 128.
  • 1 - 256 x 256.
  • 2 - 512 x 512 (by default).
  • 3 - 1024 x 1024.
  • 4 - 2048 x 2048.
  • 5 - 4096 x 4096.
  • 6 - 8192 x 8192.

void setFieldPrecision( int precision )

Sets the precision of textures used for field objects.

Arguments

  • int precision - Textures' precision:
    • 0 - 16-bit precision R16 texture (by default).
    • 1 - 32-bit precision R32F texture.

int isFieldPrecision( )

Returns the value indicating the current precision of textures used for field objects.

Return value

Textures' precision:
  • 0 - 16-bit precision R16 texture (by default).
  • 1 - 32-bit precision R32F texture.

void setFieldShorelineResolution( int resolution )

Set resolution of the texture into which all textures set for all FieldShoreline objects are rendered.

Arguments

  • int resolution - General FieldShoreline texture resolution:
    • 0 - 128 x 128 (by default).
    • 1 - 256 x 256.
    • 2 - 512 x 512.
    • 3 - 1024 x 1024.
    • 4 - 2048 x 2048.
    • 5 - 4096 x 4096.
    • 6 - 8192 x 8192.

int getFieldShorelineResolution( )

Returns resolution of the texture into which all textures set for all FieldShoreline objects are rendered.

Return value

General FieldShoreline texture resolution:
  • 0 - 128 x 128 (by default).
  • 1 - 256 x 256.
  • 2 - 512 x 512.
  • 3 - 1024 x 1024.
  • 4 - 2048 x 2048.
  • 5 - 4096 x 4096.
  • 6 - 8192 x 8192.

void setFilmic( int filmic )

Enables or disables the filmic tonemapping effect.

Arguments

  • int filmic - 1 to enable the filmic tonemapping effect, 0 to disable it. The default value is 1.

int isFilmic( )

Returns a value indicating if the filmic tonemapping effect is enabled.

Return value

1 if the filmic tonemapping effect is enabled; otherwise, 0.

void setFilmicLinearAngle( float angle )

Sets the Linear Angle filmic tonemapping parameter value. This parameter controls the slope of the linear part of the tone mapping curve.

Arguments

  • float angle - Linear Angle value.

float getFilmicLinearAngle( )

Returns the current Linear Angle filmic tone mapping parameter value. This parameter controls the slope of the linear part of the tone mapping curve.

Return value

Linear Angle value.

void setFilmicLinearScale( float scale )

Sets the Linear Strength filmic tonemapping parameter value that is used to change gray values. The Linear Scale controls the length of the tone mapping curve linear part.

Arguments

  • float scale - Linear Strength value.

float getFilmicLinearScale( )

Returns the current Linear Strength filmic tone mapping parameter value that is used to change gray values. The Linear Scale controls the length of the tone mapping curve linear part.

Return value

Linear Strength value.

void setFilmicShoulderScale( float scale )

Sets the Shoulder Strength filmic tonemapping parameter value that is used to change bright values.

Arguments

  • float scale - Shoulder Strength value.

float getFilmicShoulderScale( )

Returns the current Shoulder Strength filmic tonemapping parameter value that is used to change bright values.

Return value

Shoulder Strength value.

void setFilmicToeDenominator( float denominator )

Sets the Toe Denominator filmic tonemapping parameter value.

Arguments

  • float denominator - Toe Denominator value.

float getFilmicToeDenominator( )

Returns the current Toe Denominator filmic tonemapping parameter value.

Return value

Toe Denominator value.

void setFilmicToeNumerator( float numerator )

Sets the Toe Numerator filmic tonemapping parameter value.

Arguments

  • float numerator - Toe Numerator value.

float getFilmicToeNumerator( )

Sets the Toe Numerator filmic tonemapping parameter value.

Return value

Toe Numerator value.

void setFilmicToeScale( float scale )

Sets the Toe Scale filmic tonemapping parameter value that is used to change dark values. The Toe Scale controls the slope of the tone mapping curve toe (the area of underexposure).

Arguments

  • float scale - Toe scale value.

float getFilmicToeScale( )

Returns the current Toe Scale filmic tonemapping parameter value that is used to change dark values. The Toe Scale controls the slope of the tone mapping curve toe (the area of underexposure).

Return value

Toe scale value.

void setFilmicWhiteLevel( float level )

Sets the Linear White Point filmic tonemapping parameter value, which is mapped as pure white in the resulted image.

Arguments

  • float level - Linear White Point value.

float getFilmicWhiteLevel( )

Returns the current Linear White Point filmic tonemapping parameter value.

Return value

Linear White Point value.

void setFirstFrame( int frame )

Sets a value indicating if the first frame should be enabled over the current frame.

Arguments

  • int frame - 1 to enable the first frame flag, 0 - to disable.

int isFirstFrame( )

Returns a value indicating if the first frame is enabled over the current frame.

Return value

1 if the first frame flag is enabled; otherwise, 0.

int isFlipped( )

Checks render orientation.
Source code (C++)
TexturePtr texture;
TexturePtr texture_2;
float uv_x, uv_y;
//...					
float flip_sign = (Render::get()->isFlipped() ? -1.0f : 1.0f);
float translate_x = 2.0f * uv_x - 1.0f;
float translate_y = flip_sign * (2.0f * uv_y - 1.0f);
float scale_x = texture->getWidth() / texture_2->getWidth();
float scale_y = texture->getHeight() / texture_2->getHeight();

Math::mat4 transform = Math::translate(translate_x, translate_y, 0.0f) * Math::scale(scale_x, scale_y, 1.0f);

Return value

1 if the render is flipped; otherwise, 0.

void setFXAAIntensity( float intensity )

Sets the intensity of the FXAA. Intensity specifies the sample offset of FXAA fragment. The higher the value, the more blurred image will be.

Arguments

  • float intensity - Intensity value of the FXAA to be set.

float getFXAAIntensity( )

Returns the intensity value of the FXAA. Intensity specifies the sample offset of FXAA fragment.

Return value

Intensity value of the FXAA

void setGbufferLightmap( int lightmap )

Enables or disables storing lightmap data in the GBuffer.
Notice
The feature can be enabled/disabled by using the render_gbuffer_lightmap console command.

Arguments

  • int lightmap - 1 to enable storing lightmap data in the GBuffer, 0 to disable it. The default value is 1.

int isGbufferLightmap( )

Returns a value indicating if lightmap data is stored in the GBuffer.
Notice
To check if the feature is enabled, use the render_gbuffer_lightmap console variable.

Return value

1 if lightmap data is stored in the GBuffer; otherwise, 0.

int getGPUMemory( )

Returns an amount of memory provided by the current GPU.

Return value

Amount of memory in Mbytes.

int getGPUName( )

Returns the name of the current GPU.

Return value

GPU name flag.

Ptr<Texture> getGray2DArrayTexture( )

Returns gray 2D array texture.

Return value

Gray 2D array texture.

Ptr<Texture> getGray2DTexture( )

Returns gray 2D texture.

Return value

Gray 2D texture.

Ptr<Texture> getGray3DTexture( )

Returns gray 3D texture.

Return value

Gray 3D texture.

Ptr<Texture> getGrayCubeTexture( )

Returns gray Cube texture.

Return value

Gray Cube texture.

void setLens( int lens )

Enables or disables lens flares.

Arguments

  • int lens - Positive integer to enable lens flares, 0 to disable.

int isLens( )

Returns a value indicating if lens flares are enabled.

Return value

Positive integer if lens flares are enabled; otherwise, 0.

void setLensColor( const Math::vec4 & color )

Sets the color of a lens flares.

Arguments

  • const Math::vec4 & color - Color of lens flares.

Math::vec4 getLensColor( )

Returns the color of a lens flare.

Return value

Color of a lens flare.

void setLensDispersion( const Math::vec3 & dispersion )

Sets the color displacement for red, green, and blue channels of the lens flares. Can be used to create light dispersion (chromatic aberrations).

Arguments

  • const Math::vec3 & dispersion - Lens dispersion displacement per channel. If a negative value is set for a channel, 0 will be used instead.

Math::vec3 getLensDispersion( )

Returns the current color displacement for red, green and blue channels of the lens flares. Can be used to create light dispersion (chromatic aberrations).

Return value

Lens dispersion displacement per channel.

void setLensLength( float length )

Sets a length indicating if the whole radial lens flare is rendered on the screen or only a part of it. This option controls how lens flares pattern is distributed.

Arguments

  • float length - Length of the radial lens flare. The provided value is saturated in the range [0.0f; 1.0f].

float getLensLength( )

Returns the current length indicating if the whole radial lens flare is rendered on the screen or only a part of it. This option controls how lens flares pattern is distributed.

Return value

Length of the lens flare.

void setLensRadius( float radius )

Sets a radius of the spherical lens flares on the screen.

Arguments

  • float radius - Radius of the spherical lens flares. The provided value is saturated in the range [0.0f; 1.0f], where 1.0f is a screen-wide radius (a lens flare is not visible).

float getLensRadius( )

Returns the current radius of the spherical lens flares on the screen.

Return value

Radius of the spherical lens flares.

void setLensScale( float scale )

Sets the multiplier for color of HDR lens flares.

Arguments

  • float scale - Lens color scale. If a negative value is provided, 0.0f will be used instead.

float getLensScale( )

Returns the current multiplier for color of HDR lens flares.

Return value

Lens color scale.

void setLensThreshold( float threshold )

Sets the brightness threshold for lens flares.

Arguments

  • float threshold - Lens flares threshold.

float getLensThreshold( )

Returns the current brightness threshold for lens flares.

Return value

Lens flares threshold.

void setLightDistance( float distance )

Sets the distance, at which (and farther) dynamic lights will not be rendered.

Arguments

  • float distance - Distance in units.

float getLightDistance( )

Returns the distance, at which (and farther) dynamic lights will not be rendered.

Return value

Distance in units.

void setLightsForwardPerObjectEnv( int env )

Sets the maximum number of environment probes per object (available only for materials rendered in the forward rendering pass). You should set the nonzero value to increase performance: it is recommended to use not more than 4 environment probes per object.
Notice
To set the value via the console, use the render_lights_forward_per_object_env console command.

Arguments

  • int env - Maximum number of environment probes per object within the [0; 128] range. The default value is 4.

int getLightsForwardPerObjectEnv( )

Returns the current maximum number of environment probes per object (available only for materials rendered in the forward rendering pass).
Notice
To get the value via the console, use the render_lights_forward_per_object_env console variable.

Return value

Maximum number of environment probes per object within the [0; 128] range.

void setLightsForwardPerObjectOmni( int omni )

Sets the maximum number of omni lights per object (available only for materials rendered in the forward rendering pass). You should set the nonzero value to increase performance: it is recommended to use not more than 4 omni lights per object.
Notice
To set the value via the console, use the render_lights_forward_per_object_omni console command.

Arguments

  • int omni - Maximum number of omni lights per object within the [0; 128] range. The default value is 4.

int getLightsForwardPerObjectOmni( )

Returns the current maximum number of omni lights per object (available only for materials rendered in the forward rendering pass).
Notice
To get the value via the console, use the render_lights_forward_per_object_omni console variable.

Return value

Maximum number of omni lights per object within the [0; 128] range.

void setLightsForwardPerObjectProj( int proj )

Sets the maximum number of projected lights per object (available only for materials rendered in the forward rendering pass). You should set the nonzero value to increase performance: it is recommended to use not more than 4 projected lights per object.
Notice
To set the value via the console, use the render_lights_forward_per_object_proj console command.

Arguments

  • int proj - Maximum number of projected lights per object within the [0; 128] range. The default value is 4.

int getLightsForwardPerObjectProj( )

Returns the current maximum number of projected lights per object (available only for materials rendered in the forward rendering pass).
Notice
To get the value via the console, use the render_lights_forward_per_object_proj console variable.

Return value

Maximum number of projected lights per object within the [0; 128] range.

void setLightsForwardPerObjectVoxel( int voxel )

Sets the maximum number of voxel probes per object (available only for materials rendered in the forward rendering pass). You should set the nonzero value to increase performance: it is recommended to use not more than 4 projected lights per object.
Notice
To set the value via the console, use the render_lights_forward_per_object_voxel console command.

Arguments

  • int voxel - Maximum number of voxel probes per object within the [0; 128] range.

int getLightsForwardPerObjectVoxel( )

Returns the current maximum number of voxel probes per object (available only for materials rendered in the forward rendering pass).
Notice
To get the value via the console, use the render_lights_forward_per_object_voxel console variable.

Return value

Maximum number of voxel probes per object within the [0; 128] range.

void setLightsForwardPerObjectWorld( int world )

Sets the maximum number of world lights per object (available only for materials rendered in the forward rendering pass). You should set the nonzero value to increase performance: it is recommended to use not more than 4 world lights per object.
Notice
To set the value via the console, use the render_lights_forward_per_object_world console command.

Arguments

  • int world - Maximum number of world lights per object within the [0; 128] range. The default value is 4.

int getLightsForwardPerObjectWorld( )

Returns the current maximum number of world lights per object (available only for materials rendered in the forward rendering pass).
Notice
To get the value via the console, use the render_lights_forward_per_object_world console variable.

Return value

Maximum number of world lights per object within the [0; 128] range.

void setLightsLensFlares( int flares )

Enables or disables rendering of per-light lens flares.
Notice
To set the value via the console, use the render_lights_lens_flares console command.

Arguments

  • int flares - 1 to enable rendering of per-light lens flares, 0 to disable it. The default value is 1.

int isLightsLensFlares( )

Returns the value indicating if rendering of per-light lens flares is enabled.
Notice
To get the value via the console, use the render_lights_lens_flares console variable.

Return value

1 if rendering of per-light lens flares is enabled; otherwise, 0.

void setLightsMaxPerBatch( int batch )

Sets the maximum number of lights rendered by a tile per batch call. With lights batching optimization, omni lights divided into tiles are rendered in batches: each tile renders the specified number of lights per batch. It allows decreasing the number of DIP calls and increasing performance. The optimization works only for omni lights with point shape and without shadows.
Notice
To set the value via the console, use the render_lights_max_per_batch console command.

Arguments

  • int batch - Maximum number of lights per batch within the [0; 1024] range. The default value is 1024.
    Notice
    0 disables batching optimization.

int getLightsMaxPerBatch( )

Returns the current maximum number of lights rendered by a tile per batch call. With lights batching optimization, omni lights divided into tiles are rendered in batches: each tile renders the specified number of lights per batch. It allows decreasing the number of DIP calls and increasing performance. The optimization works only for omni lights with point shape and without shadows.
Notice
To get the value via the console, use the render_lights_max_per_batch console variable.

Return value

Maximum number of lights per batch within the [0; 1024] range.
Notice
0 means batching optimization is disabled.

void setLightsTileGridSize( int size )

Sets the number of grid tiles per axis for tiled rendering optimization. During this optimization, the screen space is divided into tiles that render lights in batches. The optimization works only for omni lights with point shape and without shadows.
Notice
To set the value via the console, use the render_lights_tile_grid_size console command.

Arguments

  • int size - Number of grid tiles per axis within the [1; 32] range. The default value is 8.

int getLightsTileGridSize( )

Returns the current number of grid tiles per axis for tiled rendering optimization. During this optimization, the screen space is divided into tiles that render lights in batches. The optimization works only for omni lights with point shape and without shadows.
Notice
To get the value via the console, use the render_lights_tile_grid_size console variable.

Return value

Number of grid tiles per axis within the [1; 32] range.

int getMaxFieldAnimations( )

Returns the maximum limit of FieldAnimation nodes allowed to be used in shaders.

Return value

Maximum number of FieldAnimation nodes allowed.
Notice
Higher values will affect shader compilation time and performance

int getMaxFieldHeights( )

Returns the maximum limit of FieldHeight nodes allowed to be used in shaders.

Return value

Maximum number of FieldHeight nodes allowed.
Notice
Higher values will affect shader compilation time and performance

int getMaxFieldShorelines( )

Returns the maximum limit of FieldShoreline nodes allowed to be used in shaders.

Return value

Maximum number of FieldShoreline nodes allowed.
Notice
Higher values will affect shader compilation time and performance

int getMaxFieldSpacers( )

Returns the maximum limit of FieldSpacer nodes allowed to be used in shaders.

Return value

Maximum number of FieldSpacer nodes allowed.
Notice
Higher values will affect shader compilation time and performance

void setMotionBlur( int blur )

Enables or disables the motion blur effect.

Arguments

  • int blur - 1 to enable the motion blur effect, 0 to disable it. The default value is 1.

int isMotionBlur( )

Returns a value indicating if the motion blur effect is enabled.

Return value

1 if the motion blur effect is enabled; otherwise, 0.

void setMotionBlurCameraVelocity( int velocity )

Sets a value indicating if camera velocity contributes to the motion blur effect.

Arguments

  • int velocity - 1 to take camera velocity into account in the motion blur effect; 0 to take into account velocities of objects only.

int isMotionBlurCameraVelocity( )

Returns a value indicating if camera velocity contributes to the motion blur effect.

Return value

1 camera velocity contributes to the motion blur effect; 0 only velocities of objects are taken into account in the motion blur effect.

void setMotionBlurMaxVelocity( float velocity )

Sets the maximum possible amount of motion blur for moving physical objects. When their body velocity exceeds the set value, they will be blurred as if they have the maximum velocity set by the parameter. This parameter should be used:
  • To avoid excessive blurring of fast moving objects.
  • To save performance, as increasing the object's velocity leads increasing the radius of the motion blur effect that drops performance at too high values.

Arguments

  • float velocity - Maximum scaled velocity of moving physical bodies used for the motion blur effect.

float getMotionBlurMaxVelocity( )

Returns the current maximum possible amount of motion blur for moving physical objects.

Return value

Maximum scaled velocity of moving physical bodies used for the motion blur effect.

void setMotionBlurNeatSilhouettes( int silhouettes )

Enables or disables the neat silhouettes option for motion blur. This option keeps contours of objects in front of the camera unblurred.

Arguments

  • int silhouettes - 1 to enable the neat silhouettes option for motion blur, 0 to disable it. The default value is 1.

int isMotionBlurNeatSilhouettes( )

Returns a value indicating if neat silhouettes option for motion blur is enabled. This option keeps contours of objects in front of the camera unblurred.

Return value

1 if the neat silhouettes option is enabled; otherwise, 0.

void setMotionBlurNoiseIntensity( float intensity )

Sets the intensity of the noise used in the motion blur.

Arguments

  • float intensity - Noise intensity value within the [0.0f; 1.0f] range. The default value is 0.25f.

float getMotionBlurNoiseIntensity( )

Returns the current intensity of the noise used in the motion blur.

Return value

Noise intensity.

void setMotionBlurNumSteps( int steps )

Sets the number of steps used in the motion blur. The higher the value, the more correct the motion blur effect is. At low values, moving objects may look doubled, however, performance will increase.

Arguments

  • int steps - Number of steps in range [2;64]. The default value is 4.

int getMotionBlurNumSteps( )

Returns the current number of steps used in the motion blur. The higher the value, the more correct the motion blur effect is. At low values, moving objects may look doubled, however, performance will increase.

Return value

Number of steps.

void setMotionBlurVelocityScale( float scale )

Sets amount of motion blur for moving physical bodies. The higher the value, the more blurred the objects will appear when moving.

Arguments

  • float scale - Scale of bodies' linear and angular velocities used for the motion blur. If a negative value is provided, 0 will be used instead.

float getMotionBlurVelocityScale( )

Returns the current amount of motion blur for moving physical bodies. The higher the value, the more blurred the objects will appear when moving.

Return value

Scale of bodies' linear and angular velocities used for the motion blur.

int getNumDecals( )

Returns the number of rendered per frame decals that can be currently seen in the viewport (during all of the rendering passes).

Return value

The number of decals.

int getNumDips( )

Returns the number of draw calls used in the current scene. See Rendering Profiler article for details.

Return value

The number of draw calls.

int getNumInstances( )

Returns the maximum number of instances that can be rendered for each of the following node types:
Notice
Returned value depends on the graphics API used.

Return value

Maximum number of instances that can be rendered.

int getNumLights( )

Returns the number of light passes rendered per frame. It means that the value contains the number of all light sources that are currently seen illuminating something in the viewport and also includes additional passes for rendering lights in the reflecting surfaces (if dynamical reflections are used). See Rendering Profiler article for details.

Return value

The number of light passes.

int getNumMaterials( )

Returns the number of materials set per frame (during all of the rendering passes) in the current scene.

Return value

The number of materials.

int getNumPrimitives( )

Returns the number of geometric rendered per frame primitives that can be currently seen in the viewport. See Rendering Profiler article for details.

Return value

The number of primitives.

int getNumProcedurals( )

Returns the number of procedurals that can be currently seen in the viewport.

Return value

The number of procedurals.

int getNumReflections( )

Returns the number of reflections drawn per frame that can be currently seen in the viewport. In case of cubemap reflections, if all six faces are updated, six reflections are rendered per each frame.

Return value

The number of reflections.

int getNumShaders( )

Returns the number of shaders set per frame. See Rendering Profiler article for details.

Return value

The number of shaders.

int getNumShadows( )

Returns the number of shadow passes rendered per frame. See Rendering Profiler article for details.

Return value

The number of shadow passes.

int getNumSurfaces( )

Returns the number of rendered per frame surfaces that can be currently seen in the viewport (in all rendering passes). See Rendering Profiler article for details.

Return value

Number of surfaces.

int getNumTriangles( )

Returns the number of rendered per frame triangles that can be currently seen in the viewport. See Rendering Profiler article for details.

Return value

Number of triangles.

void setObjectDistance( float distance )

Sets the distance, at which (and farther) objects will not be rendered.

Arguments

  • float distance - Distance in units.

float getObjectDistance( )

Returns a distance, at which (and farther) objects will not be rendered.

Return value

Distance in units.

void setOccluders( int occluders )

Enables or disables rendering of occluders.
Notice
To set the value via the console, use the render_occluders console command.

Arguments

  • int occluders - 1 to enable rendering of occluders, 0 to disable it. The default value is 1.

int isOccluders( )

Returns a value indicating if rendering of occluders is enabled.
Notice
To get the value via the console, use the render_occluders console variable.

Return value

1 if rendering of occluders is enabled; otherwise, 0. The default value is 1.

void setOccludersResolution( const Math::vec2 & resolution )

Sets the resolution of the texture, to which occluders are rendered.
Notice
To set the value via the console, use the render_occluders_resolution console command.

Arguments

  • const Math::vec2 & resolution - Texture resolution (X, Y), in pixels. Available values are from (1, 1) to (1024, 1024). The default value is (128, 64).

Math::vec2 getOccludersResolution( )

Returns the current resolution of the texture, to which occluders are rendered.
Notice
To get the value via the console, use the render_occluders_resolution console variable.

Return value

Texture resolution (X, Y), in pixels. Available values are from (1, 1) to (1024, 1024). The default value is (128, 64).

void setOccludersShadows( int shadows )

Sets the value indicating whether rendering of occluders for shadows is enabled.
Notice
To set the value via the console, use the render_occluders_shadows console command.

Arguments

  • int shadows - 1 to enable rendering of occluders for shadows, 0 to disable it. The default value is 0.

int isOccludersShadows( )

Returns the value indicating whether rendering of occluders for shadows is enabled.
Notice
To get the value via the console, use the render_occluders_shadows console variable.

Return value

1 if rendering of occluders for shadows is enabled; otherwise, 0. The default value is 0.

void setOccludersShadowsResolution( const Math::vec2 & resolution )

Sets the resolution of the texture, to which occluders for shadows are rendered.
Notice
To set the value via the console, use the render_occluders_shadows_resolution console command.

Arguments

  • const Math::vec2 & resolution - Texture resolution (X, Y), in pixels. Available values are from (1, 1) to (1024, 1024). The default value is (512, 512).

Math::vec2 getOccludersShadowsResolution( )

Returns the current resolution of the texture, to which occluders for shadows are rendered.
Notice
To get the value via the console, use the render_occluders_shadows_resolution console variable.

Return value

Texture resolution (X, Y), in pixels. Available values are from (1, 1) to (1024, 1024). The default value is (512, 512).

void setOcclusionQueries( int queries )

Enables or disables additional hardware occlusion query test before sending data to GPU.

Arguments

  • int queries - 1 to enable additional hardware occlusion query test, 0 to disable it. The default value is 1.

int isOcclusionQueries( )

Returns a value indicating if additional hardware occlusion query test before sending data to GPU is enabled.

Return value

1 if if additional hardware occlusion query test is enabled; otherwise, 0.

void setOcclusionQueriesNumFrames( int frames )

Sets the number of frames for additional hardware occlusion query test performed before sending data to GPU.

Arguments

  • int frames - Number of frames. The value within the [0; 1024] range. The default value is 5.

int getOcclusionQueriesNumFrames( )

Returns the current number of frames for additional hardware occlusion query test performed before sending data to GPU.

Return value

Number of frames. The value within the [0; 1024] range.

void setPanorama( int panorama )

Sets the mode of panoramic rendering.
Notice
If panoramic rendering is enabled, underwater shafts and water line effects will be disabled.

Arguments

  • int panorama - One of the following values:
    • 0 - disabled (by default).
    • 1 - 180-degree panorama with curved edges.
    • 2 - 180-degree linear panorama without distortion at the edges.
    • 3 - 180-degree spherical panorama (fisheye).
    • 4 - a 360-degree panorama with curved edges.
    • 5 - a 360-degree linear panorama without distortion at the edges.
    • 6 - 360-degree spherical panorama (fisheye).

int getPanorama( )

Returns the value indicating current mode of panoramic rendering.
Notice
If panoramic rendering is enabled, underwater shafts and water line effects will be disabled.

Return value

One of the following values:
  • 0 - disabled (by default).
  • 1 - 180-degree panorama with curved edges.
  • 2 - 180-degree linear panorama without distortion at the edges.
  • 3 - 180-degree spherical panorama (fisheye).
  • 4 - a 360-degree panorama with curved edges.
  • 5 - a 360-degree linear panorama without distortion at the edges.
  • 6 - 360-degree spherical panorama (fisheye).

void setPostMaterials( const char * materials )

Sets post postprocess materials that are applied after all other postprocess (such as HDR, DoF, etc.) are rendered. Materials are applied in the order of listing.

They are used together with Player::setPostMaterials(), if any.

Arguments

  • const char * materials - Comma-separated list of post postprocess material names.

const char * getPostMaterials( )

Returns names of the current post postprocess materials that are applied after all other postprocess (such as HDR, DoF, etc.) are rendered. Materials are applied in the order of listing.

They are used together with Player::getPostMaterials(), if any.

Return value

Comma-separated list of current post postprocess material names.

void setReflectionDistance( float distance )

Sets the distance, at which (and farther) reflections will not be rendered.

Arguments

  • float distance - Distance in units.

float getReflectionDistance( )

Returns the distance, at which (and farther) reflections will not be rendered.

Return value

Distance in units.

void setReflectionDynamic( int dynamic )

Enables or disables dynamic reflections for materials.

Arguments

  • int dynamic - 1 to enable dynamic reflections for materials, 0 to disable it. The default value is 1.

int isReflectionDynamic( )

Returns a value indicating if dynamic reflections for materials are enabled.

Return value

1 if dynamic reflections for materials are enabled; otherwise, 0.

void setReflectionDynamicBlur( int blur )

Enables or disables blurring of dynamic reflections for materials.

Arguments

  • int blur - 1 to enable blurring of dynamic reflections for materials, 0 to disable it. The default value is 0.

int isReflectionDynamicBlur( )

Returns a value indicating if blurring of dynamic reflections for materials is enabled.

Return value

1 if if blurring of dynamic reflections for materials is enabled; otherwise, 0.

void setReflectionLods( int lods )

Enables or disables reduction of resolution of dynamic reflections when the camera moves away.

Arguments

  • int lods - 1 to enable reduction of resolution of dynamic reflections when the camera moves away, 0 to disable it. The default value is 1.

int isReflectionLods( )

Returns a value indicating if reduction of resolution of dynamic reflections when the camera moves away is enabled.

Return value

1 if reduction of resolution of dynamic reflections when the camera moves away is enabled; otherwise, 0.

void setRefraction( int refraction )

Enables or disables refraction.

Arguments

  • int refraction - 1 to enable refraction, 0 to disable it. The default value is 1.

int isRefraction( )

Returns a value indicating if refraction is enabled.

Return value

1 if refraction is enabled; otherwise, 0.

void setRefractionDispersion( const Math::vec3 & dispersion )

Sets the refraction displacement for red, green and blue channels (according to refraction texture of refractive materials). Can be used to create light dispersion (chromatic aberrations).

Arguments

  • const Math::vec3 & dispersion - Dispersion displacement per channel. If a negative value is set for a channel, 0 will be used instead.

Math::vec3 getRefractionDispersion( )

Returns the refraction displacement for red, green and blue channels (according to the refraction texture of refractive materials). It can be used to create light dispersion (chromatic aberrations).

Return value

Dispersion displacement.

void setRenderMaterials( const char * materials )

Sets render postprocess materials that are applied before all other postprocess (such as HDR, DoF, etc.) are rendered. Materials are applied in the order of listing.

Arguments

  • const char * materials - List of comma-separated postprocess material names.

const char * getRenderMaterials( )

Returns names of the current postprocess materials that are applied before all other postprocess (such as HDR, DoF, etc.) are rendered. Materials are applied in the order of listing.

Return value

Names of the current render materials.

void setScreenPrecision( int precision )

Sets screen precision. This parameter determines the texture format used for screen HDR buffers.

Arguments

  • int precision - One of the following values:
    • 0 - RG11B10F.
    • 1 - RGBA16F (by default).

int isScreenPrecision( )

Returns a value indicating the current screen precision. This parameter determines the texture format used for screen HDR buffers.

Return value

One of the following values:
  • 0 - RG11B10F.
  • 1 - RGBA16F (by default).

void setShaderDefines( const char * defines )

Set additional shader defines.

Arguments

  • const char * defines - Additional shader defines.

const char * getShaderDefines( )

Returns additional shader defines.

Return value

Additional shader defines.

void setShadowDistance( float distance )

Sets the distance, at which (and farther) shadows will not be rendered.

Arguments

  • float distance - Distance in units.

float getShadowDistance( )

Returns the distance, at which (and farther) shadows will not be rendered.

Return value

Distance in units.

void setShadows( int shadows )

Enables or disables shadows rendering.

Arguments

  • int shadows - 1 to enable shadows rendering, 0 to skip it. The default value is 1.

int isShadows( )

Returns a value indicating whether shadows are rendered or not.

Return value

1 if shadows are rendered; otherwise, 0.

void setShadowsAlphaTest( int test )

Enables or disables alpha test for shadows.

Arguments

  • int test - 1 to enable alpha test for shadows, 0 to disable it. The default value is 1.

int isShadowsAlphaTest( )

Returns a value indicating if alpha test is enabled for shadows.

Return value

1 if alpha test is enabled for shadows; otherwise, 0.

void setShadowShafts( int shafts )

Enables or disables volumetric shadows.

Arguments

  • int shafts - 1 to enable volumetric shadows, 0 to disable. The default value is 0.

int isShadowShafts( )

Returns a value indicating if volumetric shadows are enabled.

Return value

1 if volumetric shadows are enabled; otherwise, 0.

void setShadowShaftsExposure( float exposure )

Sets the contrast used for volumetric shadows.

Arguments

  • float exposure - Shadow contrast. The provided value will be saturated in the range [0.0f; 1.0f]. 0.0f means that the shadows are not seen at all.

float getShadowShaftsExposure( )

Returns the contrast used for volumetric shadows.

Return value

Shadow contrast.

void setShadowShaftsLength( float length )

Sets the length of volumetric shadows.

Arguments

  • float length - Shadow length. The provided value will be saturated in the range [0.0f; 1.0f]. 0.0f means that there are no shadows. 1 means that the shadows are long enough to occupy the whole screen.

float getShadowShaftsLength( )

Returns the length of volumetric shadows.

Return value

Shadow length.

void setShadowsOmniJitter( int jitter )

Enables or disables jittering for shadows casted by omni light sources.

Arguments

  • int jitter - 1 to enable jittering for shadows casted by omni light sources, 0 to disable it. The default value is 1.

int isShadowsOmniJitter( )

Returns the value indicating if jittering is enabled for shadows casted by omni light sources.

Return value

1 if jittering is enabled for shadows casted by omni light sources; otherwise, 0.

void setShadowsPrecision( int precision )

Sets the precision of soft shadows.

Arguments

  • int precision - One of the following values:
    • 0 - 16-bit precision.
    • 1 - 32-bit precision (by default).

int isShadowsPrecision( )

Returns the current precision of soft shadows.

Return value

One of the following values:
  • 0 - 16-bit precision.
  • 1 - 32-bit precision (by default).

void setShadowsScreenSpace( int space )

Enables or disables screen space shadows. They provide high-quality penumbra, per-light work, per-pixel detail at any zoom level and infinite visibility distance (when enabled, distant objects can cast shadows next to the horizon). Supports depth cutout parallax. Screen space shadows can be mixed with regular ones.
Notice
To set the value via the console, use the render_shadows_screenspace console command.

Arguments

  • int space - 1 to enable screen space shadows, 0 to disable. The default value is 1.

int isShadowsScreenSpace( )

Returns the value indicating if screen space shadows are enabled. They provide high-quality penumbra, per-light work, per-pixel detail at any zoom level and infinite visibility distance (when enabled, distant objects can cast shadows next to the horizon). Supports depth cutout parallax. Screen space shadows can be mixed with regular ones.
Notice
To get the value via the console, use the render_shadows_screenspace console variable.

Return value

1 if screen space shadows are enabled; otherwise, 0.

void setShadowsSoft( int soft )

Enables or disables soft shadows.

Arguments

  • int soft - 1 to enable soft shadows, 0 to disable. The default value is 1.

int isShadowsSoft( )

Returns the value indicating if soft shadows are enabled.

Return value

1 if soft shadows are enabled; otherwise, 0.

void setShadowsSoftQuality( int quality )

Sets the quality of soft shadows.

Arguments

  • int quality - One of the following values:
    • 0 - low.
    • 1 - medium (by default).
    • 2 - high.

int getShadowsSoftQuality( )

Returns the current quality of soft shadows.

Return value

One of the following values:
  • 0 - low.
  • 1 - medium (by default).
  • 2 - high.

void setShadowsWorldLerpCascades( int cascades )

Enables or disables shadows cascades lerp.

Arguments

  • int cascades - 1 to enable shadows cascades lerp, 0 to disable it. The default value is 1.

int isShadowsWorldLerpCascades( )

Returns the value indicating if shadows cascades lerp is enabled.

Return value

1 if shadows cascades lerp is enabled; otherwise, 0.

void setSharpen( int sharpen )

Enables or disables the sharpening post-processing effect.

Arguments

  • int sharpen - 1 to enable the sharpening post-processing effect, 0 to disable it. The default value is 0.

int isSharpen( )

Returns a value indicating if the sharpening post-processing effect is enabled.

Return value

1 if the sharpening post-processing effect is enabled; otherwise, 0.

void setSharpenIntensity( float intensity )

Sets intensity of the sharpening effect.

Arguments

  • float intensity - Intensity of the sharpening effect.

float getSharpenIntensity( )

Returns intensity of the sharpening effect.

Return value

Intensity of the sharpening effect.

void setShowAlphaTest( int test )

Displays or hides the visualizer for transparent objects using alpha test.

Arguments

  • int test - 1 to display the visualizer for transparent objects using alpha test, 0 to hide it. The default value is 0.

int isShowAlphaTest( )

Returns a value indicating whether the visualizer is displayed for transparent objects using alpha test or not.

Return value

1 if visualizer for transparent objects using alpha test is displayed; otherwise, 0.

void setShowAmbient( int ambient )

Enables or disables displaying the ambient pass buffer.

Arguments

  • int ambient - 1 to display the ambient pass buffer, 0 to hide it. The default value is 0.

int isShowAmbient( )

Returns a value indicating whether the ambient pass buffer is displayed or not.

Return value

1 if the ambient pass buffer is displayed; otherwise, 0.

void setShowCascades( int cascades )

Displays or hides world shadow cascades.

Arguments

  • int cascades - 1 to display world shadow cascades, 0 to hide them. The default value is 0.

int isShowCascades( )

Returns a value indicating whether world shadow cascades are displayed or not.

Return value

1 if world shadow cascades are displayed; otherwise, 0.

void setShowDecals( int decals )

Displays or hides the visualizer for decals.

Arguments

  • int decals - 1 to display the visualizer for decals, 0 to hide it. The default value is 0.

int isShowDecals( )

Returns a value indicating whether the visualizer is displayed for decals or not.

Return value

1 if visualizer for decals is displayed; otherwise, 0.

void setShowDynamic( int dynamic )

Displays or hides the visualizer for dynamic objects.

Arguments

  • int dynamic - 1 to display the visualizer for dynamic objects, 0 to hide it. The default value is 0.

int isShowDynamic( )

Returns a value indicating whether the visualizer is displayed for dynamic objects or not.

Return value

1 if visualizer for dynamic objects is displayed; otherwise, 0.

void setShowGeodeticPivot( int pivot )

Displays or hides geodetic pivots.

Arguments

  • int pivot - 1 to display geodetic pivots, 0 to hide them. The default value is 0.

int isShowGeodeticPivot( )

Returns a value indicating whether geodetic pivots are displayed or not.

Return value

1 if geodetic pivots are displayed; otherwise, 0.

void setShowMipmaps( int mipmaps )

Displays or hides texture mipmap levels.

Arguments

  • int mipmaps - 1 to display texture mipmap levels, 0 to hide them. The default value is 0.

int isShowMipmaps( )

Returns a value indicating whether texture mipmap levels are displayed or not.

Return value

1 if texture mipmap levels are displayed; otherwise, 0.

void setShowOccluder( int occluder )

Displays or hides the buffer used for occluders.

Arguments

  • int occluder - 1 to display the buffer used for occluders, 0 to hide it. The default value is 0.

int isShowOccluder( )

Returns a value indicating whether the buffer used for occluders is displayed in the viewport or not.

Return value

1 if the buffer used for occluders is displayed; otherwise, 0.

void setShowQueries( int queries )

Displays or hides occlusion query boxes.

Arguments

  • int queries - 1 to display occlusion query boxes, 0 to hide them. The default value is 0.

int isShowQueries( )

Returns a value indicating whether occlusion query boxes are displayed in the viewport or not.

Return value

1 if occlusion query boxes are displayed; otherwise, 0.

void setShowScissors( int scissors )

Displays or hides scissor rectangles.

Arguments

  • int scissors - 1 to display scissor rectangles, 0 to hide them. The default value is 0.

int isShowScissors( )

Returns a value indicating if scissor rectangles are displayed.

Return value

1 if scissor rectangles are displayed; otherwise, 0.

void setShowTextures( int textures )

Sets the display mode for buffers used by the renderer.

Arguments

  • int textures - One of the following values:
    • 0 - hide all buffers (by default).
    • 1 - display render textures in a compact view.
    • 2 - display render textures in a full view.

int getShowTextures( )

Returns the current display mode for buffers used by the renderer.

Return value

One of the following values:
  • 0 - all buffers are hidden (by default).
  • 1 - render textures are displayed in a compact view.
  • 2 - render textures are displayed in a full view.

void setShowTexturesNumber( int number )

Sets the number of buffers in a row displayed in the full view mode (see setShowTextures(2)).

Arguments

  • int number - Number of buffers in a row. Value within the [1; 16] range. The default value is 7.

int getShowTexturesNumber( )

Returns the current number of buffers in a row displayed in the full view mode (see setShowTextures(2)).

Return value

Number of buffers in a row.

void setShowTexturesOffset( int offset )

Sets the number of the buffer to start displaying from in the full view mode (see setShowTextures(2)).

Arguments

  • int offset - Number of the buffer to start displaying from. Value within the [0; 52] range. The default value is 0.

int getShowTexturesOffset( )

Returns the current number of the buffer to start displaying from in the full view mode (see setShowTextures(2)).

Return value

Number of the buffer to start displaying from. Value within the [0; 52] range.

void setShowTransparent( int transparent )

Displays or hides the visualizer for transparent objects.

Arguments

  • int transparent - 1 to display the visualizer for transparent objects, 0 to hide it. The default value is 0.

int isShowTransparent( )

Returns a value indicating whether the visualizer is displayed for transparent objects or not.

Return value

1 if visualizer for transparent objects is enabled; otherwise, 0.

void setShowTriangles( int triangles )

Sets the wireframe mode for scene triangles.

Arguments

  • int triangles - One of the following values:
    • 0 - triangles are hidden (by default).
    • 1 - front faces with the depth test are shown.
    • 2 - front faces without the depth test are shown.
    • 3 - front and back faces without the depth test are shown.

int getShowTriangles( )

Returns the current wireframe mode for scene triangles.

Return value

One of the following values:
  • 0 - triangles are hidden (by default).
  • 1 - front faces with the depth test are shown.
  • 2 - front faces without the depth test are shown.
  • 3 - front and back faces without the depth test are shown.

void setSkipClouds( int clouds )

Enables or disables skipping of clouds rendering.
Notice
To set the value via the console, use the render_skip_clouds console command.

Arguments

  • int clouds - 1 to skip rendering of clouds, 0 to render clouds. The default value is 0.

int isSkipClouds( )

Returns a value indicating if rendering of clouds is skipped.
Notice
To get the value via the console, use the render_skip_clouds console variable.

Return value

1 if rendering of clouds is skipped; otherwise, 0.

void setSkipLights( int lights )

Enables or disables skipping of lights rendering.
Notice
To set the value via the console, use the render_skip_lights console command.

Arguments

  • int lights - 1 to skip rendering of lights, 0 to render lights. The default value is 0.

int isSkipLights( )

Returns a value indicating if rendering of lights is skipped.
Notice
To get the value via the console, use the render_skip_lights console variable.

Return value

1 if rendering of lights is skipped; otherwise, 0.

void setSkipWater( int water )

Enables or disables skipping of water rendering.
Notice
To set the value via the console, use the render_skip_water console command.

Arguments

  • int water - 1 to skip rendering of water, 0 to render water. The default value is 0.

int isSkipWater( )

Returns a value indicating if rendering of water is skipped.
Notice
To get the value via the console, use the render_skip_water console variable.

Return value

1 if rendering of water is skipped; otherwise, 0.

void setSkipPostMaterials( int materials )

Enables or disables skipping of the post materials pass.
Notice
To set the value via the console, use the render_skip_post_materials console command.

Arguments

  • int materials - 1 to skip the post materials pass, 0 to render it. The default value is 0.

int isSkipPostMaterials( )

Returns a value indicating if the post materials pass is skipped.
Notice
To get the value via the console, use the render_skip_post_materials console variable.

Return value

1 if the post materials pass is skipped; otherwise, 0.

void setSkipRenderMaterials( int materials )

Enables or disables skipping of the render materials pass.
Notice
To set the value via the console, use the render_skip_render_materials console command.

Arguments

  • int materials - 1 to skip the render materials pass, 0 to render it. The default value is 0.

int isSkipRenderMaterials( )

Returns a value indicating if the render materials pass is skipped.
Notice
To get the value via the console, use the render_skip_render_materials console variable.

Return value

1 if the render materials pass is skipped; otherwise, 0.

void setSkipTransparent( int transparent )

Enables or disables skipping of the transparent pass.
Notice
To set the value via the console, use the render_skip_transparent console command.

Arguments

  • int transparent - 1 to skip the transparent pass, 0 to render it. The default value is 0.

int isSkipTransparent( )

Returns a value indicating if the transparent pass is skipped.
Notice
To get the value via the console, use the render_skip_transparent console variable.

Return value

1 if the transparent pass is skipped; otherwise, 0.

void setSkipTransparentAmbient( int ambient )

Enables or disables skipping of the transparent ambient pass.
Notice
To set the value via the console, use the render_skip_transparent_ambient console command.

Arguments

  • int ambient - 1 to skip the transparent ambient pass, 0 to render it. The default value is 0.

int isSkipTransparentAmbient( )

Returns a value indicating if the transparent ambient pass is skipped.
Notice
To get the value via the console, use the render_skip_transparent_ambient console variable.

Return value

1 if the transparent ambient pass is skipped; otherwise, 0.

void setSkipTransparentDeferred( int deferred )

Enables or disables skipping of the transparent deferred pass.
Notice
To set the value via the console, use the render_skip_transparent_deferred console command.

Arguments

  • int deferred - 1 to skip the transparent deferred pass, 0 to render it. The default value is 0.

int isSkipTransparentDeferred( )

Returns a value indicating if the transparent deferred pass is skipped.
Notice
To get the value via the console, use the render_skip_transparent_deferred console variable.

Return value

1 if the transparent deferred pass is skipped; otherwise, 0.

void setSkipTransparentLight( int light )

Enables or disables skipping of the transparent light pass.
Notice
To set the value via the console, use the render_skip_transparent_light console command.

Arguments

  • int light - 1 to skip the transparent light pass, 0 to render it. The default value is 0.

int isSkipTransparentLight( )

Returns a value indicating if the transparent light pass is skipped.
Notice
To get the value via the console, use the render_skip_transparent_light console variable.

Return value

1 if the transparent light pass is skipped; otherwise, 0.

void setSkipTransparentMultipleEnvProbes( int probes )

Enables or disables skipping of the transparent multiple environment probes pass.
Notice
To set the value via the console, use the render_skip_transparent_multiple_env_probes console command.

Arguments

  • int probes - 1 to skip the transparent multiple environment probes pass, 0 to render it. The default value is 0.

int isSkipTransparentMultipleEnvProbes( )

Returns a value indicating if the transparent multiple environment probes pass is skipped.
Notice
To get the value via the console, use the render_skip_transparent_multiple_env_probes console variable.

Return value

1 if the transparent multiple environment probes pass is skipped; otherwise, 0.

void setSkyRotation( const Math::quat & rotation )

Sets sky rotation.

Arguments

  • const Math::quat & rotation - Sky rotation quaternion.

Math::quat getSkyRotation( )

Returns sky rotation.

Return value

Sky rotation quaternion.

void setSSAO( int ssao )

Enables or disables the SSAO (Screen Space Ambient Occlusion) effect.

Arguments

  • int ssao - 1 to enable the SSAO effect, 0 to disable.

int isSSAO( )

Returns the value indicating if the SSAO (Screen Space Ambient Occlusion) effect is enabled.

Return value

1 if the SSAO effect is enabled; otherwise, 0.

void setSSAOCavity( int cavity )

Enables or disables the cavity option for the SSAO (Screen Space Ambient Occlusion) effect. This option improves (sharpens) the look of junction contours at low resolutions, so it should be used for detail enhancement (small stones, bolts and so on).

Arguments

  • int cavity - 1 to enable the cavity option for the SSAO effect, 0 to disable. The default value is 1.

int isSSAOCavity( )

Returns the value indicating if the cavity option for the SSAO (Screen Space Ambient Occlusion) effect is enabled. This option improves (sharpens) the look of junction contours at low resolutions, so it should be used for detail enhancement (small stones, bolts and so on).

Return value

1 if the cavity option for the SSAO effect is enabled; otherwise, 0.

void setSSAOCavityIntensity( float intensity )

Sets the intensity of sharpening of contours for the cavity option (see the setSSAOCavity() method).

Arguments

  • float intensity - Sharpening intensity value. The default value is 1.0f.

float getSSAOCavityIntensity( )

Returns the intensity of sharpening of contours for the cavity option (see the setSSAOCavity() method).

Return value

Sharpening intensity value. The default value is 1.0f.

void setSSAOCavityRadius( float radius )

Sets the size of junction contours area for the cavity option (see the setSSAOCavity() method).

Arguments

  • float radius - Size of junction contours area. The default value is 1.0f.

float getSSAOCavityRadius( )

Returns the size of junction contours area for the cavity option (see the setSSAOCavity() method).

Return value

Size of junction contours area. The default value is 1.0f.

void setSSAOIntensity( float intensity )

Sets the intensity of the SSAO (Screen Space Ambient Occlusion) for the scene. The intensity value affects brightness of shadows:
  • By the minimum value of 0.0f, the ambient occlusion shadowing is the lightest.

Arguments

  • float intensity - Intensity value of the SSAO (Screen Space Ambient Occlusion) for the scene. The default value is 1.0f.

float getSSAOIntensity( )

Returns the intensity of the SSAO (Screen Space Ambient Occlusion) for the scene. The intensity value affects brightness of shadows:
  • By the minimum value of 0.0f, the ambient occlusion shadowing is the lightest.

Return value

SSAO intensity value. The default value is 1.0f.

void setSSAOIntensityLightedSide( float side )

Sets the intensity of the SSAO (Screen Space Ambient Occlusion) for the scene object's lighted side.

Arguments

  • float side - SSAO intensity value for the scene object's lighted side. The default value is 1.0f.

float getSSAOIntensityLightedSide( )

Returns the intensity of SSAO(Screen Space Ambient Occlusion) for the scene objects' lighted side.

Return value

SSAO intensity value for the scene object's lighted side. The default value is 1.0f.

void setSSAOIntensityReflection( float reflection )

Sets the intensity of SSAO (Screen Space Ambient Occlusion) on reflections.

Arguments

  • float reflection - SSAO intensity value for reflections. The default value is 1.0f.

float getSSAOIntensityReflection( )

Returns the intensity of SSAO (Screen Space Ambient Occlusion) on reflections.

Return value

SSAO intensity value for reflections. The default value is 1.0f.

void setSSAONoise( int noise )

Enables or disables noise for the SSAO (Screen Space Ambient Occlusion) effect. This option reduces banding effect.
Notice
It is recommended to use noise with TAA enabled.

Arguments

  • int noise - 1 to enable SSAO noise, 0 to disable. The default value is 1.

int isSSAONoise( )

Returns the value indicating if noise for the SSAO (Screen Space Ambient Occlusion) effect is enabled. This option reduces banding effect.
Notice
It is recommended to use noise with TAA enabled.

Return value

1 if SSAO noise is enabled; otherwise, 0.

void setSSAOQuality( int quality )

Sets the quality of SSAO(Screen Space Ambient Occlusion).

Arguments

  • int quality - Quality of SSAO:
    • 0 - low quality.
    • 1 - medium quality (by default).
    • 2 - high quality.
    • 3 - ultra quality.

int getSSAOQuality( )

Returns the quality of SSAO (Screen Space Ambient Occlusion).

Return value

Quality of SSAO:
  • 0 - low quality.
  • 1 - medium quality (by default).
  • 2 - high quality.
  • 3 - ultra quality.

void setSSAORadius( float radius )

Sets the radius of SSAO (Screen Space Ambient Occlusion).The radius is the distance for each of the points in the world space, up to which they can shadow their neighboring points:
  • By low values, each point can cast shadows only on the points in the close range.
  • By high values, each point casts shadows on points at more distant locations.

Arguments

  • float radius - SSAO radius value. The default value is 1.0f.

float getSSAORadius( )

Returns the radius of SSAO (Screen Space Ambient Occlusion).The radius is the distance for each of the points in the world space, up to which they can shadow their neighboring points:
  • By low values, each point can cast shadows only on the points in the close range.
  • By high values, each point casts shadows on points at more distant locations.

Return value

SSAO radius value.

void setSSAOThreshold( float threshold )

Sets the threshold value for the SSAO (Screen Space Ambient Occlusion) effect.

Arguments

  • float threshold - SSAO threshold value in the range [0.0f; 1.0f]. The default value is 0.5f.

float getSSAOThreshold( )

Returns the current threshold value for the SSAO (Screen Space Ambient Occlusion) effect.

Return value

Current SSAO threshold value.

void setSSAORayTracing( int tracing )

Enables or disables ray tracing for SSAO (Screen Space Ambient Occlusion) calculation. When enabled, SSAO provides more realistic shadows between the objects.
Notice
Ray-traced SSAO calculation available only when the SSRTGI technique is enabled.

Arguments

  • int tracing - 1 to enable ray tracing for SSAO calculation, 0 to disable. The default value is 1.

int isSSAORayTracing( )

Returns a value indicating if ray tracing is used for SSAO (Screen Space Ambient Occlusion) calculation. When enabled, SSAO provides more realistic shadows between the objects.
Notice
Ray-traced SSAO calculation available only when the SSRTGI technique is enabled.

Return value

1 if ray tracing is used for SSAO calculation; otherwise, 0.

void setSSAORayTracingDenoise( int denoise )

Enables or disables noise reduction for the ray-traced SSAO (Screen Space Ambient Occlusion). This option reduces noise by using blur effect.
Notice
Ray-traced SSAO calculation available only when the SSRTGI technique is enabled.

Arguments

  • int denoise - 1 to enable noise reduction for the ray-traced SSAO, 0 to disable.

int isSSAORayTracingDenoise( )

Returns the value indicating if noise reduction for the ray-traced SSAO (Screen Space Ambient Occlusion) is enabled. This option reduces noise by using blur effect.
Notice
Ray-traced SSAO calculation available only when the SSRTGI technique is enabled.

Return value

1 if noise reduction for the ray-traced SSAO is enabled; otherwise, 0.

void setSSAORayTracingThreshold( float threshold )

Sets the threshold value for the ray-traced SSAO (Screen Space Ambient Occlusion).
Notice
Ray-traced SSAO calculation available only when the SSRTGI technique is enabled.

Arguments

  • float threshold - SSAO ray tracing threshold value. The default value is 1.0f.

float getSSAORayTracingThreshold( )

Returns the current threshold value for the ray-traced SSAO (Screen Space Ambient Occlusion).
Notice
Ray-traced SSAO calculation available only when the SSRTGI technique is enabled.

Return value

SSAO ray tracing threshold value. The default value is 1.0f.

void setSSAOResolution( int resolution )

Sets the resolution of SSAO (Screen Space Ambient Occlusion).

Arguments

  • int resolution - Resolution of SSAO:
    • 0 - quarter resolution.
    • 1 - half resolution (by default).
    • 2 - full resolution.

int getSSAOResolution( )

Returns the resolution of SSAO (Screen Space Ambient Occlusion).

Return value

Resolution of SSAO:
  • 0 - quarter resolution.
  • 1 - half resolution (by default).
  • 2 - full resolution.

void setSSGI( int ssgi )

Enables or disables the SSGI (Screen Space Global Illumination) effect.
Notice
To enable or disable the effect via the console, run the render_ssgi console command.

Arguments

  • int ssgi - 1 to enable the SSGI effect, 0 to disable it. The default value is 0.

int isSSGI( )

Returns the value indicating if the SSGI (Screen Space Global Illumination) effect is enabled.
Notice
To check if the effect is enabled, use also the render_ssgi console variable.

Return value

1 if the SSGI effect is enabled; otherwise, 0.

void setSSGIIntensity( float intensity )

Sets the intensity of the SSGI (Screen Space Global Illumination) for the scene.
  • By the minimum value of 0.0f, the global illumination is the darkest.
Notice
To set the intensity via the console, use the render_ssgi_intensity console command.

Arguments

  • float intensity - SSGI intensity value. The default value is 1.0f.

float getSSGIIntensity( )

Returns the intensity of the SSGI (Screen Space Global Illumination) for the scene.
  • By the minimum value of 0.0f, the global illumination is the darkest.
Notice
To get the intensity via the console, use the render_ssgi_intensity console variable.

Return value

SSGI intensity value. The default value is 1.0f.

void setSSGINormalThreshold( float threshold )

Sets the normal threshold of the SSGI (Screen Space Global Illumination). It determines sensitivity of GI to normals. Normals affect ray intensity: smaller angle of incidence increases ray intensity.
  • By the minimum value of 0.0f, normals are ignored.
Notice
To set the threshold via the console, use the render_ssgi_normal_threshold console command.

Arguments

  • float threshold - SSGI normal threshold value. The default value is 1.0f.

float getSSGINormalThreshold( )

Returns the normal threshold of the SSGI (Screen Space Global Illumination). It determines sensitivity of GI to normals. Normals affect ray intensity: smaller angle of incidence increases ray intensity.
  • By the minimum value of 0.0f, normals are ignored.
Notice
To get the threshold via the console, use the render_ssgi_normal_threshold console variable.

Return value

SSGI normal threshold value.

void setSSGIQuality( int quality )

Sets the quality of the SSGI (Screen Space Global Illumination). Quality means the number of the used samples:
  • Low — 4 samples
  • Medium — 8 samples
  • High — 16 samples
  • Ultra — 32 samples
Notice
To set the quality via the console, use the render_ssgi_quality console command.

Arguments

  • int quality - SSGI quality:
    • 0 - Low
    • 1 - Medium (by default)
    • 2 - High
    • 3 - Ultra

int getSSGIQuality( )

Returns the quality of the SSGI (Screen Space Global Illumination). Quality means the number of the used samples:
  • Low — 4 samples
  • Medium — 8 samples
  • High — 16 samples
  • Ultra — 32 samples
Notice
To get the quality via the console, use the render_ssgi_quality console variable.

Return value

SSGI quality:
  • 0 - Low
  • 1 - Medium (by default)
  • 2 - High
  • 3 - Ultra

void setSSGIRadius( float radius )

Sets the radius of the SSGI (Screen Space Global Illumination). The radius determines the size of the region surrounding a particular sampling point:
  • By low values, each point affects only the points in the close range.
  • By high values, each point affects farther positioned points.
Notice
To set the radius via the console, use the render_ssgi_radius console command.

Arguments

  • float radius - SSGI radius value. The default value is 1.0f.

float getSSGIRadius( )

Returns the radius of the SSGI (Screen Space Global Illumination). The radius determines the size of the region surrounding a particular sampling point:
  • By low values, each point affects only the points in the close range.
  • By high values, each point affects farther positioned points.
Notice
To get the radius via the console, use the render_ssgi_radius console variable.

Return value

SSGI radius value. The default value is 1.0f.

void setSSGIRayTracing( int tracing )

Enables or disables ray tracing for SSGI (Screen Space Global Illumination) calculation. When enabled, SSGI recreates light reflections from the object’s surface.
Notice
Ray-traced SSGI calculation available only when the SSRTGI technique is enabled.

Arguments

  • int tracing - 1 to enable ray tracing for SSGI calculation, 0 to disable. The default value is 1.

int isSSGIRayTracing( )

Returns the value indicating if ray tracing is used for SSGI (Screen Space Global Illumination) calculation. When enabled, SSGI recreates light reflections from the object’s surface.
Notice
Ray-traced SSGI calculation available only when the SSRTGI technique is enabled.

Return value

1 if ray tracing is used for SSGI calculation; otherwise, 0.

void setSSGIRayTracingDenoise( int denoise )

Enables or disables noise reduction for the ray-traced SSGI (Screen Space Global Illumination). This option reduces noise by using blur effect.
Notice
Ray-traced SSGI calculation available only when the SSRTGI technique is enabled.

Arguments

  • int denoise - 1 to enable noise reduction for the ray-traced SSGI, 0 to disable.

int isSSGIRayTracingDenoise( )

Returns a value indicating if noise reduction for the ray-traced SSGI (Screen Space Global Illumination) is enabled. This option reduces noise by using blur effect.
Notice
Ray-traced SSGI calculation available only when the SSRTGI technique is enabled.

Return value

1 if noise reduction for the ray-traced SSGI is enabled; otherwise, 0.

void setSSGIRayTracingThreshold( float threshold )

Sets the threshold value for the ray-traced SSGI (Screen Space Global Illumination).
Notice
Ray-traced SSGI calculation available only when the SSRTGI technique is enabled.

Arguments

  • float threshold - SSGI ray tracing threshold value. The default value is 1.0f.

float getSSGIRayTracingThreshold( )

Returns the current threshold value for the ray-traced SSGI (Screen Space Global Illumination).
Notice
Ray-traced SSGI calculation available only when the SSRTGI technique is enabled.

Return value

SSGI ray tracing threshold value. The default value is 1.0f.

void setSSGIResolution( int resolution )

Sets the resolution of SSGI (Screen Space Global Illumination).
Notice
To set the value via the console, use the render_ssgi_resolution console command.

Arguments

  • int resolution - SSGI resolution:
    • 0 - quarter resolution.
    • 1 - half resolution (by default).
    • 2 - full resolution.

int getSSGIResolution( )

Returns the resolution of SSGI (Screen Space Global Illumination).
Notice
To get the value via the console, use the render_ssgi_resolution console variable.

Return value

SSGI resolution:
  • 0 - quarter resolution.
  • 1 - half resolution (by default).
  • 2 - full resolution.

void setSSGIResolutionColor( int color )

Sets the resolution of the color buffer used for SSGI (Screen Space Global Illumination) calculation. This option significantly affects performance.

Arguments

  • int color - One of the following values:
    • 0 - quarter resolution.
    • 1 - half resolution (by default).
    • 2 - full resolution.

int getSSGIResolutionColor( )

Returns the resolution of the color buffer used for SSGI (Screen Space Global Illumination) calculation.

Return value

One of the following values:
  • 0 - quarter resolution.
  • 1 - half resolution (by default).
  • 2 - full resolution.

void setSSR( int ssr )

Enables or disables the SSR (Screen Space Reflections) effect.

Arguments

  • int ssr - 1 to enable the SSR effect, 0 to disable it.

int isSSR( )

Returns the value indicating if the SSR (Screen Space Reflections) effect is enabled.

Return value

1 if the SSR effect is enabled; otherwise, 0. The default value is 1.

void setSSRDenoise( int denoise )

Enables or disables noise reduction for the SSR (Screen Space Reflections) effect.

Arguments

  • int denoise - 1 to enable noise reduction for the SSR effect, 0 to disable it.

int isSSRDenoise( )

Returns the value indicating if noise reduction for the SSR (Screen Space Reflections) effect is enabled.

Return value

1 if noise reduction for the SSR effect is enabled; otherwise, 0.

void setSSRFastTracing( int tracing )

Enables or disables fast tracing for the SSR (Screen Space Reflections) effect. This mode makes it possible to obtain distant reflections using low number of steps while keeping performance high. However, tiny objects may not be reflected. Disabling this mode improves quality but significantly drops performance.

Arguments

  • int tracing - 1 to enable SSR fast tracing, 0 to disable it. The default value is 1.

int isSSRFastTracing( )

Returns the value indicating if fast tracing for the SSR (Screen Space Reflections) effect is enabled.

Return value

1 if SSR fast tracing is enabled; otherwise, 0.

void setSSRImportanceSampling( int sampling )

Enables or disables the importance sampling mode for the SSR (Screen Space Reflections) effect. Importance sampling provides more accurate but slower calculation of SSR roughness.

Arguments

  • int sampling - 1 to enable SSR importance sampling, 0 to disable it. The default value is 0.

int isSSRImportanceSampling( )

Returns the value indicating if the importance sampling mode for the SSR (Screen Space Reflections) effect is enabled. Importance sampling provides more accurate but slower calculation of SSR roughness.

Return value

1 if SSR importance sampling is enabled; otherwise, 0.

void setSSRIncreasedAccuracy( int accuracy )

Enables or disables increased accuracy for the SSR (Screen Space Reflections). This option reduces visual artifacts around objects, which can appear at resolution lower than full, by increasing accuracy of the last step.

Arguments

  • int accuracy - 1 to enable increased accuracy for the SSR, 0 to disable it. The default value is 0.

int isSSRIncreasedAccuracy( )

Returns a value indicating if increased accuracy option is enabled for the SSR (Screen Space Reflections). This option reduces visual artifacts around objects, which can appear at resolution lower than full, by increasing accuracy of the last step.

Return value

1 if increased accuracy is enabled for the SSR; otherwise, 0.

void setSSRNoiseRay( float ray )

Sets the intensity of the ray noise used for SSR (Screen Space Reflections) calculation. This parameter is used to reduce the banding effect on rough reflections by using the noise.
Notice
The option is available only when importance sampling is enabled.

Arguments

  • float ray - Ray noise intensity in range [0.0f;1.0f]. The default value is 0.5f. The higher is the value, the less pronounced is the banding effect.

float getSSRNoiseRay( )

Returns the intensity of the ray noise used for SSR (Screen Space Reflections) calculation. This parameter is used to reduce the banding effect on rough reflections by using the noise.

Return value

Ray noise intensity.

void setSSRNoiseStep( float step )

Sets the intensity of the step noise used for SSR (Screen Space Reflections) calculation. This parameter is used to reduce the banding effect of tracing by using the noise.

Arguments

  • float step - Step noise intensity. The default value is 0.3f. The higher is the value, the less pronounced is the banding effect.

float getSSRNoiseStep( )

Returns the intensity of the step noise used for SSR (Screen Space Reflections) calculation.

Return value

Step noise intensity.

void setSSRNumRays( int rays )

Sets the number of rays of SSR (Screen Space Reflections) per pixel that are used to calculate rough refrections. Using more rays provides more precise SSR roughness calculation, however, it is more expensive.
Notice
The option is available when importance sampling is enabled.

Arguments

  • int rays - Number of rays per pixel within the [1; 64] range. The default value is 4.

int getSSRNumRays( )

Returns the number of rays of SSR (Screen Space Reflections) per pixel that are used to calculate rough refrections.
Notice
The option is available when importance sampling is enabled.

Return value

Number of rays per pixel within the [1; 64] range.

void setSSRNumSteps( int steps )

Sets the number of steps of SSR (Screen Space Reflections) per ray that are used for trace calculation. Defines accuracy of reflections and causes a reasonable performance impact. The higher the value, the more accurate obstacles between objects are accounted.

Arguments

  • int steps - Number of steps per ray within the [1; 64] range. The default value is 16.

int getSSRNumSteps( )

Returns the number of steps of SSR (Screen Space Reflections) per ray that are used for trace calculation. The number of steps defines accuracy of reflections and causes a reasonable performance impact. The higher the value, the more accurate obstacles between objects are accounted.

Return value

Number of steps per ray within the [1; 64] range.

void setSSRResolution( int resolution )

Sets the resolution of SSR (Screen Space Reflections).
Notice
To set the value via the console, use the console command.

Arguments

  • int resolution - SSR resolution:
    • 0 - quarter resolution.
    • 1 - half resolution (by default).
    • 2 - full resolution.

int getSSRResolution( )

Returns the resolution of SSR (Screen Space Reflections).
Notice
To get the value via the console, use the console variable.

Return value

One of the following values:
  • 0 - quarter resolution.
  • 1 - half resolution (by default).
  • 2 - full resolution.

void setSSRResolutionColor( int color )

Sets the resolution of the color buffer used for SSR (Screen Space Reflections) calculation. This option significantly affects performance.

Arguments

  • int color - Color buffer resolution:
    • 0 - quarter resolution (by default).
    • 1 - half resolution.
    • 2 - full resolution.

int getSSRResolutionColor( )

Returns the resolution of the color buffer used for SSR (Screen Space Reflections) calculation.

Return value

Color buffer resolution:
  • 0 - quarter resolution (by default).
  • 1 - half resolution.
  • 2 - full resolution.

void setSSRResolutionDepth( int depth )

Sets the resolution of the depth buffer used for SSR (Screen Space Reflections) calculation. This option affects detailing of reflections of tiny objects.

Arguments

  • int depth - Depth buffer resolution:
    • 0 - quarter resolution (by default).
    • 1 - half resolution.
    • 2 - full resolution.
    Notice
    To gain performance, this option can be set to lower values while enabling increased accuracy.

int getSSRResolutionDepth( )

Returns the resolution of the depth buffer used for SSR (Screen Space Reflections) calculation.

Return value

Depth buffer resolution:
  • 0 - quarter resolution (by default).
  • 1 - half resolution.
  • 2 - full resolution.

void setSSRRoughnessQuality( int quality )

Sets the quality of SSR (Screen Space Reflections) roughness. The parameter can be changed only when the Importance sampling option is disabled.
Notice
To set the value via the console, use the render_ssr_roughness_quality console command.

Arguments

  • int quality - Roughness quality:
    • 0 - low quality.
    • 1 - medium quality (by default).
    • 2 - high quality.
    • 3 - ultra quality.

int getSSRRoughnessQuality( )

Returns the current quality of SSR (Screen Space Reflections) roughness.
Notice
To set the value via the console, use the render_ssr_roughness_quality console command.

Return value

Roughness quality:
  • 0 - low quality.
  • 1 - medium quality (by default).
  • 2 - high quality.
  • 3 - ultra quality.

void setSSRStepSize( float size )

Sets the size of the trace step used for SSR (Screen Space Reflections) calculation. The higher the value, the longer the trace. However, tiny objects may be missed. The lower the value, the more detailed will be reflections of the tiny objects.

Arguments

  • float size - Step size. The default value is 1.0f.

float getSSRStepSize( )

Returns the size of the trace step used for SSR (Screen Space Reflections) calculation.

Return value

Step size.

void setSSRTGI( int ssrtgi )

Enables or disables the SSRTGI (Screen Space Ray-Traced Global Illumination) effect.

Arguments

  • int ssrtgi - 1 to enable the SSRTGI effect, 0 to disable. The default value is 1.

int isSSRTGI( )

Returns a value indicating if the SSRTGI (Screen Space Ray-Traced Global Illumination) effect is enabled.

Return value

1 if the SSRTGI effect is enabled; otherwise, 0.

void setSSRTGIFastTracing( int tracing )

Enables or disables fast tracing for the SSRTGI (Screen Space Ray-Traced Global Illumination). This option dynamically changes step size to obtain indirect illumination bounces using low number of steps while keeping performance high. Disabling this option improves quality, but significantly reduces performance. The SSRTGI effect must be enabled (see the setSSRTGI() method).

Arguments

  • int tracing - 1 to enable fast tracing for the SSRTGI, 0 to disable. The default value is 1.

int isSSRTGIFastTracing( )

Returns a value indicating if fast tracing is enabled for the SSRTGI (Screen Space Ray-Traced Global Illumination).

Return value

1 if the SSRTGI fast tracing is enabled; otherwise, 0.

void setSSRTGIIncreasedAccuracy( int accuracy )

Enables or disables increased accuracy for the SSRTGI (Screen Space Ray-Traced Global Illumination). This option reduces visual artifacts by increasing accuracy of the last step. The SSRTGI effect must be enabled (see the setSSRTGI() method).

Arguments

  • int accuracy - 1 to enable increased accuracy for the SSRTGI, 0 to disable. The default value is 1.

int isSSRTGIIncreasedAccuracy( )

Returns a value indicating if increased accuracy option is enabled for the SSRTGI (Screen Space Ray-Traced Global Illumination).

Return value

1 if increased accuracy is enabled for the SSRTGI; otherwise, 0.

void setSSRTGINoiseRay( float ray )

Sets the intensity of the ray noise used for SSRTGI calculation. This parameter is used to reduce the banding effect on the final image by using the noise: the higher is the value, the less pronounced is the banding effect. The SSRTGI effect must be enabled (see the setSSRTGI() method).

Arguments

  • float ray - Ray noise intensity in range [0.0f;1.0f]. The default value is 0.5f. The higher is the value, the less pronounced is the banding effect.

float getSSRTGINoiseRay( )

Returns the intensity of the ray noise used for SSRTGI calculation.

Return value

Ray noise intensity in range [0.0f;1.0f].

void setSSRTGINoiseStep( float step )

Sets the intensity of the step noise used for SSRTGI calculation. This parameter is used to reduce the banding effect of tracing by using the noise: the higher is the value, the less pronounced is the banding effect. The SSRTGI effect must be enabled (see the setSSRTGI() method).

Arguments

  • float step - Step noise intensity in range [0.0f;1.0f]. The default value is 0.5f. The higher is the value, the less pronounced is the banding effect.

float getSSRTGINoiseStep( )

Returns the intensity of the step noise used for SSRTGI calculation.

Return value

Step noise intensity in range [0.0f;1.0f].

void setSSRTGINumRays( int rays )

Sets the number of rays of SSRTGI per pixel that are to calculate the final image. Using more rays provides more precise SSRTGI calculation, however, it is more expensive. The SSRTGI effect must be enabled (see the setSSRTGI() method).

Arguments

  • int rays - Number of rays per pixel in range [1;1024]. The default value is 8.

int getSSRTGINumRays( )

Returns the number of rays of SSRTGI per pixel that are to calculate the final image in range [1;1024].

Return value

Number of rays.

void setSSRTGINumSteps( int steps )

Sets the number of steps of SSRTGI per ray that are used for trace calculation. The higher the value, the more accurate obstacles between objects are accounted. However, this option significantly affects performance. The SSRTGI effect must be enabled (see the setSSRTGI() method).

Arguments

  • int steps - Number of steps in range [1;256]. The default value is 8.

int getSSRTGINumSteps( )

Returns the number of steps of SSRTGI per ray that are used for trace calculation.

Return value

Number of steps in range [1;256].

void setSSRTGIResolution( int resolution )

Sets the resolution of SSRTGI (Screen Space Ray-Traced Global Illumination). This option significantly affects performance. The SSRTGI effect must be enabled (see the setSSRTGI() method).

Arguments

  • int resolution - SSRTGI resolution:
    • 0 - quarter resolution.
    • 1 - half resolution (by default).
    • 2 - full resolution.

int getSSRTGIResolution( )

Returns the resolution of SSRTGI (Screen Space Ray-Traced Global Illumination).

Return value

SSRTGI resolution:
  • 0 - quarter resolution.
  • 1 - half resolution (by default).
  • 2 - full resolution.

void setSSRTGIResolutionDepth( int depth )

Sets the resolution of the depth buffer used for SSRTGI (Screen Space Ray-Traced Global Illumination) calculation. This option significantly affects performance. The SSRTGI effect must be enabled (see the setSSRTGI() method).

Arguments

  • int depth - Depth buffer resolution:
    • 0 - quarter resolution (by default).
    • 1 - half resolution.
    • 2 - full resolution.
    Notice
    To gain performance this option can be set to lower values while enabling the increased accuracy.

int getSSRTGIResolutionDepth( )

Returns the resolution of the depth buffer used for SSRTGI (Screen Space Ray-Traced Global Illumination) calculation.

Return value

Depth buffer resolution:
  • 0 - quarter resolution (by default).
  • 1 - half resolution.
  • 2 - full resolution.

void setSSRTGIStepSize( float size )

Sets the size of the trace step used for SSRTGI calculation. The higher the value, the longer the trace. However, tiny objects may be missed. The lower the value, the more detailed will be the tiny objects. The SSRTGI effect must be enabled (see the setSSRTGI() method).

Arguments

  • float size - Step size. The default value is 1.0f.

float getSSRTGIStepSize( )

Returns the size of the trace step used for SSRTGI calculation.

Return value

Step size.

void setSSRTGIUpscaling( int upscaling )

Enables or disables upscaling for the SSRTGI (Screen Space Ray-Traced Global Illumination). This option makes the quality of edges in half and quarter resolution look closer to full. The SSRTGI effect must be enabled (see the setSSRTGI() method).

Arguments

  • int upscaling - 1 to enable upscaling for the SSRTGI, 0 to disable it. The default value is 1.

int isSSRTGIUpscaling( )

Returns a value indicating if the upscaling option is enabled for the SSRTGI (Screen Space Ray-Traced Global Illumination).

Return value

1 if the SSRTGI upscaling is enabled; otherwise, 0.

void setSSRThreshold( float threshold )

Sets the threshold used for SSR (Screen Space Reflections) calculation. The threshold limits imitation of reflections in areas where SSR cannot get information. The higher the value, the less this effect is.

Arguments

  • float threshold - SSR threshold value. The default value is 1.0f

float getSSRThreshold( )

Returns the threshold used for SSR (Screen Space Reflections) calculation. The threshold limits imitation of reflections in areas where SSR cannot get information. The higher the value, the less this effect is.

Return value

SSR threshold.

void setSSRThresholdOcclusion( float occlusion )

Sets the occlusion threshold value. The occlusion threshold limits imitation of environment cubemap occlusion in areas where SSR cannot get information. The higher the value, the less this effect is. This parameter is mainly used for indoor environment to correct false reflections on occluded areas (false reflections are replaced with black color). For outdoor environment higher values of this parameter are recommended.

Arguments

  • float occlusion - SSR threshold occlusion. The default value is 1.0f

float getSSRThresholdOcclusion( )

Returns the current occlusion threshold value. The occlusion threshold limits imitation of environment cubemap occlusion in areas where SSR cannot get information. The higher the value, the less this effect is. This parameter is mainly used for indoor environment to correct false reflections on occluded areas (false reflections are replaced with black color). For outdoor environment higher values of this parameter are recommended.

Return value

SSR threshold occlusion.

void setSSRVisibilityRoughnessMax( float max )

Sets the maximum roughness value, starting from which the SSR (Screen Space Reflections) effect is not rendered.

Arguments

  • float max - Maximum roughness value within the [0.0f; 1.0f] range. The default value is 1.0f.

float getSSRVisibilityRoughnessMax( )

Returns the maximum roughness value, starting from which the SSR (Screen Space Reflections) effect is not rendered.

Return value

Maximum roughness value within the [0.0f; 1.0f] range.

void setSSRVisibilityRoughnessMin( float min )

Sets the minimum roughness value, starting from which the SSR (Screen Space Reflections) effect begins to fade out.

Arguments

  • float min - Minimum roughness value within the [0.0f; 1.0f] range. The default value is 1.0f.

float getSSRVisibilityRoughnessMin( )

Returns the minimum roughness value, starting from which the SSR (Screen Space Reflections) effect begins to fade out.

Return value

Minimum roughness value within the [0.0f; 1.0f] range.

void setSSS( int sss )

Enables or disables the SSS (subsurface scattering) effect.
Notice
To set the value via the console, use the render_sss console command.

Arguments

  • int sss - 1 to enable the SSS effect, 0 to disable. The default value is 0.

int isSSS( )

Returns a value indicating if the SSS (subsurface scattering) effect is enabled.
Notice
To get the value via the console, use the render_sss console variable.

Return value

1 if the SSS effect is enabled; otherwise, 0.

void setSSSColor( const Math::vec4 & color )

Sets a subsurface scattering color used to simulate the subsurface component of skin lighting, i.e. the light that bounces inside of the subsurface tissue layers (epidermis and dermis) before exiting. For skin, subsurface color is reddish, due to blood circulating in skin tissues.
Notice
To set the value via the console, use the render_sss_color console command.

Arguments

  • const Math::vec4 & color - A subsurface scattering color.

Math::vec4 getSSSColor( )

Returns the current subsurface scattering color.
Notice
To get the value via the console, use the render_sss_color console variable.

Return value

A subsurface scattering color.

void setSSSQuality( int quality )

Sets the quality of the SSS (subsurface scattering) effect.
Notice
To set the value via the console, use the render_sss_quality console command.

Arguments

  • int quality - SSS quality:
    • 0 - low quality.
    • 1 - medium quality (by default).
    • 2 - high quality.
    • 3 - ultra quality.

int getSSSQuality( )

Returns the quality of the SSS (subsurface scattering) effect.
Notice
To get the value via the console, use the render_sss_quality console variable.

Return value

SSS quality:
  • 0 - low quality.
  • 1 - medium quality (by default).
  • 2 - high quality.
  • 3 - ultra quality.

void setSSSRadius( float radius )

Sets the subsurface scattering radius: distance in the screen space, within which colors will be sampled. It controls how much wrinkles, pores and cavities will be blurred and highlighted. The higher the value, the farther subsurface scattering reaches. Too high values result in the ghosting effect. By the minimum value of 0, no subsurface scattering is rendered.
Notice
To set the value via the console, use the render_sss_radius console command.

Arguments

  • float radius - Subsurface scattering radius. The default value is 1.0f.

float getSSSRadius( )

Returns the current subsurface scattering radius.
Notice
To get the value via the console, use the render_sss_radius console variable.

Return value

Subsurface scattering radius value.

void setSSSResolution( int resolution )

Sets the resolution of the SSS (subsurface scattering) effect.
Notice
To set the value via the console, use the render_sss_resolution console command.

Arguments

  • int resolution - SSS resolution:
    • 0 - half resolution (by default).
    • 1 - full resolution.

int getSSSResolution( )

Returns the resolution of the SSS (subsurface scattering) effect.
Notice
To get the value via the console, use the render_sss_resolution console variable.

Return value

SSS resolution:
  • 0 - half resolution (by default).
  • 1 - full resolution.

void setStereo( int stereo )

Sets the stereo rendering mode.
Notice
To set the value via the console, use the render_stereo console command. It is not possible to set a stereo mode via a console if the default system script is used; it allows for setting it only on the start-up.

Arguments

  • int stereo - Stereo rendering mode:
    • 0 - disabled (by default).
    • 1 - enabled anaglyph stereo.
    • 2 - enabled interlaced stereo.
    • 3 - enabled horizontal stereo.
    • 4 - enabled vertical stereo.

int getStereo( )

Returns the current stereo rendering mode.
Notice
To get the value via the console, use the render_stereo console variable.

Return value

Stereo rendering mode:
  • 0 - disabled (by default).
  • 1 - enabled anaglyph stereo.
  • 2 - enabled interlaced stereo.
  • 3 - enabled horizontal stereo.
  • 4 - enabled vertical stereo.

void setStereoDistance( float distance )

Sets the focal distance for stereo rendering (distance in the world space to the point where two views line up, i.e. to the zero parallax plane).

Arguments

  • float distance - Focal distance for stereo rendering, in units.

float getStereoDistance( )

Returns the focal distance for stereo rendering (distance in the world space to the point where two views line up).

Return value

Focal distance for stereo rendering, in units.

void setStereoOffset( float offset )

Sets the virtual camera offset (an offset after the perspective projection).

Arguments

  • float offset - Virtual camera offset in units.

float getStereoOffset( )

Returns the virtual camera offset (an offset after the perspective projection).

Return value

Virtual camera offset in units.

void setStereoRadius( float radius )

Sets the radius for stereo (the half of the separation distance between the cameras).

Arguments

  • float radius - Stereo radius, in units. If a negative value is provided, 0 will be used instead.

float getStereoRadius( )

Returns the current radius for stereo (the half of the separation distance between the cameras).

Return value

Stereo radius, in units.

void setSunShafts( int shafts )

Enables or disables the light shafts effects.
Notice
To set the value via the console, use the render_sun_shafts console command.

Arguments

  • int shafts - 1 to enable light shafts, 0 to disable.

int isSunShafts( )

Returns a value indicating if light shafts are enabled.
Notice
To get the value via the console, use the render_sun_shafts console variable.

Return value

1 if the light shafts are enabled; otherwise, 0.

void setSunShaftsAttenuation( float attenuation )

Sets the power of fading for HDR shaft flare across its length.

Arguments

  • float attenuation - Fading power. The provided value will be clamped to [0.0f; 1.0f] range.

float getSunShaftsAttenuation( )

Returns the current power of fading for HDR shaft flare across its length.

Return value

Fading power.

void setSunShaftsColor( const Math::vec4 & color )

Sets the color of the lens shafts.

Arguments

  • const Math::vec4 & color - Color of lens shafts.

Math::vec4 getSunShaftsColor( )

Returns the current color of the lens shafts.

Return value

Color of lens shafts.

void setSunShaftsLength( float length )

Sets the length of flare shafts.

Arguments

  • float length - Length of flare shafts relative to the screen width. The provided value is saturated in the range [0.0f; 1.0f].

float getSunShaftsLength( )

Returns the length of a flare shaft.

Return value

Length of a flare shaft relative to the screen width.

void setSunShaftsScale( float scale )

Sets the multiplier for color of HDR shaft flares.

Arguments

  • float scale - Shaft color scale. If a negative value is provided, 0.0f will be used instead.

float getSunShaftsScale( )

Returns the current multiplier for color of HDR shaft flares.

Return value

Shaft color scale.

void setSunShaftsThreshold( float threshold )

Sets the brightness threshold for flare shafts.

Arguments

  • float threshold - Flare shafts threshold.

float getSunShaftsThreshold( )

Returns the current brightness threshold for flare shafts.

Return value

Flare shafts threshold.

void setSupersampling( float supersampling )

Sets the number of samples per pixel used for supersampling.
Notice
To set the value via the console, use the render_supersampling console command.

Arguments

  • float supersampling - Number of samples per pixel within the range [1e-6f; 8.0f]. The default value is 1.0f

float getSupersampling( )

Returns the number of samples per pixel used for supersampling.
Notice
To get the value via the console, use the render_supersampling console variable.

Return value

Number of samples per pixel.

void setTAAColorClamping( int clamping )

Enables or disables the TAA color clamping option. When enabled, the pixel color of the current and the previous frames is clamped. The image becomes more sharp, however, flickering can appear. Clamping is available only when TAA is enabled.
Notice
To set the value via the console, use the render_taa_color_clamping console command.

Arguments

  • int clamping - 1 to enable the TAA color clamping option, 0 to disable it. The default value is 1.

int isTAAColorClamping( )

Returns a value indicating if the TAA color clamping option is enabled. When enabled, the pixel color of the current and the previous frames is clamped. Clamping is available only when TAA is enabled.
Notice
To get the value via the console, use the render_taa_color_clamping console variable.

Return value

1 if TAA color clamping is enabled; otherwise, 0.

void setTAAFixFlicker( int flicker )

Enables or disables the TAA fix flicker option. This option fixes flickering edges caused by TAA: it removes bright pixels by using the pixel brightness information from the previous frame. It is recommended to enable the option for bright thin ropes, wires and lines. The option is available only when TAA is enabled.
Notice
To set the value via the console, use the render_taa_fix_flicker console command.

Arguments

  • int flicker - 1 to enable the TAA fix flicker option, 0 to disable it. The default value is 1.

int isTAAFixFlicker( )

Returns a value indicating if the TAA fix flicker option is enabled. This option fixes flickering edges caused by TAA: it removes bright pixels by using the pixel brightness information from the previous frame. It is recommended to enable the option for bright thin ropes, wires and lines. The option is available only when TAA is enabled.
Notice
To get the value via the console, use the render_taa_fix_flicker console variable.

Return value

1 if the TAA fix flicker option is enabled; otherwise, 0.

void setTAAFrameCount( float count )

Sets the frame count of TAA (Temporal Anti-Aliasing). Specifies the number of frames combined for pixels. The higher the value, the more frames are combined into the final image and the better anti-aliasing.
Notice
To set the value via the console, use the render_taa_frame_count console command.

Arguments

  • float count - TAA frame count value. The default value is 30.0f.

float getTAAFrameCount( )

Returns the frame count of TAA (Temporal Anti-Aliasing). Specifies the number of frames combined for pixels. The higher the value, the more frames are combined into the final image and the better anti-aliasing.
Notice
To get the value via the console, use the render_taa_frame_count console variable.

Return value

TAA frame count value.

void setTAAMaxFrameCount( float count )

Sets the maximum frame count of TAA (Temporal Anti-Aliasing). Specifies the maximum number of frames combined for pixels that don't move relative to the screen space.
Notice
To set the value via the console, use the render_taa_max_frame_count console command.

Arguments

  • float count - Maximum TAA frame count value. The default value is 60.0f.

float getTAAMaxFrameCount( )

Returns the maximum frame count of TAA (Temporal Anti-Aliasing). Specifies the maximum number of frames combined for pixels that don't move relative to the screen space.
Notice
To get the value via the console, use the render_taa_max_frame_count console variable.

Return value

Maximum TAA frame count value.

void setTAAMinFrameCount( float count )

Sets the minimum frame count of TAA (Temporal Anti-Aliasing). Specifies the minimum number of frames combined for fast moving pixels on the screen.
Notice
To set the value via the console, use the render_taa_min_frame_count console command.

Arguments

  • float count - Minimum TAA frame count value. The default value is 4.0f.

float getTAAMinFrameCount( )

Returns the minimum frame count of TAA (Temporal Anti-Aliasing). Specifies the minimum number of frames combined for fast moving pixels on the screen.
Notice
To get the value via the console, use the render_taa_min_frame_count console variable.

Return value

Minimum TAA frame count value.

void setTAAPreserveDetails( float details )

Sets the detail level of TAA (Temporal Anti-Aliasing). The higher the value, the more detailed the image is. Can produce additional flickering.
Notice
To set the value via the console, use the render_taa_preserve_details console command.

Arguments

  • float details - TAA detail level value. The default value is 1.5f.

float getTAAPreserveDetails( )

Returns the detail level of TAA (Temporal Anti-Aliasing). The higher the value, the more detailed the image is. Can produce additional flickering.
Notice
To get the value via the console, use the render_taa_preserve_details console variable.

Return value

TAA detail level value.

void setTAAVelocityClamping( int clamping )

Enables or disables the TAA velocity clamping option. This option controls the number of frames combined for pixels depending on the velocity in the fragment: the number of frames is clamped to the [Min frame count;Max frame count]. It reduces blurring in dynamic scenes with a lot of moving objects.
Notice
To set the value via the console, use the render_taa_velocity_clamping console command.

Arguments

  • int clamping - 1 to enable the TAA velocity clamping option, 0 to disable it. The default value is 1.

int isTAAVelocityClamping( )

Returns a value indicating if the TAA velocity clamping option is enabled. T This option controls the number of frames combined for pixels depending on the velocity in the fragment: the number of frames is clamped to the [Min frame count;Max frame count]. It reduces blurring in dynamic scenes with a lot of moving objects.
Notice
To get the value via the console, use the render_taa_velocity_clamping console variable.

Return value

1 if TAA velocity clamping is enabled; otherwise, 0.

void setTAAVelocityThreshold( float threshold )

Sets the velocity threshold of TAA (Temporal Anti-Aliasing), at which pixels are treated as fast moving ones.
Notice
To set the value via the console, use the render_taa_velocity_threshold console command.

Arguments

  • float threshold - TAA velocity threshold value. The default value is 1.0f.

float getTAAVelocityThreshold( )

Returns the velocity threshold of TAA (Temporal Anti-Aliasing), at which pixels are treated as fast moving ones.
Notice
To get the value via the console, use the render_taa_velocity_threshold console variable.

Return value

TAA velocity threshold value.

void setTerrainAnisotropy( int anisotropy )

Sets the terrain texture anisotropy level (degree of anisotropic filtering). Anisotropy for terrain has a huge impact for the performance if terrain has a lot of tiled detail materials as anisotropy filtering for the terrain is much slower than for the other objects.
Notice
To set the value via the console, use render_terrain_anisotropy console command.

Arguments

  • int anisotropy - Anisotropy level:
    • 0 - anisotropy level 1.
    • 1 - anisotropy level 2.
    • 2 - anisotropy level 4 (by default).
    • 3 - anisotropy level 8.
    • 4 - anisotropy level 16.

int getTerrainAnisotropy( )

Returns the current terrain texture anisotropy level (degree of anisotropic filtering). Anisotropy for terrain has a big impact for the performance if terrain has a lot of tiled detail materials.
Notice
To get the value via the console, use render_terrain_anisotropy console variable.

Return value

Anisotropy level:
  • 0 - anisotropy level 1.
  • 1 - anisotropy level 2.
  • 2 - anisotropy level 4 (by default).
  • 3 - anisotropy level 8.
  • 4 - anisotropy level 16.

void setTerrainDisplacement( int displacement )

Enables or disables displacement mapping for the terrain.
Notice
To set the value via the console, use render_terrain_displacement console command.

Arguments

  • int displacement - 1 to enable displacement mapping for the terrain; 0 to disable it. The default value is 1.

int isTerrainDisplacement( )

Returns a value indicating if displacement mapping is enabled for the terrain.
Notice
To get the value via the console, use render_terrain_displacement console variable.

Return value

1 if displacement mapping is enabled for the terrain; otherwise, 0.

void setTerrainDisplacementNormal( int normal )

Enables or disables use of normals in displacement mapping for terrain rendering.
Notice
To set the value via the console, use render_terrain_displacement_normal console command.

Arguments

  • int normal - 1 to enable displacement mapping for the terrain; 0 to disable it. The default value is 1.

int isTerrainDisplacementNormal( )

Returns a value indicating if displacement mapping for terrain rendering uses normals.
Notice
To get the value via the console, use render_terrain_displacement_normal console variable.

Return value

1 if displacement mapping for terrain rendering uses normals; otherwise, 0.

void setTerrainHoles( int holes )

Sets a value indicating if decal-based terrain holes are enabled.
Notice
To set the value via the console, use render_terrain_holes console variable.

Arguments

  • int holes - 1 to enable decal-based terrain holes; otherwise, 0.

int isTerrainHoles( )

Returns a value indicating if decal-based terrain holes are enabled.
Notice
To get the value via the console, use render_terrain_holes console variable.

Return value

1 if decal-based terrain holes are enabled; otherwise, 0.

void setTerrainRefinedAlbedo( int albedo )

Sets the type of terrain albedo textures (refined or coarse).
Notice
To set the value via the console, use render_terrain_refined_albedo console command.

Arguments

  • int albedo - 1 to use the refined texture, 0 to use the coarse texture. The default value is 1.

int isTerrainRefinedAlbedo( )

Returns a value indicating which type of terrain albedo textures (refined or coarse) is used.
Notice
To get the value via the console, use render_terrain_refined_albedo console variable.

Return value

1 if refined texture is used, 0 if coarse texture is used.

void setTerrainRefinedMask( int mask )

Sets the type of terrain mask textures (refined or coarse).
Notice
To set the value via the console, use render_terrain_refined_mask console command.

Arguments

  • int mask - 1 to use the refined texture, 0 to use the coarse texture. The default value is 1.

int isTerrainRefinedMask( )

Returns a value indicating which type of terrain mask textures (refined or coarse) is used.
Notice
To get the value via the console, use render_terrain_refined_mask console variable.

Return value

1 if refined texture is used, 0 if coarse texture is used.

void setTerrainRefinedNormal( int normal )

Sets the type of terrain normal textures (refined or coarse).
Notice
To set the value via the console, use render_terrain_refined_normal console command.

Arguments

  • int normal - 1 to use the refined texture, 0 to use the coarse texture. The default value is 1.

int isTerrainRefinedNormal( )

Returns a value indicating which type of terrain normal textures (refined or coarse) is used.
Notice
To get the value via the console, use render_terrain_refined_normal console variable.

Return value

1 if refined texture is used, 0 if coarse texture is used.

void setTerrainTriplanar( int triplanar )

Enables or disables triplanar texture mapping for the terrain.
Notice
To set the value via the console, use render_terrain_triplanar console command.

Arguments

  • int triplanar - 1 to enable triplanar texture mapping for the terrain; 0 to use planar UV mapping instead.

int isTerrainTriplanar( )

Returns a value indicating if triplanar texture mapping is enabled for the terrain.
Notice
To get the value via the console, use render_terrain_triplanar console variable.

Return value

1 if triplanar texture mapping is enabled for the terrain; otherwise, 0.

void setTexturesAnisotropy( int anisotropy )

Sets the anisotropy level for textures (degree of anisotropic filtering).
Notice
To set the value via the console, use render_textures_anisotropy console command.

Arguments

  • int anisotropy - Anisotropy level:
    • 0 - anisotropy level 1.
    • 1 - anisotropy level 2.
    • 2 - anisotropy level 4.
    • 3 - anisotropy level 8 (by default).
    • 4 - anisotropy level 16.

int getTexturesAnisotropy( )

Returns current anisotropy level for textures (degree of anisotropic filtering).
Notice
To get the value via the console, use render_textures_anisotropy console variable.

Return value

Anisotropy level:
  • 0 - anisotropy level 1.
  • 1 - anisotropy level 2.
  • 2 - anisotropy level 4.
  • 3 - anisotropy level 8 (by default).
  • 4 - anisotropy level 16.

void setTexturesFilter( int filter )

Sets the texture filtering mode.
Notice
To set the value via the console, use render_textures_filter console command.

Arguments

  • int filter - Texture filtering mode:
    • 0 - bilinear filtering.
    • 1 - trilinear filtering (by default).

int getTexturesFilter( )

Returns the current texture filtering mode.
Notice
To get the value via the console, use render_textures_filter console variable.

Return value

Texture filtering mode:
  • 0 - bilinear filtering.
  • 1 - trilinear filtering (by default).

void setTexturesMaxResolution( int resolution )

Sets the maximum resolution of all textures. The engine doesn't compress existing textures: it uses specified mipmaps of *.dds textures.
Notice
To set the value via the console, use render_textures_max_resolution console command.

Arguments

  • int resolution - Maximum resolution:
    • 0 - 128 x 128.
    • 1 - 256 x 256.
    • 2 - 512 x 512.
    • 3 - 1024 x 1024.
    • 4 - 2048 x 2048.
    • 5 - 4096 x 4096.
    • 6 - 8192 x 8192 (by default).
    • 7 - 16384 x 16384.

int getTexturesMaxResolution( )

Returns the current maximum resolution of all textures. The engine doesn't compress existing textures: it uses specified mipmaps of *.dds textures.
Notice
To get the value via the console, use render_textures_max_resolution console variable.

Return value

Maximum resolution:
  • 0 - 128 x 128.
  • 1 - 256 x 256.
  • 2 - 512 x 512.
  • 3 - 1024 x 1024.
  • 4 - 2048 x 2048.
  • 5 - 4096 x 4096.
  • 6 - 8192 x 8192 (by default).
  • 7 - 16384 x 16384.

void setTexturesMinResolution( int resolution )

Sets the minimum resolution of all textures. The engine doesn't compress existing textures: it uses specified mip maps of *.dds textures.
Notice
To set the value via the console, use render_textures_min_resolution console command.

Arguments

  • int resolution - Minimum resolution:
    • 0 - 128 x 128 (by default).
    • 1 - 256 x 256.
    • 2 - 512 x 512.
    • 3 - 1024 x 1024.
    • 4 - 2048 x 2048.
    • 5 - 4096 x 4096.
    • 6 - 8192 x 8192.
    • 7 - 16384 x 16384.

int getTexturesMinResolution( )

Returns the current minimum resolution of all textures. The engine doesn't compress existing textures: it uses specified mipmaps of *.dds textures.
Notice
To get the value via the console, use render_textures_min_resolution console variable.

Return value

Minimum resolution:
  • 0 - 128 x 128 (by default).
  • 1 - 256 x 256.
  • 2 - 512 x 512.
  • 3 - 1024 x 1024.
  • 4 - 2048 x 2048.
  • 5 - 4096 x 4096.
  • 6 - 8192 x 8192.
  • 7 - 16384 x 16384.

void setTexturesQuality( int quality )

Sets the resolution of textures.
Notice
To set the value via the console, use render_textures_quality console command.

Arguments

  • int quality - One of the QUALITY_* pre-defined variables.

int getTexturesQuality( )

Returns the current resolution of textures.
Notice
To get the value via the console, use render_textures_quality console variable.

Return value

One of the QUALITY_* pre-defined variables.

void setTransparentBlur( int blur )

Enables or disables transparent blur for materials. This option makes it possible to render matte transparent materials like matte glass.
Notice
To set the value via the console, use render_transparent_blur console command.

Arguments

  • int blur - 1 to enable transparent blur for materials, 0 to disable it. The default value is 1.

int isTransparentBlur( )

Returns a value indicating if transparent blur is enabled for materials. This option makes it possible to render matte transparent materials like matte glass.
Notice
To get the value via the console, use render_transparent_blur console variable.

Return value

1 if transparent blur is enabled for materials; otherwise, 0.

void setViewport( const Ptr<Viewport> & viewport )

Sets a viewport for a main application window.

Arguments

  • const Ptr<Viewport> & viewport - Pointer to Viewport.

Ptr<Viewport> getViewport( )

Returns a main application window viewport.

Return value

Pointer to Viewport.

void setVirtualResolution( const Math::vec2 & resolution )

Sets virtual screen resolution. This option can be used to render video with high resolution (e.g. 8K) regardless of monitor's resolution.
Notice
To set the value via the console, use the render_virtual_resolution console command.

Arguments

  • const Math::vec2 & resolution - Virtual screen resolution (X, Y), in pixels. The default value is (-1, -1).

Math::vec2 getVirtualResolution( )

Returns the current virtual screen resolution.
Notice
To get the value via the console, use the render_virtual_resolution console variable.

Return value

Virtual screen resolution (X, Y), in pixels.

void setVREmulation( int emulation )

Sets the VR-emulation mode.
Notice
To set the value via the console, use the render_vr_emulation console command.

Arguments

  • int emulation - VR-emulation mode:
    • 0 - disabled (by default).
    • 1 - HTC Vive emulation.
    • 2 - HTC Vive Pro emulation.
    • 3 - Oculus Rift emulation.

int getVREmulation( )

Returns the value indicating the current VR-emulation mode.
Notice
To get the value via the console, use the render_vr_emulation console variable.

Return value

VR-emulation mode:
  • 0 - disabled (by default).
  • 1 - HTC Vive emulation.
  • 2 - HTC Vive Pro emulation.
  • 3 - Oculus Rift emulation.

void setWaterAnisotropy( int anisotropy )

Sets water texture anisotropy level.
Notice
To set the value via the console, use the render_water_anisotropy console command.

Arguments

  • int anisotropy - Anisotropy level:
    • 0 - anisotropy level 1.
    • 1 - anisotropy level 2 (by default).
    • 2 - anisotropy level 4.
    • 3 - anisotropy level 8.
    • 4 - anisotropy level 16.

int getWaterAnisotropy( )

Returns current water texture anisotropy level.
Notice
To get the value via the console, use the render_water_anisotropy console variable.

Return value

Anisotropy level:
  • 0 - anisotropy level 1.
  • 1 - anisotropy level 2 (by default).
  • 2 - anisotropy level 4.
  • 3 - anisotropy level 8.
  • 4 - anisotropy level 16.

void setWaterEnvironmentProbes( int probes )

Enables or disables rendering of environment probes on the water surface.
Notice
To set the value via the console, use the render_water_environment_probes console command.

Arguments

  • int probes - 1 to enable rendering of environment probes on the water surface, 0 to disable it. The default value is 1.

int isWaterEnvironmentProbes( )

Returns a value indicating if rendering of environment probes on the water surface is enabled.
Notice
To get the value via the console, use the render_water_environment_probes console variable.

Return value

1 if rendering of environment probes on the water surface is enabled; otherwise, 0.

void setWaterVoxelProbes( int probes )

Enables or disables voxel probes for water rendering.
Notice
To set the value via the console, use the render_water_voxel_probes console command.

Arguments

  • int probes - 1 to enable voxel probes for water rendering, 0 to disable it. The default value is 1.

int isWaterVoxelProbes( )

Returns a value indicating if voxel probes are enabled for water rendering.
Notice
To get the value via the console, use the render_water_voxel_probes console variable.

Return value

1 if voxel probes are enabled for water rendering; otherwise, 0.

void setWaterLights( int lights )

Enables or disables rendering of lights on the water surface.
Notice
To set the value via the console, use the render_water_lights console command.

Arguments

  • int lights - 1 to enable rendering of lights on the water surface, 0 to disable it. The default value is 1.

int isWaterLights( )

Returns a value indicating if rendering of lights on the water surface is enabled.
Notice
To get the value via the console, use the render_water_lights console variable.

Return value

1 if rendering of lights on the water surface is enabled; otherwise, 0.

void setWaterOpacityDepth( int depth )

Enables or disables writing depth data for water to the opacity buffer.
Notice
To set the value via the console, use the render_water_opacity_depth console command.

Arguments

  • int depth - 1 to enable writing depth data for water to the opacity buffer, 0 to disable it. The default value is 1.

int isWaterOpacityDepth( )

Returns a value indicating if depth data for water is written to the opacity buffer.
Notice
To get the value via the console, use the render_water_opacity_depth console variable.

Return value

1 if depth data for water is written to the opacity buffer; otherwise, 0.

void setWaterRefractionQuality( int quality )

Sets the quality of water refraction.
Notice
To set the value via the console, use the render_water_refraction_quality console command.

Arguments

  • int quality - Refraction quality:
    • 0 - low quality.
    • 1 - medium quality.
    • 2 - high quality (by default).
    • 3 - ultra quality.

int getWaterRefractionQuality( )

Returns current quality of water refraction.
Notice
To get the value via the console, use the render_water_refraction_quality console variable.

Return value

Refraction quality:
  • 0 - low quality.
  • 1 - medium quality.
  • 2 - high quality (by default).
  • 3 - ultra quality.

void setWaterShafts( int shafts )

Enables or disables rendering of underwater shafts.
Notice
To set the value via the console, use the render_water_shafts console command.

Arguments

  • int shafts - 1 to enable rendering of underwater shafts, 0 to disable it. The default value is 1.

int isWaterShafts( )

Returns a value indicating if rendering of underwater shafts is enabled.
Notice
To get the value via the console, use the render_water_shafts console variable.

Return value

1 if rendering of underwater shafts is enabled; otherwise, 0.

void setWaterShorelineWetness( int wetness )

Enables or disables the wetness effect for objects near the shoreline.
Notice
To set the value via the console, use the render_water_shoreline_wetness console command.

Arguments

  • int wetness - 1 to enable shoreline wetness, 0 to disable it. The default value is 1.

int isWaterShorelineWetness( )

Returns a value indicating if the wetness effect for objects near the shoreline is enabled.
Notice
To get the value via the console, use the render_water_shoreline_wetness console variable.

Return value

1 if shoreline wetness is enabled; otherwise, 0.

void setWaterSSR( int waterssr )

Enables or disables the SSR (Screen Space Reflections) effect for water.
Notice
To set the value via the console, use the render_water_ssr console command.

Arguments

  • int waterssr - 1 to enable the SSR effect for water, 0 to disable.

int isWaterSSR( )

Returns the value indicating if the SSR (Screen Space Reflections) effect is enabled for water.
Notice
To get the value via the console, use the render_water_ssr console variable.

Return value

1 if the SSR effect is enabled for water; otherwise, 0.

void setWaterSSRIncreasedAccuracy( int accuracy )

Enables or disables increased accuracy for the water SSR (Screen Space Reflections). This option reduces visual artifacts by increasing accuracy of the last step.
Notice
To set the value via the console, use the render_water_ssr_increased_accuracy console command.

Arguments

  • int accuracy - 1 to enable increased accuracy for the water SSR, 0 to disable. The default value is 0.

int isWaterSSRIncreasedAccuracy( )

Returns a value indicating if increased accuracy option is enabled for the water SSR (Screen Space Reflections).
Notice
To get the value via the console, use the render_water_ssr_increased_accuracy console variable.

Return value

1 if increased accuracy is enabled for the water SSR; otherwise, 0.

void setWaterSSRQuality( int quality )

Sets the resolution of water SSR (Screen Space Reflections).
Notice
To set the value via the console, use the render_water_ssr_quality console command.

Arguments

  • int quality - Water SSR quality:
    • 0 - low quality.
    • 1 - medium quality (by default).
    • 2 - high quality.
    • 3 - ultra quality.

int getWaterSSRQuality( )

Returns the resolution of water SSR (Screen Space Reflections).
Notice
To get the value via the console, use the render_water_ssr_quality console variable.

Return value

Water SSR quality:
  • 0 - low quality.
  • 1 - medium quality (by default).
  • 2 - high quality.
  • 3 - ultra quality.

Ptr<Texture> getWhite2DArrayTexture( )

Returns white 2D array texture.

Return value

White 2D array texture.

Ptr<Texture> getWhite2DTexture( )

Returns white 2D texture.

Return value

White 2D texture.

Ptr<Texture> getWhite3DTexture( )

Returns white 3D texture.

Return value

White 3D texture.

Ptr<Texture> getWhiteCubeTexture( )

Returns white Cube texture.

Return value

White Cube texture.

void setWireframeColor( const Math::vec4 & color )

Sets the color for the wireframe.

Arguments

  • const Math::vec4 & color - Wireframe color to be set.

Math::vec4 getWireframeColor( )

Returns the color of the wireframe.

Return value

Wireframe color.

int compressImage( Ptr<Image> & image, int quality = 1, int new_image_format = -1, int use_mip_maps = -1 )

Converts the image to a specified compressed format. If compression by the GPU is not supported, the Image::compress() method will be called instead.

Arguments

  • Ptr<Image> & image - Image to compress.
  • int quality - Compression quality:
    • 0 - fast compression, low compressed image quality.
    • 1 - high compressed image quality, slow compression (by default).
  • int new_image_format - Compressed texture format: one of the Texture::FORMAT_* variables. This is an optional argument. If no format is specified, default conversion will be performed (depending on the type of the source image).
  • int use_mip_maps - Flag indicating whether texture mipmaps should be generated for the compressed image: 1 to generate mipmaps, 0 not to generate. This is an optional argument. If no value is specified, mipmaps will be generated only if the source image has the mipmaps.

Return value

1 if the image has been compressed successfully; otherwise, 0.

int compressTexture( const Ptr<Texture> & texture, Ptr<Image> & destination, int quality = 1, int new_texture_format = -1, int use_mip_maps = -1 )

Compresses the given texture to the specified format.
Notice
Only 2d and 2d array textures can be compressed.

Arguments

  • const Ptr<Texture> & texture - Source texture to compress.
  • Ptr<Image> & destination - Image into which the compressed texture will be saved.
  • int quality - Compression quality:
    • 0 - fast compression, low compressed image quality.
    • 1 - high compressed image quality, slow compression (by default).
  • int new_texture_format - Compressed texture format: one of the Texture::FORMAT_* variables. This is an optional argument. If no format is specified, default conversion will be performed (depending on the type of the source image).
  • int use_mip_maps - Flag indicating whether texture mipmaps should be generated for the compressed image: 1 to generate mipmaps, 0 not to generate. This is an optional argument. If no value is specified, mipmaps will be generated only if the source image has the mipmaps.

Return value

1 if the texture has been compressed successfully; otherwise, 0.

void convertColorSpecularToMetalness( Math::vec4 & diffuse, Math::vec4 & specular, Math::vec4 & albedo, Math::vec4 & shading )

Performs color conversion from the specular workflow (diffuse, specular) to the metalness workflow (albedo, shading).

Arguments

  • Math::vec4 & diffuse - Input diffuse color.
  • Math::vec4 & specular - Input specular color.
  • Math::vec4 & albedo - Output albedo color.
  • Math::vec4 & shading - Output shading color.

void convertImageSpecularToMetalness( const Ptr<Image> & diffuse, const Ptr<Image> & specular, Ptr<Image> & albedo, Ptr<Image> & shading )

Performs texture conversion from the specular workflow (diffuse, specular) to the metalness workflow (albedo, shading).

Arguments

  • const Ptr<Image> & diffuse - Input diffuse texture.
  • const Ptr<Image> & specular - Input specular texture.
  • Ptr<Image> & albedo - Output albedo texture.
  • Ptr<Image> & shading - Output shading texture.

int createMipmapsCubeGGX( const Ptr<Image> & image, float quality )

Generates mipmaps for a cubemap using GGX BRDF microfacet model.

Arguments

  • const Ptr<Image> & image - Cubemap image. IMAGE_CUBE or IMAGE_CUBE_ARRAY types are accepted.
  • float quality - Quality value within the [0.0f; 1.0f] range.

int createShorelineDistanceField( const Ptr<Image> & image, const Ptr<Image> & mask, int shoreline_radius, int blur_radius, int downsample_resolution )

Grabs a shoreline distance field texture with the specified parameters.

Arguments

  • const Ptr<Image> & image - Image to grab a shoreline texture to.
  • const Ptr<Image> & mask - An R16 mask texture Image. Each pixel of the mask has the following color value:0 if water level at this point of the grid is above the terrain level; otherwise, 65535.
  • int shoreline_radius - Shoreline radius value within the [4; 128] range. Padding distance (from the shore to the beginning of swash zone).
  • int blur_radius - Blur radius value within the [0; 32] range. Higher values make shoreline smoother.
  • int downsample_resolution - Texture resolution value, can be one of the following: 16, 32, 64, 128, 256, 512, 1024, 2048.

Return value

1 if the shoreline distance field texture is grabbed successfully; otherwise, 0.

int loadSettings( const char * file )

Loads render settings from a given file.

Arguments

  • const char * file - Path to an XML file with desired settings.

Return value

1 if the settings are loaded successfully; otherwise, 0.

int loadWorld( const Ptr<Xml> & xml )

Loads render state from the Xml.

Arguments

  • const Ptr<Xml> & xml - Xml smart pointer.

Return value

1 if the state is loaded successfully; otherwise, 0.

void renderComputeMaterial( const Ptr<Material> & material, int width, int height, int depth = 1 )

Sets up a material and dispatches to compute shader. The material must have a post shader associated with it.

Arguments

  • const Ptr<Material> & material - Smart pointer to the material.
  • int width - Local X work-group size of the compute shader.
  • int height - Local Y work-group size of the compute shader.
  • int depth - Local Z work-group size of the compute shader. The default value is 1.

void renderImage2D( const Ptr<Camera> & camera, const Ptr<Image> & image, int skip_flags )

Renders the scene into a 2D image in accordance with the specified parameters. The viewport position is taken from the camera created via Camera class.

Arguments

  • const Ptr<Camera> & camera - Camera to be used.
  • const Ptr<Image> & image - Image to save the result to.
  • int skip_flags - Skip the effects:
    • VIEWPORT_SKIP_SHADOWS
    • VIEWPORT_SKIP_VISUALIZER
    • VIEWPORT_SKIP_SRGB
    • VIEWPORT_SKIP_POSTEFFECTS
    • VIEWPORT_SKIP_VELOCITY
    • VIEWPORT_SKIP_DYNAMIC_REFLECTIONS

    0 enables all the effects.

void renderImage2D( const Ptr<Camera> & camera, const Ptr<Image> & image, int width, int height, int hdr, int skip_flags )

Renders the scene into a 2D image of the given size in accordance with the specified parameters. The viewport position is taken from the camera created via Camera class.

Arguments

  • const Ptr<Camera> & camera - Camera to be used.
  • const Ptr<Image> & image - Image to save the result to.
  • int width - Width of the projected image, in units.
  • int height - Height of the projected image, in units.
  • int hdr - 1 - enable HDR, 0 - disable HDR.
  • int skip_flags - Skip the effects:
    • VIEWPORT_SKIP_SHADOWS
    • VIEWPORT_SKIP_VISUALIZER
    • VIEWPORT_SKIP_SRGB
    • VIEWPORT_SKIP_POSTEFFECTS
    • VIEWPORT_SKIP_VELOCITY
    • VIEWPORT_SKIP_DYNAMIC_REFLECTIONS

    0 enables all the effects.

void renderImageCube( const Ptr<Camera> & camera, const Ptr<Image> & image, int skip_flags )

Renders the scene into a cube map image in accordance with the specified parameters.

Arguments

  • const Ptr<Camera> & camera - Camera to be used.
  • const Ptr<Image> & image - Image to save the result to.
  • int skip_flags - Skip the effects:
    • VIEWPORT_SKIP_SHADOWS
    • VIEWPORT_SKIP_VISUALIZER
    • VIEWPORT_SKIP_SRGB
    • VIEWPORT_SKIP_POSTEFFECTS
    • VIEWPORT_SKIP_VELOCITY
    • VIEWPORT_SKIP_DYNAMIC_REFLECTIONS

    0 enables all the effects.

void renderImageCube( const Ptr<Camera> & camera, const Ptr<Image> & image, int size, int hdr, int skip_flags, int local_space = 0 )

Renders the scene into a cube map in accordance with the specified parameters. The viewport position is taken from the camera created via Camera class.

Arguments

  • const Ptr<Camera> & camera - Camera to be used.
  • const Ptr<Image> & image - Image to save the result to.
  • int size - Texture dimensions (cube map edge size).
  • int hdr - 1 - enable HDR; 0 - disable HDR.
  • int skip_flags - Skip the effects:
    • VIEWPORT_SKIP_SHADOWS
    • VIEWPORT_SKIP_VISUALIZER
    • VIEWPORT_SKIP_SRGB
    • VIEWPORT_SKIP_POSTEFFECTS
    • VIEWPORT_SKIP_VELOCITY
    • VIEWPORT_SKIP_DYNAMIC_REFLECTIONS

    0 enables all the effects.

  • int local_space - 1 - local space coordinates; 0 - world space coordinates.

void renderNodeImage2D( const Ptr<Camera> & camera, const Ptr<Node> & node, const Ptr<Image> & image, int skip_flags, int light_usage, const char * environment_texture_name )

Renders the given node into a 2D image in accordance with the specified parameters. The viewport position is taken from the camera created via Camera class. The node can be rendered using the specific type of lighting and environment cubemap.

Arguments

  • const Ptr<Camera> & camera - Camera to be used.
  • const Ptr<Node> & node - Node to be rendered.
  • const Ptr<Image> & image - Image to save the result to.
  • int skip_flags - Skip the effects. One of the SKIP_* variables should be specified. 0 enables all the effects.
  • int light_usage - Sets the light sources that will affect the node (one of the USAGE_*_LIGHTING Viewport class variables.)
  • const char * environment_texture_name - Path to the environment cubemap to be used. Takes effect if the first (auxiliary light) or second (node light) lighting mode is used (see the light_usage argument above). In case LightWorld is used (zero mode), the environment cubemap used for the current world will be used.

void renderNodeImage2D( const Ptr<Camera> & camera, const Ptr<Node> & node, const Ptr<Image> & image, int width, int height, int hdr, int skip_flags, int light_usage, const char * environment_texture_name )

Renders the 2D image of the given node in accordance with the specified parameters. The viewport position is taken from the camera created via Camera class. The node can be rendered using the specific type of lighting and environment cubemap.

Arguments

  • const Ptr<Camera> & camera - Camera to be used.
  • const Ptr<Node> & node - Node to be rendered.
  • const Ptr<Image> & image - Image to save the result to.
  • int width - Width of the image, in units.
  • int height - Height of the image, in units.
  • int hdr - HDR flag. This parameter determines the format of the 2D image:
    • 1 - image format will be set to RGBA16F. It means that the HDR image buffer will store pixel values outside the [0;1] range (i.e. both negative and positive values).
    • 0 - image format will be set to RGBA8.
  • int skip_flags - Skip the effects. One of the SKIP_* variables should be specified. 0 enables all the effects.
  • int light_usage - Sets the light sources that will affect the node (one of the USAGE_*_LIGHTING Viewport class variables).
  • const char * environment_texture_name - Path to the environment cubemap to be used. Takes effect if the first (auxiliary light) or second (node light) lighting mode is used (see the light_usage argument above). In case LightWorld is used (zero mode), the environment cubemap used for the current world will be used.

void renderPostMaterial( const Ptr<Material> & material, const Ptr<Texture> & color_texture )

Renders a post process material with the specified color texture.
Source code (C++)
TextureRenderPtr texture_render;
TexturePtr texture;
TexturePtr texture_2;
//...
texture_render->setColorTexture(0, texture);
texture_render->enable();
MaterialPtr material = Materials::get()->findMaterial("new_material_post");
Render::get()->renderPostMaterial(material, texture_2);
texture_render->disable();
texture_render->unbindColorTexture();

Arguments

  • const Ptr<Material> & material - Material smart pointer.
  • const Ptr<Texture> & color_texture - Color texture smart pointer.

void renderPostMaterial( int pass, const Ptr<Material> & material, const Ptr<Shader> & shader )

Renders a post-process material with the specified shader for the given rendering pass.
Source code (C++)
TextureRenderPtr texture_render;
MaterialPtr material_post;
TexturePtr texture;
vec4 color = vec4::ONE;
//...
texture_render->setColorTexture(0, texture);
texture_render->enable();
material_post = Materials::get()->findMaterial("new_material_post");
ShaderPtr shader = material_post->fetchShader(Render::PASS_POST);
shader->bind();
shader->setParameterFloat("color", color.get(), 4);
shader->flushParameters();
Render::get()->renderPostMaterial(Render::PASS_POST, material_post, shader);
texture_render->disable();
texture_render->unbindColorTexture();

Arguments

  • int pass - Rendering pass number in range [0;NUM_PASSES) (one of the PASS_* variables).
  • const Ptr<Material> & material - Material smart pointer.
  • const Ptr<Shader> & shader - Shader smart pointer.