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.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.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.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.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.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.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.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.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 mask - Buffer mask: one of the RenderState::BUFFER_* variables.
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.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.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.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.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.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 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.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().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:<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:<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.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.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.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.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.To enable/disable environment rendering, use also
render_environmentconsole 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.To check if environment rendering is enabled, use also
render_environmentconsole 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.To set the haze mode via console, use the
render_environment_hazeconsole command.
Arguments
- int mode - Haze mode: one of the HAZE_* variables.
int getEnvironmentHazeMode()
Returns the current mode set for the haze effect.To check the haze mode via console, use the
render_environment_hazeconsole 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.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.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.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 FXAAvoid setGBufferAO(int gbufferao)
Enables or disables storing ambient occlusion data in the GBuffer.The feature can be enabled/disabled by using the
render_gbuffer_aoconsole command.
Arguments
- int gbufferao - 1 to enable storing ambient occlusion data in the GBuffer, 0 to disable it. The default value is 1.
int isGBufferAO()
Returns the value indicating if ambient occlusion data is stored in the GBuffer.To check if the feature is enabled, use the
render_gbuffer_aoconsole variable.
Return value
1 if ambient occlusion data is stored in the GBuffer; otherwise, 0.void setGBufferLightmap(int lightmap)
Enables or disables storing lightmap data in the GBuffer.The feature can be enabled/disabled by using the
render_gbuffer_lightmapconsole 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.To check if the feature is enabled, use the
render_gbuffer_lightmapconsole variable.
Return value
1 if lightmap data is stored in the GBuffer; otherwise, 0.void setGBufferMaterial_mask(int gbuffermaterial_mask)
Enables or disables storing material mask data in the GBuffer.The feature can be enabled/disabled by using the
render_gbuffer_material_maskconsole command.
Arguments
- int gbuffermaterial_mask - 1 to enable storing material mask data in the GBuffer, 0 to disable it. The default value is 1.
int isGBufferMaterial_mask()
Returns a value indicating if material mask data is stored in the GBuffer.To check if the feature is enabled, use the
render_gbuffer_material_maskconsole variable.
Return value
1 if material mask data is stored in the GBuffer; otherwise, 0.void setGBufferMicrofiber(int microfiber)
Enables or disables storing microfiber data in the GBuffer.The feature can be enabled/disabled by using the
render_gbuffer_microfiberconsole command.
Arguments
- int microfiber - 1 to enable storing microfiber data in the GBuffer, 0 to disable it. The default value is 1.
int isGBufferMicrofiber()
Returns a value indicating if microfiber data is stored in the GBuffer.To check if the feature is enabled, use the
render_gbuffer_microfiberconsole variable.
Return value
1 if microfiber data is stored in the GBuffer; otherwise, 0.void setGBufferSpecular(int specular)
Enables or disables storing specular data in the GBuffer.The feature can be enabled/disabled by using the
render_gbuffer_specularconsole command.
Arguments
- int specular - 1 to enable storing specular data in the GBuffer, 0 to disable it. The default value is 1.
int isGBufferSpecular()
Returns a value indicating if specular data is stored in the GBuffer.To check if the feature is enabled, use the
render_gbuffer_specularconsole variable.
Return value
1 if specular data is stored in the GBuffer; otherwise, 0.void setGBufferTranslucent(int translucent)
Enables or disables storing translucency data in the GBuffer.The feature can be enabled/disabled by using the
render_gbuffer_translucentconsole command.
Arguments
- int translucent - 1 to enable storing translucency data in the GBuffer, 0 to disable it. The default value is 1.
int isGBufferTranslucent()
Returns a value indicating if translucency data is stored in the GBuffer.To check if the feature is enabled, use the
render_gbuffer_translucentconsole variable.
Return value
1 if translucency data is stored in the GBuffer; otherwise, 0.void setGBufferVelocity(int velocity)
Enables or disables storing velocity data in the GBuffer.The feature can be enabled/disabled by using the
render_gbuffer_velocityconsole command.
Arguments
- int velocity - 1 to enable storing velocity data in the GBuffer, 0 to disable it. The default value is 1.
int isGBufferVelocity()
Returns a value indicating if velocity data is stored in the GBuffer.To check if the feature is enabled, use the
render_gbuffer_velocityconsole variable.
Return value
1 if velocity 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.To set the value via the console, use the
render_lights_forward_per_object_envconsole 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).To get the value via the console, use the
render_lights_forward_per_object_envconsole 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.To set the value via the console, use the
render_lights_forward_per_object_omniconsole 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).To get the value via the console, use the
render_lights_forward_per_object_omniconsole 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.To set the value via the console, use the
render_lights_forward_per_object_projconsole 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).To get the value via the console, use the
render_lights_forward_per_object_projconsole variable.
Return value
Maximum number of projected lights 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.To set the value via the console, use the
render_lights_forward_per_object_worldconsole 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).To get the value via the console, use the
render_lights_forward_per_object_worldconsole variable.
Return value
Maximum number of world lights per object within the [0; 128] range.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.To set the value via the console, use the
render_lights_max_per_batchconsole command.
Arguments
- int batch - Maximum number of lights per batch within the [0; 1024] range. The default value is 1024.
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.To get the value via the console, use the
render_lights_max_per_batchconsole variable.
Return value
Maximum number of lights per batch within the [0; 1024] range.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.To set the value via the console, use the
render_lights_tile_grid_sizeconsole 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.To get the value via the console, use the
render_lights_tile_grid_sizeconsole variable.
Return value
Number of grid tiles per axis within the [1; 32] range.void setMaxFieldAnimations(int animations)
Sets the maximum limit of FieldAnimation nodes allowed to be used in shaders.To set the value via the console, use the
render_max_field_animationsconsole command.
Arguments
- int animations - Maximum number of FieldAnimation nodes allowed.
Higher values will affect shader compilation time and performance
int getMaxFieldAnimations()
Returns the maximum limit of FieldAnimation nodes allowed to be used in shaders.To get the value via the console, use the
render_max_field_animationsconsole command.
Return value
Maximum number of FieldAnimation nodes allowed.Higher values will affect shader compilation time and performance
void setMaxFieldHeights(int heights)
Sets the maximum limit of FieldHeight nodes allowed to be used in shaders.To set the value via the console, use the
render_max_field_heightsconsole command.
Arguments
- int heights - Maximum number of FieldHeight nodes allowed.
Higher values will affect shader compilation time and performance
int getMaxFieldHeights()
Returns the maximum limit of FieldHeight nodes allowed to be used in shaders.To get the value via the console, use the
render_max_field_heightsconsole command.
Return value
Maximum number of FieldHeight nodes allowed.Higher values will affect shader compilation time and performance
void setMaxFieldShorelines(int shorelines)
Sets the maximum limit of FieldShoreline nodes allowed to be used in shaders.To set the value via the console, use the
render_max_field_shorelinesconsole command.
Arguments
- int shorelines - Maximum number of FieldShoreline nodes allowed.
Higher values will affect shader compilation time and performance
int getMaxFieldShorelines()
Returns the maximum limit of FieldShoreline nodes allowed to be used in shaders.To get the value via the console, use the
render_max_field_shorelinesconsole command.
Return value
Maximum number of FieldShoreline nodes allowed.Higher values will affect shader compilation time and performance
void setMaxFieldSpacers(int spacers)
Sets the maximum limit of FieldSpacer nodes allowed to be used in shaders.To set the value via the console, use the
render_max_field_spacersconsole command.
Arguments
- int spacers - Maximum number of FieldSpacer nodes allowed.
Higher values will affect shader compilation time and performance
int getMaxFieldSpacers()
Returns the maximum limit of FieldSpacer nodes allowed to be used in shaders.To set the value via the console, use the
render_max_field_spacersconsole command.
Return value
Maximum number of FieldSpacer nodes allowed.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 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 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.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.Return value
1 if rendering of occluders is enabled; otherwise, 0.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.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.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 setParallax(int parallax)
Enables or disables parallax occlusion mapping.Arguments
- int parallax - 1 to enable parallax occlusion mapping, 0 to disable it. The default value is 1.
int isParallax()
Returns a value indicating if parallax occlusion mapping is enabled.Return value
1 if parallax occlusion mapping is enabled; otherwise, 0.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 setReflectionColor(const Math::vec4 & color)
Color that allows to adjust reflections of all meshes with reflective materials, i.e.:- mesh_reflection_2d_base
- mesh_reflection_cube_base
- mesh_paint_reflection_cube_base
- mesh_tessellation_reflection_2d_base
- mesh_tessellation_reflection_cube_base
- mesh_tessellation_paint_reflection_cube_base
Arguments
- const Math::vec4 & color - Reflection color for reflective mesh materials.
Math::vec4 getReflectionColor()
Returns the color that allows to adjust reflections of all meshes with reflective materials, i.e.:- mesh_reflection_2d_base
- mesh_reflection_cube_base
- mesh_paint_reflection_cube_base
- mesh_tessellation_reflection_2d_base
- mesh_tessellation_reflection_cube_base
- mesh_tessellation_paint_reflection_cube_base
Return value
Reflection color for reflective mesh materials.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 setShadersQuality(int quality)
Sets the quality of shaders.Arguments
- int quality - One of the QUALITY_* pre-defined variables.
int getShadersQuality()
Returns the quality of shaders.Return value
One of the QUALITY_* pre-defined variables.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.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.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 setSkipPostMaterials(int materials)
Enables or disables skipping of the post materials pass.Arguments
- int materials - 1 to skip the post materials pass, 0 to disable it. The default value is 0.
int isSkipPostMaterials()
Returns a value indicating if the post materials pass is skipped.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.Arguments
- int materials - 1 to skip the render materials pass, 0 to disable it. The default value is 0.
int isSkipRenderMaterials()
Returns a value indicating if the render materials pass is skipped.Return value
1 if the render materials pass is skipped; otherwise, 0.void setSkipTransparent(int transparent)
Enables or disables skipping of the transparent pass.Arguments
- int transparent - 1 to skip the transparent pass, 0 to disable it. The default value is 0.
int isSkipTransparent()
Returns a value indicating if the transparent pass is skipped.Return value
1 if the transparent pass is skipped; otherwise, 0.void setSkipTransparentAmbient(int ambient)
Enables or disables skipping of the transparent ambient pass.Arguments
- int ambient - 1 to skip the transparent ambient pass, 0 to disable it. The default value is 0.
int isSkipTransparentAmbient()
Returns a value indicating if the transparent ambient pass is skipped.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.Arguments
- int deferred - 1 to skip the transparent deferred pass, 0 to disable it. The default value is 0.
int isSkipTransparentDeferred()
Returns a value indicating if the transparent deferred pass is skipped.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.Arguments
- int light - 1 to skip the transparent light pass, 0 to disable it. The default value is 0.
int isSkipTransparentLight()
Returns a value indicating if the transparent light pass is skipped.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.Arguments
- int probes - 1 to skip the transparent multiple environment probes pass, 0 to disable it. The default value is 0.
int isSkipTransparentMultipleEnvProbes()
Returns a value indicating if the transparent multiple environment probes pass is skipped.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.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.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 shadow only the points in the close range.
- By high values, each point shadows farther positioned points.
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 shadow only the points in the close range.
- By high values, each point shadows farther positioned points.
Return value
SSAO radius 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.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.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.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.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).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).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.To enable or disable the effect via the console, run the
render_ssgiconsole 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.To check if the effect is enabled, use also the
render_ssgiconsole 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.
To set the intensity via the console, use the
render_ssgi_intensityconsole 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.
To get the intensity via the console, use the
render_ssgi_intensityconsole 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.
To set the threshold via the console, use the
render_ssgi_normal_thresholdconsole 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.
To get the threshold via the console, use the
render_ssgi_normal_thresholdconsole 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
To set the quality via the console, use the
render_ssgi_qualityconsole 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
To get the quality via the console, use the
render_ssgi_qualityconsole 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.
To set the radius via the console, use the
render_ssgi_radiusconsole 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.
To get the radius via the console, use the
render_ssgi_radiusconsole 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.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.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.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.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).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).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).To set the value via the console, use the
render_ssgi_resolutionconsole 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).To get the value via the console, use the
render_ssgi_resolutionconsole 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.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.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.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).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).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.
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.To set the value via the console, use the
render_ssr_roughness_qualityconsole 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.To set the value via the console, use the
render_ssr_roughness_qualityconsole 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.
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.To set the value via the console, use the
render_sssconsole 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.To get the value via the console, use the
render_sssconsole 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.To set the value via the console, use the
render_sss_colorconsole command.
Arguments
- const Math::vec4 & color - A subsurface scattering color.
Math::vec4 getSSSColor()
Returns the current subsurface scattering color.To get the value via the console, use the
render_sss_colorconsole variable.
Return value
A subsurface scattering color.void setSSSQuality(int quality)
Sets the quality of the SSS (subsurface scattering) effect.To set the value via the console, use the
render_sss_qualityconsole 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.To get the value via the console, use the
render_sss_qualityconsole 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.To set the value via the console, use the
render_sss_radiusconsole command.
Arguments
- float radius - Subsurface scattering radius. The default value is 1.0f.
float getSSSRadius()
Returns the current subsurface scattering radius.To get the value via the console, use the
render_sss_radiusconsole variable.
Return value
Subsurface scattering radius value.void setSSSResolution(int resolution)
Sets the resolution of the SSS (subsurface scattering) effect.To set the value via the console, use the
render_sss_resolutionconsole 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.To get the value via the console, use the
render_sss_resolutionconsole variable.
Return value
SSS resolution:- 0 - half resolution (by default).
- 1 - full resolution.
void setStereo(int stereo)
Sets the stereo rendering mode.To set the value via the console, use the
render_stereoconsole 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.To get the value via the console, use the
render_stereoconsole 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.To set the value via the console, use the
render_sun_shaftsconsole command.
Arguments
- int shafts - 1 to enable light shafts, 0 to disable.
int isSunShafts()
Returns a value indicating if light shafts are enabled.To get the value via the console, use the
render_sun_shaftsconsole 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.To set the value via the console, use the
render_supersamplingconsole 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.To get the value via the console, use the
render_supersamplingconsole 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.To set the value via the console, use the
render_taa_color_clampingconsole 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.To get the value via the console, use the
render_taa_color_clampingconsole 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.To set the value via the console, use the
render_taa_fix_flickerconsole 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.To get the value via the console, use the
render_taa_fix_flickerconsole 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.To set the value via the console, use the
render_taa_frame_countconsole 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.To get the value via the console, use the
render_taa_frame_countconsole 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.To set the value via the console, use the
render_taa_max_frame_countconsole 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.To get the value via the console, use the
render_taa_max_frame_countconsole 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.To set the value via the console, use the
render_taa_min_frame_countconsole 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.To get the value via the console, use the
render_taa_min_frame_countconsole 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.To set the value via the console, use the
render_taa_preserve_detailsconsole 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.To get the value via the console, use the
render_taa_preserve_detailsconsole 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.To set the value via the console, use the
render_taa_velocity_clampingconsole 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.To get the value via the console, use the
render_taa_velocity_clampingconsole 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.To set the value via the console, use the
render_taa_velocity_thresholdconsole 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.To get the value via the console, use the
render_taa_velocity_thresholdconsole 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.To set the value via the console, use
render_terrain_anisotropyconsole 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.To get the value via the console, use
render_terrain_anisotropyconsole 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.To set the value via the console, use
render_terrain_displacementconsole command.
Arguments
- int displacement - 1 to enable displacement mapping for the terrain; 0 to disable it.
int isTerrainDisplacement()
Returns a value indicating if displacement mapping is enabled for the terrain.To get the value via the console, use
render_terrain_displacementconsole variable.
Return value
1 if displacement mapping is enabled for the terrain; otherwise, 0.void setTerrainRefinedAlbedo(int albedo)
Sets the type of terrain albedo textures (refined or coarse).To set the value via the console, use
render_terrain_refined_albedoconsole 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.To get the value via the console, use
render_terrain_refined_albedoconsole 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).To set the value via the console, use
render_terrain_refined_maskconsole 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.To get the value via the console, use
render_terrain_refined_maskconsole 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).To set the value via the console, use
render_terrain_refined_normalconsole 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.To get the value via the console, use
render_terrain_refined_normalconsole 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.To set the value via the console, use
render_terrain_triplanarconsole 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.To get the value via the console, use
render_terrain_triplanarconsole variable.
Return value
1 if triplanar texture mapping is enabled for the terrain; otherwise, 0.void setTexturesAnisotropy(int anisotropy)
Sets the texture anisotropy level for textures (degree of anisotropic filtering).To set the value via the console, use
render_textures_anisotropyconsole 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).To get the value via the console, use
render_textures_anisotropyconsole 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.To set the value via the console, use
render_textures_filterconsole command.
Arguments
- int filter - Texture filtering mode:
- 0 - bilinear filtering.
- 1 - trilinear filtering (by default).
int getTexturesFilter()
Returns the current texture filtering mode.To get the value via the console, use
render_textures_filterconsole 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.To set the value via the console, use
render_textures_max_resolutionconsole 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.To get the value via the console, use
render_textures_max_resolutionconsole 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.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.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.To set the value via the console, use
render_textures_qualityconsole command.
Arguments
- int quality - One of the QUALITY_* pre-defined variables.
int getTexturesQuality()
Returns the current resolution of textures.To get the value via the console, use
render_textures_qualityconsole 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.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.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.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.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.To set the value via the console, use the
render_vr_emulationconsole command.
Arguments
- int emulation - VR-emulation mode:
- 0 - disabled (by default).
- 1 - HTC Vive emulation.
- 2 - Oculus Rift emulation.
int getVREmulation()
Returns the value indicating the current VR-emulation mode.To get the value via the console, use the
render_vr_emulationconsole variable.
Return value
VR-emulation mode:- 0 - disabled (by default).
- 1 - HTC Vive emulation.
- 2 - Oculus Rift emulation.
void setWaterAnisotropy(int anisotropy)
Sets water texture anisotropy level.To set the value via the console, use the
render_water_anisotropyconsole 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.To get the value via the console, use the
render_water_anisotropyconsole 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.To set the value via the console, use the
render_water_environment_probesconsole 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.To get the value via the console, use the
render_water_environment_probesconsole variable.
Return value
1 if rendering of environment probes on the water surface is enabled; otherwise, 0.void setWaterFragmentDiscard(int discard)
Enables or disables full fragment discard for field spacers used with water.To set the value via the console, use the
render_water_fragment_discardconsole command.
Arguments
- int discard - 1 to enable full fragment discard for field spacers used with water, 0 to disable it. The default value is 0.
int isWaterFragmentDiscard()
Returns a value indicating if full fragment discard for field spacers used with water is enabled.To get the value via the console, use the
render_water_fragment_discardconsole variable.
Return value
1 if full fragment discard for field spacers used with water is enabled; otherwise, 0.void setWaterLights(int lights)
Enables or disables rendering of lights on the water surface.To set the value via the console, use the
render_water_lightsconsole 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.To get the value via the console, use the
render_water_lightsconsole 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.To set the value via the console, use the
render_water_opacity_depthconsole 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.To get the value via the console, use the
render_water_opacity_depthconsole 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.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.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.To set the value via the console, use the
render_water_shaftsconsole 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.To get the value via the console, use the
render_water_shaftsconsole 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.To set the value via the console, use the
render_water_shoreline_wetnessconsole 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.To get the value via the console, use the
render_water_shoreline_wetnessconsole 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.To set the value via the console, use the
render_water_ssrconsole 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.To get the value via the console, use the
render_water_ssrconsole 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.To set the value via the console, use the
render_water_ssr_increased_accuracyconsole 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).To get the value via the console, use the
render_water_ssr_increased_accuracyconsole 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).To set the value via the console, use the
render_water_ssr_qualityconsole 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).To get the value via the console, use the
render_water_ssr_qualityconsole 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.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:
- 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 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. 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, const char * hdr, const char * skip_flags)
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 - 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 height - Sets the light sources that will affect the node (one of the USAGE_*_LIGHTING Viewport class variables.)
- const char * hdr - Path to the environment cubemap to be used. Takes effect if the first (auxiliary light) or second (node light) lighting mode is used. In case LightWorld is used (zero mode), the environment cubemap used for the current world will be used.
- const char * skip_flags - Path to the environment cubemap to be used. Takes effect if the first (auxiliary light) or second (node light) lighting mode is used. 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.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.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.
void renderPostMaterial(int pass, const Ptr<Material> & material)
Renders post-process material for the given rendering pass.TextureRenderPtr texture_render;
MaterialPtr material_post;
TexturePtr albedo;
//...
texture_render->setColorTexture(0, albedo);
texture_render->enable();
material_post = Materials::get()->findMaterial("new_material_post");
Render::get()->renderPostMaterial(Render::PASS_POST, material_post);
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.
void renderPostMaterial(const Ptr<Material> & material)
Renders a post-process material.TextureRenderPtr texture_render;
//...
texture_render->enable();
MaterialPtr material = Materials::get()->>findMaterial("new_materia_post");
Render::get()->renderPostMaterial(material);
texture_render->disable();
texture_render->unbindColorTexture();
Arguments
- const Ptr<Material> & material - Material smart pointer.
void renderPostMaterial(const char * material_name)
Renders a post-process material with the given name.TextureRenderPtr texture_render;
//...
texture_render->enable();
Render::get()->renderPostMaterial("new_material_post");
texture_render->disable();
texture_render->unbindColorTexture();
Arguments
- const char * material_name - Material name.
void renderPostMaterial(const char * material_name, const char * texture_name, const Ptr<Texture> & texture)
Renders a post-process material with the given texture.TextureRenderPtr texture_render;
TexturePtr texture;
TexturePtr texture_2;
//...
texture_render->setColorTexture(0, texture);
texture_render->enable();
render->renderPostMaterial("new_material_post", "color", texture_2);
texture_render->disable();
texture_render->unbindColorTexture();
Arguments
- const char * material_name - Material name.
- const char * texture_name - Texture name in the material.
- const Ptr<Texture> & texture - Texture smart pointer.
void renderPostMaterial(const char * material_name, const Ptr<Texture> & color_texture)
Renders a post-process material with the specified name and the color texture.TextureRenderPtr texture_render;
TexturePtr texture;
TexturePtr texture_2;
//...
texture_render->setColorTexture(0, texture);
texture_render->enable();
Render::get()->renderPostMaterial("new_material_post", texture_2);
texture_render->disable();
texture_render->unbindColorTexture();
Arguments
- const char * material_name - Material name.
- const Ptr<Texture> & color_texture - Color texture smart pointer.
void renderPostMaterial(const Ptr<Material> & material, const char * texture_name, const Ptr<Texture> & texture)
Renders a post-process material with the given texture. For example: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->renderPostMaterial(material, "color", texture_2);
texture_render->disable();
texture_render->unbindColorTexture();
Arguments
- const Ptr<Material> & material - Material smart pointer.
- const char * texture_name - Texture name in material.
- const Ptr<Texture> & texture - Texture smart pointer.
void renderProcedurals(const Vector< Ptr<Material> > & materials)
Renders post-process materials with procedural textures (calculated on GPU using custom shaders) that are assigned to surfaces.Arguments
- const Vector< Ptr<Material> > & materials - Procedural materials list.
void renderTAA(const Ptr<Texture> & color_texture, const Ptr<Texture> & color_old_texture)
Renders the TAA filter.TextureRenderPtr texture_render;
TexturePtr buffer;
TexturePtr buffer_old;
TexturePtr buffer_taa;
//...
texture_render->setColorTexture(0, buffer_taa);
texture_render->enable();
Render::get()->renderTAA(buffer, buffer_old);
texture_render->disable();
Arguments
- const Ptr<Texture> & color_texture - Color texture smart pointer.
- const Ptr<Texture> & color_old_texture - Old color texture smart pointer.
int restoreState(const Ptr<Stream> & stream)
Restores a render state from the stream.This function is deprecated and will be removed in the next release.
Arguments
- const Ptr<Stream> & stream - Stream to restore a state from.
Return value
1 if the state is restored successfully; otherwise, 0.int saveSettings(const char * file)
Saves the current renderer settings to a given file.This function is deprecated and will be removed in the next release.
Arguments
- const char * file - Path to a target file.
Return value
1 if the settings are saved successfully; otherwise, 0.int saveState(const Ptr<Stream> & stream)
Saves a render state into the stream.Arguments
- const Ptr<Stream> & stream - Stream to save a state into.
Return value
1 if the state is saved successfully; otherwise, 0.int saveWorld(const Ptr<Xml> & xml)
Saves the render state into the given Xml node.Arguments
- const Ptr<Xml> & xml - Xml node.
Return value
1 if the state is saved successfully; otherwise, 0.void setEnvironmentHazeGradient(int gradient)
Sets the environment haze gradient mode.To set the haze gradient mode via the console, use the
render_environment_haze_gradientconsole command.
Arguments
- int gradient - Haze gradient mode:
- 0 should be used for short distance range (e.g. near-surface haze).
- 1 should be used for long distance range (e.g. hazy mountains).
int getEnvironmentHazeGradient()
Returns the current environment haze gradient mode.To get the haze gradient mode via the console, use
render_environment_haze_gradientconsole variable.
Return value
Haze gradient mode:- 0 for short distance range (e.g. near-surface haze).
- 1 for long distance range (e.g. hazy mountains).
Math::vec4 getEnvironmentHazeColor()
Returns the current haze color for the preset that overlays the other ones.This function will return color only if the HAZE_SOLID mode is set via setEnvironmentHazeMode().
// get a haze color for the preset that overlays the others
Render::get()->getEnvironmentHazeColor();
// get a haze color for the second environment preset
RenderEnvironmentPresetPtr preset = Render::get()->getEnvironmentPreset(1);
preset->getHazeColor();
Return value
Haze color.float getEnvironmentHazeDensity()
Returns the haze density set for the preset that overlays the other ones. To get the haze density for the specific preset, use RenderEnvironmentPreset::getHazeDensity().// get a haze density for the preset that overlays the others
Render::get()->getEnvironmentHazeDensity();
// get a haze density for the second environment preset
RenderEnvironmentPresetPtr preset = Render::get()->getEnvironmentPreset(1);
preset->geHazeDensity();
Return value
Haze density.float getEnvironmentHazeMaxDistance()
Returns the distance starting at which the haze becomes completely solid, so nothing will be seen behind. To get the haze maximum visibility distance for the specific preset, use RenderEnvironmentPreset::getHazeMaxDistance().// get a haze maximum visibility distance for the preset that overlays the others
Render::get()->getEnvironmentHazeMaxDistance();
// get a haze maximum visibility distance for the second environment preset
RenderEnvironmentPresetPtr preset = Render::get()->getEnvironmentPreset(1);
preset->getHazeMaxDistance();
Return value
Haze maximum visibility distance.float getEnvironmentSkyIntensity()
Returns the intensity of the environment sky set for the preset that overlays the other ones. To get the sky intensity for the specific preset, use RenderEnvironmentPreset::getSkyIntensity().// get a sky intensity for the preset that overlays the others
Render::get()->getEnvironmentSkyIntensity();
// get a sky intensity for the second environment preset
RenderEnvironmentPresetPtr preset = Render::get()->getEnvironmentPreset(1);
preset->getSkyIntensity();
Return value
Intensity value of the environment sky.float getEnvironmentReflectionIntensity()
Returns the intensity of the environment reflections for the preset that overlays the other ones. 0 value means no environment reflections for the preset. To get the reflection intensity for the specific preset, use RenderEnvironmentPreset::getReflectionIntensity().// get a reflection intensity for the preset that overlays the others
Render::get()->getEnvironmentReflectionIntensity();
// get a reflection intensity for the second environment preset
RenderEnvironmentPresetPtr preset = Render::get()->getEnvironmentPreset(1);
preset->getReflectionIntensity();
Return value
The intensity value of the environment reflections.float getEnvironmentAmbientIntensity()
Returns the intensity of the environment ambient lighting for the preset that overlays the other ones. 0 value means no environment ambient lighting for the preset. The higher the value, the more ambient lighting affects environment. To get the ambient intensity for the specific preset, use RenderEnvironmentPreset::getAmbientIntensity().// get an ambient intensity for the preset that overlays the others
Render::get()->getEnvironmentAmbientIntensity();
// get an ambient intensity for the second environment preset
RenderEnvironmentPresetPtr preset = Render::get()->getEnvironmentPreset(1);
preset->getAmbientIntensity();
Return value
The intensity value of environment ambient lighting. The value can be greater than 1.0f.Ptr<RenderEnvironmentPreset> getEnvironmentPreset(int num)
Returns the environment preset of the given number.// get the second environment preset
RenderEnvironmentPresetPtr preset = Render::get()->getEnvironmentPreset(1);
// print the sky intensity of the obtained preset
Log::message("%f\n", preset->getSkyIntensity());
Arguments
- int num - The number of the environment preset. The value is clamped to the [0;2] range.
Return value
Environment preset.int getTAASamples()
Returns the number of the sample offsets performed during sub pixel jittering. By the minimum value of 1, there is no offsets, and, therefore, no anti-aliasing.Return value
The number of the sample offsets:- 0 - 1 offset
- 1 - 4 offsets
- 2 - 8 offsets
- 3 - 16 offsets
int isFXAA()
Returns the value indicating if FXAA (post-process anti-aliasing) is enabled.Return value
1 if FXAA is enabled; otherwise, 0.void setTAACatmullResampling(int resampling)
Toggles Catmull-Rom resampling on and off. The option allows you to reduce image blurring when the camera moves forward/backward. It is recommended to disable resampling at low settings.Arguments
- int resampling - 1 to enable Catmull-Rom resampling, 0 to disable it.
int isTAA()
Returns the value indicating if TAA is enabled.Return value
1 if TAA is enabled; otherwise, 0.void setTAASamples(int samples)
Sets the number of the sample offsets performed during sub pixel jittering. By the minimum value of 1, there will be no offsets, and, therefore, no anti-aliasing. The parameter allows reducing image jittering and blurring.Arguments
- int samples - The number of the sample offsets:
- 0 - 1 offset
- 1 - 4 offsets
- 2 - 8 offsets
- 3 - 16 offsets
void setTAAPixelOffset(float offset)
Sets the size of the sample offset performed during sub pixel jittering. You can specify the offset that is less than a pixel: for example, if you specify 0.5, frames will shift to half a pixel. It reduces image jittering and blurring.Arguments
- float offset - Size of the sample offset.
int isTAACatmullResampling()
Returns the value indicating if Catmull-Rom resampling is enabled. The option allows you to reduce image blurring when the camera moves forward/backward. It is recommended to disable resampling at low settings.Return value
1 if Catmull-Rom resampling is enabled; otherwise, 0.void setTAA(int taa)
Toggles TAA on and off.Arguments
- int taa - 1 to enable TAA, 0 to disable it.
void setFXAA(int fxaa)
Toggles FXAA (post-process anti-aliasing) on and off.Arguments
- int fxaa - 1 to enable FXAA, 0 to disable it.
float getTAAPixelOffset()
Returns the size of the sample offset performed during sub pixel jittering. The offset can be less than a pixel: for example, if 0.5 is set, frames will shift to half a pixel.Return value
Size of the sample offset.int isCameraEffectsTemporalFiltering()
Returns the value indicating if temporal filtering is enabled. Temporal filtering reduces flickering of the bloom effect on the small bright objects (such flickering may appear when the camera moves). For example, it can be used in scenes with industrial pipes.Return value
1 if temporal filtering is enabled; otherwise, 0.void setCameraEffectsTemporalFiltering(int filtering)
Toggles temporal filtering on and off. Temporal filtering reduces flickering of the bloom effect on the small bright objects (such flickering may appear when the camera moves). For example, it can be used in scenes with industrial pipes.Arguments
- int filtering - 1 to enable temporal filtering; 0 to disable it.
void setSSBevelQuality(int quality)
Sets the quality mode for the screen-space bevels.Arguments
- int quality - The quality mode:
- 0 - low
- 1 - medium (by default)
- 2 - high
int isSSBevel()
Returns the value indicating if the screen-space bevels are enabled.For bevels to be rendered, the Additional Features GBuffer must be enabled as well.
Return value
1 if the effect is enabled; otherwise, 0.float getSSBevelRadius()
Returns the current size of the screen-space bevel effect.Return value
Size of the bevel effect in range [0.0f; 10.0f]. The default value is 10.0f.void setSSBevelVertexNormal(int normal)
Sets the mode of the screen-space bevels rendering:- Better Edges smooths vertex and surface normals of the object. In this mode, the relief created by using Normal Mapping will be smoothed along with the mesh edges.
- Better Normals smooths only vertex normals. In this mode, only edges of the mesh geometry will be bevelled.
Arguments
- int normal - The mode of bevels rendering:
- 0 - the Better Edges mode.
- 1 - the Better Normals mode.
int isGBufferFeatures()
Returns the value indicating if writing to the Additional Features geometry buffer is enabled. This buffer stores the intensity of the screen-space bevels. If the buffer is disabled, the bevels won't be rendered.Return value
1 if the Additional Features geometry buffer is enabled; otherwise, 0.void setSSBevel(int bevel)
Sets the value indicating if the screen-space bevels are enabled.For bevels to be rendered, the Additional Features geometry buffer must be enabled as well.
Arguments
- int bevel - 1 to enable the effect, 0 to disable it.
void setGBufferFeatures(int features)
Sets the value indicating if writing to the Additional Features geometry buffer is enabled. This buffer stores the intensity of the screen-space bevels. If the buffer is disabled, the bevels won't be rendered.Arguments
- int features - 1 to enable writing to the Additional Features geometry buffer, 0 disable it.
void setSSBevelRadius(float radius)
Sets the size of the screen-space bevel effect.Arguments
- float radius - Size of the bevel effect in range [0.0f; 10.0f]. The default value is 10.0f.
int getSSBevelVertexNormal()
Returns the current mode of the screen-space bevels rendering:- Better Edges smooths vertex and surface normals of the object. In this mode, the relief created by using Normal Mapping will be smoothed along with the mesh edges.
- Better Normals smooths only vertex normals. In this mode, only edges of the mesh geometry will be bevelled.
Return value
The mode of bevels rendering:- 0 - the Better Edges mode.
- 1 - the Better Normals mode.
int getSSBevelQuality()
Returns the current quality mode for the screen-space bevels.Return value
The quality mode:- 0 - low
- 1 - medium (by default)
- 2 - high
int isSSBevelNoise()
Returns the value indicating if the noise that smooths bevels is enabled. It is recommended to use the noise with TAA enabled to avoid visual artifacts. The bevel noise is applied at a certain distance from the camera (i.e. if the camera is too far from the object with bevels, the noise won't be applied).Return value
1 if smoothing is enabled; otherwise, 0.void setSSBevelNoise(int noise)
Sets the value indicating if the noise that smooths bevels is enabled. It is recommended to use the noise with TAA enabled to avoid visual artifacts. The bevel noise is applied at a certain distance from the camera (i.e. if the camera is too far from the object with bevels, the noise won't be applied).Arguments
- int noise - 1 to enable smoothing, 0 to disable it.
int addCallback(int callback, Unigine::CallbackBase * func)
Adds a callback for the specified stage of the rendering sequence. Callback functions can be used to get access to buffers and matrices at intermediate stages of the rendering sequence. Some of them are read-only, but most of them can be modified ad hoc.Callback function must be as follows:void callback_name(Renderer *renderer){
/* .. */
}
Arguments
- int callback - Stage of the rendering sequence for which a callback is to be added. One of the CALLBACK_* variables.The _BEGIN prefix corresponds to the beginning of the rendering pass, _END - to its completion.
- Unigine::CallbackBase * func - Callback pointer.
Return value
Number of the last added callback of the specified type, if the callback was added successsfully; otherwise, -1.void clearCallbacks(int callback)
Clears all added callbacks for the specified stage of the rendering sequence. Callback functions can be used to get access to buffers and matrices at intermediate stages of the rendering sequence. Some of them are read-only, but most of them can be modified ad hoc.Arguments
- int callback - Stage of the rendering sequence for which the callbacks are to be cleared. One of the CALLBACK_* variables.The _BEGIN prefix corresponds to the beginning of the rendering pass, _END - to its completion.
void removeCallback(int callback, int num)
Removes a callback with a given number from the list of callbacks for the specified stage of the rendering sequence. Callback functions can be used to get access to buffers and matrices at intermediate stages of the rendering sequence. Some of them are read-only, but most of them can be modified ad hoc.Arguments
- int callback - Stage of the rendering sequence for which the callback is to be removed. One of the CALLBACK_* variables. The _BEGIN prefix corresponds to the beginning of the rendering pass, _END - to its completion.
- int num - Callback number.