Unigine::LightEnvironmentProbe Class
Header: | #include <UnigineLights.h> |
Inherits from: | Light |
This class allows creating and managing environment probes.
LightEnvironmentProbe Class
枚举
GRAB_DYNAMIC_FACES_PER_FRAME#
GRAB_SUPERSAMPLING#
GRAB_RESOLUTION#
GRAB_MODE#
Name | 描述 |
---|---|
GRAB_MODE_BAKED = 0 | Reflections are static (the cubemap is pre-baked). |
GRAB_MODE_DYNAMIC = 1 | Reflections are updated in realtime (the cubemap is generated dynamically). |
SPECULAR_BRDF_MODE#
Name | 描述 |
---|---|
SPECULAR_BRDF_MODE_BLINN = 0 | Blinn-Phong reflection model. |
SPECULAR_BRDF_MODE_GGX = 1 | GGX light distribution model. |
PROJECTION_MODE#
LAST_STEP_MODE#
Name | 描述 |
---|---|
LAST_STEP_MODE_ENVIRONMENT_PROBE = 0 | The cubemap used for the last step is the same as for all previous steps. |
LAST_STEP_MODE_ONLY_SKY = 1 | The cubemap contains the sky and clouds only. |
SECONDARY_BOUNCE_PROJECTION_MODE#
Name | 描述 |
---|---|
SECONDARY_BOUNCE_PROJECTION_MODE_SPHERE = 0 | Sphere projection. |
SECONDARY_BOUNCE_PROJECTION_MODE_RAYMARCHING = 1 | Raymarching. |
Members
static LightEnvironmentProbePtr create ( const Math::vec4 & color, const Math::vec3 & attenuation_distance, const char * name = 0 ) #
Constructor. Creates a new environment probe with cubemap modulation based on given parameters.Arguments
- const Math::vec4 & color - Color of the environment probe.
- const Math::vec3 & attenuation_distance - Radii of the environment probe.
- const char * name - Path to a cube texture of the environment probe.
void setProjectionMode ( LightEnvironmentProbe::PROJECTION_MODE mode ) #
Sets a new projection mode to be used for the environment probe.Arguments
- LightEnvironmentProbe::PROJECTION_MODE mode - Projection mode to be set for the environment probe. One of the PROJECTION_MODE values.
LightEnvironmentProbe::PROJECTION_MODE getProjectionMode ( ) const#
Returns the current projection mode used for the environment probe.Return value
Current projection mode for the environment probe. One of the PROJECTION_MODE values.void setGrabMode ( LightEnvironmentProbe::GRAB_MODE mode ) #
Sets the mode used to grab light and reflections for Environment Probe.Arguments
- LightEnvironmentProbe::GRAB_MODE mode - Grabbing mode to be set for the environment probe. One of the GRAB_MODE values.
LightEnvironmentProbe::GRAB_MODE getGrabMode ( ) const#
Returns the current mode used to grab light and reflections for Environment Probe.Return value
The grabbing mode for the environment probe. One of the GRAB_MODE values.void setAmbientEnabled ( bool enabled ) #
Enables or disables ambient (Indirect Diffuse) lighting for the environment probe.Arguments
- bool enabled - true to enable ambient (Indirect Diffuse) lighting for the environment probe; false to disable it.
bool isAmbientEnabled ( ) const#
Returns a value indicating if ambient (Indirect Diffuse) lighting for the environment probe is enabled.Return value
true if ambient (Indirect Diffuse) lighting for the environment probe is enabled; otherwise, false.void setAmbientContrast ( float contrast ) #
Sets the ambient (Indirect Diffuse) contrast value for the environment probe.Arguments
- float contrast - Ambient contrast value within the [0.0f, 1.0f] range. The default value is 1.0f.
float getAmbientContrast ( ) const#
Returns the current ambient (Indirect Diffuse) contrast value for the environment probe.Return value
Ambient contrast value.void setSpecularEnabled ( bool enabled ) #
Enables or disables indirect specular lighting for the environment probe.Arguments
- bool enabled - true to enable indirect specular lighting for the environment probe; false to disable it.
bool isSpecularEnabled ( ) const#
Returns a value indicating if indirect specular lighting for the environment probe is enabled.Return value
true if indirect specular lighting for the environment probe is enabled; otherwise, false.void setAttenuationDistance ( const Math::vec3 & distance ) #
Sets the distance from the light source shape, at which the light source doesn't illuminate anything.Arguments
- const Math::vec3 & distance - Distance from the light source shape, at which the light source doesn't illuminate anything.
Math::vec3 getAttenuationDistance ( ) const#
Returns the distance from the light source shape, at which the light source doesn't illuminate anything.Return value
Distance from the light source shape, at which the light source doesn't illuminate anything.void setBoxAmbientParallax ( float parallax ) #
Sets the current ambient parallax factor for box projection.Arguments
- float parallax - Ambient parallax factor.
float getBoxAmbientParallax ( ) const#
Returns the current ambient parallax factor for box projection.Return value
Ambient parallax factor.void setBoxGlossCorners ( float corners ) #
Sets the coefficient that controls glossiness of reflections in the corners of box projection.Arguments
- float corners - New value of the glossiness coefficient for reflections in the corners of box projection. The default value is true.
float getBoxGlossCorners ( ) const#
Returns the current value of the coefficient that controls glossiness of reflections in the corners of box projection.Return value
Current value of the glossiness coefficient for reflections in the corners of box projection. The default value is 1.void setGrabDistanceScale ( float scale ) #
Sets the distance multiplier for the reflection visibility distance. Distance Scale is applied to the distance measured from the reflection camera to the node (surface) bound.Arguments
- float scale - Distance scale multiplier for the reflection. The default value is 0.5f.
float getGrabDistanceScale ( ) const#
Returns the distance multiplier for the reflection visibility distance. Distance Scale is applied to the distance measured from the reflection camera to the node (surface) bound.Return value
Distance scale multiplier for the reflection. The default value is 0.5f.void setGrabByBakeLighting ( bool lighting ) #
Sets a value indicating whether the cubemap texture is to be modified by the Bake Lighting Tool.Arguments
- bool lighting - true to enable grabbing the cubemap texture with the Bake Lighting Tool; false - to disable it.
bool isGrabByBakeLighting ( ) const#
Returns a value indicating whether the cubemap texture is to be modified by the Bake Lighting Tool.Return value
true if the cubemap texture will be modified by the Bake Lighting Tool; otherwise, false.void setBoxSize ( const Math::vec3 & size ) #
Sets the box size for the environment probe (available only when the Projection Mode is set to Box).Arguments
- const Math::vec3 & size - Box size along X, Y, and Z axes.
Math::vec3 getBoxSize ( ) const#
Returns the current box size for the environment probe (available only when the Projection Mode is set to Box).Return value
Box size along X, Y, and Z axes.void setTextureFilePath ( const char * path ) #
Sets a path to a cube texture file.Arguments
- const char * path - Path to a cube texturefile .
const char * getTextureFilePath ( ) const#
Returns the path to the reflection cube texture file used for the environment probe.Return value
Path to the cube texture file.void setLocalSpace ( bool space ) #
Enables local space (local coordinates) for the environment probe. Can be used for scenes with moving objects.Arguments
- bool space - true to enable local space; otherwise, false.
bool isLocalSpace ( ) const#
Returns a value indicating if local space is enabled for the environment probe.Return value
true to enable local space; otherwise, false.void setGrabGGXMipmapsQuality ( Render::GGX_MIPMAPS_QUALITY quality ) #
Sets the quality of GGX mipmaps, one of the GGX_MIPMAPS_QUALITYvalues.Arguments
- Render::GGX_MIPMAPS_QUALITY quality - The quality of GGX mipmaps, one of the GGX_MIPMAPS_QUALITYvalues.
Render::GGX_MIPMAPS_QUALITY getGrabGGXMipmapsQuality ( ) const#
Returns the current quality of GGX mipmaps, one of the GGX_MIPMAPS_QUALITYvalues.Return value
The quality of GGX mipmaps, one of the GGX_MIPMAPS_QUALITYvalues.void setGrabViewportMask ( int mask ) #
Sets a mask that specifies materials for which reflections are to be rendered in the viewport.Arguments
- int mask - Reflection viewport mask (integer, each bit of which is used to represent a mask).
int getGrabViewportMask ( ) const#
Returns the mask that specifies materials for which reflections are to be rendered in the viewport.Return value
Reflection viewport mask (integer, each bit of which is used to represent a mask).void setSphereReflectionParallax ( float parallax ) #
Sets parallax correction value for reflection cubemaps projected by the environment probe. By the minimum value of 0 reflection cubemaps are simply projected onto objects, and do not follow the viewer's perspective. This causes an unrealistic-looking reflection for most surfaces. Parallax correction enables to take camera's position into account.Arguments
- float parallax - Parallax correction value to be set for reflection cubemaps projected by the environment probe in the range [0;1]:
- By the minimum value of 0 parallax correction is disabled (reflections will look like objects are infinitely distant).
- By the maximum value of 1 parallax correction is enabled (reflections will look like objects are at the distance close to the radius of the environment probe).
- Values in-between represent a linear interpolation factor for parallax correction and are to be set when the environment probe is used to fit a medium or small object into the environment for additional correction.
float getSphereReflectionParallax ( ) const#
Returns the current parallax correction value for reflection cubemaps projected by the environment probe. By the minimum value of 0 reflection cubemaps are simply projected onto objects, and do not follow the viewer's perspective. This causes an unrealistic-looking reflection for most surfaces. Parallax correction enables to take camera's position into account.Return value
Current parallax correction value for reflection cubemaps projected by the environment probe in the range [0;1].- By the minimum value of 0 parallax correction is disabled (reflections will look like objects are infinitely distant).
- By the maximum value of 1 parallax correction is enabled (reflections will look like objects are at the distance close to the radius of the environment probe).
- Values in-between represent a linear interpolation factor for parallax correction and are to be set when the environment probe is used to fit a medium or small object into the environment for additional correction.
void setGrabDynamicFacesPerFrame ( LightEnvironmentProbe::GRAB_DYNAMIC_FACES_PER_FRAME frame ) #
Sets the update interval for the cube texture used for dynamic reflections.Arguments
- LightEnvironmentProbe::GRAB_DYNAMIC_FACES_PER_FRAME frame - Value indicating a new update interval for the dynamic cube texture (faces per frame).
LightEnvironmentProbe::GRAB_DYNAMIC_FACES_PER_FRAME getGrabDynamicFacesPerFrame ( ) const#
Returns the current update interval set for the cube texture used for dynamic reflections.Return value
Value indicating the current update interval for the dynamic cube texture (faces per frame).void setGrabResolution ( LightEnvironmentProbe::GRAB_RESOLUTION resolution ) #
Sets the resolution of the reflection mask in pixels (available only when the Grab Mode is set to BAKED).Arguments
- LightEnvironmentProbe::GRAB_RESOLUTION resolution - Resolution of the reflection mask in pixels.
LightEnvironmentProbe::GRAB_RESOLUTION getGrabResolution ( ) const#
Returns the current resolution of the reflection mask in pixels (available only when the Grab Mode is set to BAKED).Return value
Resolution of the reflection mask in pixels.void setSkyCutout ( bool cutout ) #
Enables or disables sky cutout for image grabbing (available only when the Grab Mode is set to BAKED).Arguments
- bool cutout - true to enable sky cutout, false to disable it. The default value is false.
bool isSkyCutout ( ) const#
Returns a value indicating if sky cutout for image grabbing is enabled (available only when the Grab Mode is set to BAKED).Return value
true if sky cutout for image grabbing is enabled; otherwise, false.void setMultiplyBySkyColor ( bool color ) #
Enables or disables sun color modulation for the environment probe (the light of the environment probe changes as the sun color changes). This parameter can be used for outdoor-baked environment probes.Arguments
- bool color - true to enable sun color modulation for the environment probe, false to disable it. The default value is false.
bool isMultiplyBySkyColor ( ) const#
Returns a value indicating if sun color modulation for the environment probe is enabled. This parameter can be used for outdoor-baked environment probes.Return value
true if sun color modulation for the environment probe is enabled; otherwise, false.void setGrabSupersampling ( LightEnvironmentProbe::GRAB_SUPERSAMPLING supersampling ) #
Sets a new supersampling mode for image grabbing (available only when the Grab Mode is set to BAKED).Arguments
- LightEnvironmentProbe::GRAB_SUPERSAMPLING supersampling - New supersampling mode to be set. The default value is MODE_1.
LightEnvironmentProbe::GRAB_SUPERSAMPLING getGrabSupersampling ( ) const#
Returns the current supersampling mode for image grabbing (available only when the Grab Mode is set to BAKED).Return value
Current supersampling mode for grabbing. The default value is MODE_1.void setGrabZFar ( float zfar ) #
Sets the distance to the far clipping plane for image grabbing (available only when the Grab Mode is set to BAKED).Arguments
- float zfar - Distance to the far clipping plane.
float getGrabZFar ( ) const#
Returns the distance to the far clipping plane used for image grabbing (available only when the Grab Mode is set to BAKED).Return value
Distance to the far clipping plane.void setGrabZNear ( float znear ) #
Sets the distance to the near clipping plane for image grabbing (available only when the Grab Mode is set to BAKED).Arguments
- float znear - Distance to the near clipping plane.
float getGrabZNear ( ) const#
Returns the distance to the near clipping plane used for image grabbing (available only when the Grab Mode is set to BAKED).Return value
Distance to the near clipping plane.static int type ( ) #
Returns the type of the node.Return value
LightEnvironmentProbe type identifier.void setCutoutByShadow ( bool shadow ) #
Returns a value indicating if reflections occluded by obstacles should be clipped or not. This feature uses the depth texture grabbed for the environment probe to determine reflections that should be visible.Arguments
- bool shadow - true to enable clipping of reflections occluded by obstacles, false to disable it. The default value is false.
bool isCutoutByShadow ( ) const#
Returns a value indicating if clipping of reflections occluded by obstacles is enabled. This feature uses the depth texture grabbed for the environment probe to determine reflections that should be visible.Return value
true if clipping of reflections occluded by obstacles is enabled; otherwise, false.void setAdditiveBlending ( bool blending ) #
Enables or disables additive blending mode for the environment probe. This option offers more flexibility in reflections control. You can use it to blend reflections of several environment probes together and control them separately .Arguments
- bool blending - true to enable additive blending mode for the environment probe, false to disable it. The default value is false.
bool isAdditiveBlending ( ) const#
Returns a value indicating if additive blending is enabled for the environment probe. This option offers more flexibility in reflections control. You can use it to blend reflections of several environment probes together and control them separately.Return value
true if additive blending mode is enabled for the environment probe; otherwise, false.void setGrabBakeVisibilityEmission ( bool emission ) #
Enables or disables baking of emission light sources to the environment probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make environment probes independent of each other and combine them to produce some sort of dynamic GI effect.Arguments
- bool emission - true to enable baking of emission light sources to the environment probe; false to disable it.
bool isGrabBakeVisibilityEmission ( ) const#
Returns a value indicating if emission light sources are to be baked to the environment probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make environment probes independent of each other and combine them to produce some sort of dynamic GI effect.Return value
true if emission light sources are to be baked to the environment probe; otherwise, false.void setGrabBakeVisibilitySky ( bool sky ) #
Enables or disables baking of lighting from the sky to the environment probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make environment probes independent of each other and combine them to produce some sort of dynamic GI effect.Arguments
- bool sky - true to enable baking of lighting from the sky to the environment probe; false to disable it.
bool isGrabBakeVisibilitySky ( ) const#
Returns a value indicating if lighting from the sky is to be baked to the environment probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make environment probes independent of each other and combine them to produce some sort of dynamic GI effect.Return value
true if lighting from the sky is to be baked to the environment probe; otherwise, false.void setGrabBakeVisibilityLightWorld ( bool world ) #
Enables or disables baking of world light sources to the environment probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make environment probes independent of each other and combine them to produce some sort of dynamic GI effect.Arguments
- bool world - true to enable baking of world light sources to the environment probe; false to disable it.
bool isGrabBakeVisibilityLightWorld ( ) const#
Returns a value indicating if world light sources are to be baked to the environment probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make environment probes independent of each other and combine them to produce some sort of dynamic GI effect.Return value
true if world light sources are to be baked to the environment probe; otherwise, false.void setGrabBakeVisibilityLightOmni ( bool omni ) #
Enables or disables baking of omni light sources to the environment probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make environment probes independent of each other and combine them to produce some sort of dynamic GI effect.Arguments
- bool omni - true to enable baking of omni light sources to the environment probe; false to disable it.
bool isGrabBakeVisibilityLightOmni ( ) const#
Returns a value indicating if omni light sources are to be baked to the environment probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make environment probes independent of each other and combine them to produce some sort of dynamic GI effect.Return value
true if omni light sources are to be baked to the environment probe; otherwise, false.void setGrabBakeVisibilityLightProj ( bool proj ) #
Enables or disables baking of projected light sources to the environment probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make environment probes independent of each other and combine them to produce some sort of dynamic GI effect.Arguments
- bool proj - true to enable baking of projected light sources to the environment probe; false to disable it.
bool isGrabBakeVisibilityLightProj ( ) const#
Returns a value indicating if projected light sources are to be baked to the environment probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make environment probes independent of each other and combine them to produce some sort of dynamic GI effect.Return value
true if the projected light sources are to be baked to the environment probe; otherwise, false.void setGrabBakeVisibilityVoxelProbe ( bool probe ) #
Enables or disables baking of voxel probe light sources to the environment probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make environment probes independent of each other and combine them to produce some sort of dynamic GI effect.Arguments
- bool probe - true to enable baking of voxel probe light sources to the environment probe; false to disable it.
bool isGrabBakeVisibilityVoxelProbe ( ) const#
Returns a value indicating if voxel probe light sources are to be baked to the environment probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make environment probes independent of each other and combine them to produce some sort of dynamic GI effect.Return value
true if voxel probe light sources are to be baked to the environment probe; otherwise, false.void setGrabBakeVisibilityEnvironmentProbe ( bool probe ) #
Enables or disables baking of environment probe light sources to the voxel probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make voxel probes independent of each other and combine them to produce some sort of dynamic GI effect.Arguments
- bool probe - true to enable baking of environment probe light sources to the voxel probe; false to disable it.
bool isGrabBakeVisibilityEnvironmentProbe ( ) const#
Returns a value indicating if environment probe light sources are to be baked to the voxel probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make voxel probes independent of each other and combine them to produce some sort of dynamic GI effect.Return value
true if environment probe light sources are to be baked to the voxel probe; otherwise, false.void setGrabBakeVisibilityLightmap ( bool lightmap ) #
Enables or disables baking of lightmapped surfaces to the environment probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make environment probes independent of each other and combine them to produce some sort of dynamic GI effect.Arguments
- bool lightmap - true to enable baking of lightmapped surfaces to the environment probe; false to disable it.
bool isGrabBakeVisibilityLightmap ( ) const#
Returns a value indicating if lightmapped surfaces are to be baked to the environment probe. You can use this option together with additive blending to provide more flexibility in light baking. Thus, you can make environment probes independent of each other and combine them to produce some sort of dynamic GI effect.Return value
true if lightmapped surfaces are to be baked to the environment probe; otherwise, false.void setRaymarchingNoiseFramesNumber ( int number ) #
Sets the number of variations of the noise pattern, which is changed every frame. Higher values result in a more dynamic noise effect, but a significant temporal accumulation of frames will make the image look like more rays are used. Smaller values result in a more static noise pattern.Arguments
- int number - The number of noise pattern variations.
int getRaymarchingNoiseFramesNumber ( ) const#
Returns the number of variations of the noise pattern, which is changed every frame. Higher values result in a more dynamic noise effect, but a significant temporal accumulation of frames will make the image look like more rays are used. Smaller values result in a more static noise pattern.Return value
Number of variations of the noise pattern, which is changed every frame.void setRaymarchingDiffuseStepSize ( float size ) #
Sets the size of the trace step used for the indirect diffuse light calculation. Higher values result in longer traces (however, tiny objects may become missing), lower values produce more detailed reflections of tiny objects.Arguments
- float size - Size of the trace step used for the indirect diffuse light calculation.
float getRaymarchingDiffuseStepSize ( ) const#
Returns the size of the trace step used for the indirect diffuse light calculation. Higher values result in longer traces (however, tiny objects may become missing), lower values produce more detailed reflections of tiny objects.Return value
Size of the trace step used for the indirect diffuse light calculation.void setRaymarchingDiffuseNumRays ( int rays ) #
Sets the number of rays per pixel that are used to calculate diffuse reflections from rough surfaces. Using more rays provides more precise reflection roughness calculation, however, it is more expensive.Arguments
- int rays - The number of rays per pixel that are used to calculate diffuse reflections from rough surfaces.
int getRaymarchingDiffuseNumRays ( ) const#
Returns the number of rays per pixel that are used to calculate diffuse reflections from rough surfaces. Using more rays provides more precise reflection roughness calculation, however, it is more expensive.Return value
The number of rays per pixel that are used to calculate diffuse reflections from rough surfaces.void setRaymarchingDiffuseNumSteps ( int steps ) #
Sets the number of steps per ray that are used for trace calculation. The number of steps defines accuracy of indirect diffuse light and causes a reasonable performance impact. The higher the value, the more accurate obstacles between objects are taken into account.Arguments
- int steps - The number of steps per ray that are used for trace calculation.
int getRaymarchingDiffuseNumSteps ( ) const#
Returns the number of steps per ray that are used for trace calculation. The number of steps defines accuracy of indirect diffuse light and causes a reasonable performance impact. The higher the value, the more accurate obstacles between objects are taken into account.Return value
The number of steps per ray that are used for trace calculation.void setRaymarchingDiffuseThreshold ( float threshold ) #
Sets the threshold used for the diffuse light calculation to limit imitation of diffuse light in areas where information can't be obtained. Higher values make the effect less pronounced.Arguments
- float threshold - The threshold used for the diffuse light calculation to limit imitation of diffuse light in areas where information can't be obtained.
float getRaymarchingDiffuseThreshold ( ) const#
Returns the current threshold used for the diffuse light calculation to limit imitation of diffuse light in areas where information can't be obtained. Higher values make the effect less pronounced.Return value
The threshold used for the diffuse light calculation to limit imitation of diffuse light in areas where information can't be obtained.void setRaymarchingDiffuseThresholdOcclusion ( float occlusion ) #
Sets the value that limits imitation of environment cubemap occlusion for the diffuse light in areas where information can't be obtained. Higher values make the effect less pronounced. 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 - The value that limits imitation of environment cubemap occlusion for the diffuse light in areas where information can't be obtained.
float getRaymarchingDiffuseThresholdOcclusion ( ) const#
Returns the current value that limits imitation of environment cubemap occlusion for the diffuse light in areas where information can't be obtained. Higher values make the effect less pronounced. 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
The value that limits imitation of environment cubemap occlusion for the diffuse light in areas where information can't be obtained.void setRaymarchingDiffuseMipOffset ( float offset ) #
The mipmap offset for the cubemap that is used for the diffuse light calculation. Increasing the value affects performance, lighting turns to be less detailed and realistic, small objects on the cubemap may be lost. The 0 value provides the most visually credible result, but more rays are required to eliminate the noise.Arguments
- float offset - The mipmap offset for the cubemap that is used for the diffuse light calculation.
float getRaymarchingDiffuseMipOffset ( ) const#
The mipmap offset for the cubemap that is used for the diffuse light calculation. Increasing the value affects performance, lighting turns to be less detailed and realistic, small objects on the cubemap may be lost. The 0 value provides the most visually credible result, but more rays are required to eliminate the noise.Return value
The mipmap offset for the cubemap that is used for the diffuse light calculation.void setRaymarchingDiffuseInformationLostRaysMultiplier ( float multiplier ) #
Sets the multiplier for the number of rays for the indirect diffuse in the areas where the ghosting effect usually occurs. Increasing this value reduces the ghosting, but the more ghosting cases are, the more it affects performance.Arguments
- float multiplier - The multiplier for the number of rays for the indirect diffuse in the areas where the ghosting effect usually occurs.
float getRaymarchingDiffuseInformationLostRaysMultiplier ( ) const#
Returns the current multiplier for the number of rays for the indirect diffuse in the areas where the ghosting effect usually occurs. Increasing this value reduces the ghosting, but the more ghosting cases are, the more it affects performance.Return value
The multiplier for the number of rays for the indirect diffuse in the areas where the ghosting effect usually occurs.void setRaymarchingDiffuseTranslucenceAnisotropy ( float anisotropy ) #
Sets the value defining the extent of the light penetration through transparent surfaces. The example values have the following effect:
- 0 — light does not penetrate through surfaces.
- 0.5 — light is distributed equally on both sides of the surface (along the ray direction and towards the light source)
- 1.0 — all light passes through the surface along the ray direction.
Arguments
- float anisotropy - The value defining the extent of the light penetration through transparent surfaces.
float getRaymarchingDiffuseTranslucenceAnisotropy ( ) const#
Returns the current value defining the extent of the light penetration through transparent surfaces. The example values have the following effect:
- 0 — light does not penetrate through surfaces.
- 0.5 — light is distributed equally on both sides of the surface (along the ray direction and towards the light source)
- 1.0 — all light passes through the surface along the ray direction.
Return value
The value defining the extent of the light penetration through transparent surfaces.void setRaymarchingSpecularStepSize ( float size ) #
Sets the size of the trace step used for the indirect specular reflection calculation. Higher values result in longer traces (however, tiny objects may become missing), lower values produce more detailed reflections of tiny objects.Arguments
- float size - The size of the trace step used for the indirect specular reflection calculation.
float getRaymarchingSpecularStepSize ( ) const#
Returns the size of the trace step used for the indirect specular reflection calculation. Higher values result in longer traces (however, tiny objects may become missing), lower values produce more detailed reflections of tiny objects.Return value
The size of the trace step used for the indirect specular reflection calculation.void setRaymarchingSpecularNumRays ( int rays ) #
Sets the number of rays per pixel that are used to calculate specular reflections from rough surfaces. Using more rays provides more precise reflection roughness calculation, however, it is more expensive.Arguments
- int rays - The number of rays per pixel that are used to calculate specular reflections from rough surfaces.
int getRaymarchingSpecularNumRays ( ) const#
Returns the number of rays per pixel that are used to calculate specular reflections from rough surfaces. Using more rays provides more precise reflection roughness calculation, however, it is more expensive.Return value
The number of rays per pixel that are used to calculate specular reflections from rough surfaces.void setRaymarchingSpecularNumSteps ( int steps ) #
Sets the number of steps per ray that are used for trace calculation. The number of steps defines accuracy of indirect specular reflections and causes a reasonable performance impact. The higher the value, the more accurate obstacles between objects are taken into account.Arguments
- int steps - The number of steps per ray that are used for trace calculation.
int getRaymarchingSpecularNumSteps ( ) const#
Returns the current number of steps per ray that are used for trace calculation. The number of steps defines accuracy of indirect specular reflections and causes a reasonable performance impact. The higher the value, the more accurate obstacles between objects are taken into account.Return value
The number of steps per ray that are used for trace calculation.void setRaymarchingSpecularNumStepsRoughnessThreshold ( float threshold ) #
Sets the roughness value at which the number of steps equals to 1. This is required for optimization, as calculating matte reflections as correctly as possible may be unnecessary.Arguments
- float threshold - The roughness value at which the number of steps equals to 1.
float getRaymarchingSpecularNumStepsRoughnessThreshold ( ) const#
Returns the current roughness value at which the number of steps equals to 1. This is required for optimization, as calculating matte reflections as correctly as possible may be unnecessary.Return value
The roughness value at which the number of steps equals to 1.void setRaymarchingSpecularThreshold ( float threshold ) #
Sets the threshold used for the specular reflections calculation to limit imitation of specular in areas where information can't be obtained. Higher values make the effect less pronounced.Arguments
- float threshold - The threshold used for the specular reflections calculation to limit imitation of specular in areas where information can't be obtained.
float getRaymarchingSpecularThreshold ( ) const#
Returns the current threshold used for the specular reflections calculation to limit imitation of specular in areas where information can't be obtained. Higher values make the effect less pronounced.Return value
The threshold used for the specular reflections calculation to limit imitation of specular in areas where information can't be obtained.void setRaymarchingSpecularThresholdOcclusion ( float occlusion ) #
Sets the value that limits imitation of environment cubemap occlusion for the specular reflections in areas where information can't be obtained. Higher values make the effect less pronounced. 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 - The value that limits imitation of environment cubemap occlusion for the specular reflections in areas where information can't be obtained.
float getRaymarchingSpecularThresholdOcclusion ( ) const#
Returns the current value that limits imitation of environment cubemap occlusion for the specular reflections in areas where information can't be obtained. Higher values make the effect less pronounced. 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
The value that limits imitation of environment cubemap occlusion for the specular reflections in areas where information can't be obtained.void setRaymarchingSpecularMipOffset ( float offset ) #
The mipmap offset for the cubemap that is used for the specular reflections calculation. Increasing the value affects performance, lighting turns to be less detailed and realistic, small objects on the cubemap may be lost. The 0 value provides the most visually credible result, but more rays are required to eliminate the noise.Arguments
- float offset - The mipmap offset for the cubemap that is used for the specular reflections calculation.
float getRaymarchingSpecularMipOffset ( ) const#
The mipmap offset for the cubemap that is used for the specular reflections calculation. Increasing the value affects performance, lighting turns to be less detailed and realistic, small objects on the cubemap may be lost. The 0 value provides the most visually credible result, but more rays are required to eliminate the noise.Return value
The mipmap offset for the cubemap that is used for the specular reflections calculation.void setRaymarchingSpecularInformationLostRaysMultiplier ( float multiplier ) #
Sets the multiplier for the number of rays for the indirect specular in the areas where the ghosting effect usually occurs. Increasing this value reduces the ghosting, but the more ghosting cases are, the more it affects performance.Arguments
- float multiplier - The multiplier for the number of rays for the indirect specular in the areas where the ghosting effect usually occurs.
float getRaymarchingSpecularInformationLostRaysMultiplier ( ) const#
Returns the current multiplier for the number of rays for the indirect specular in the areas where the ghosting effect usually occurs. Increasing this value reduces the ghosting, but the more ghosting cases are, the more it affects performance.Return value
The multiplier for the number of rays for the indirect specular in the areas where the ghosting effect usually occurs.void setRaymarchingSpecularReplaceWithDiffuseRoughnessThreshold ( float threshold ) #
Sets the rougness value starting from which Indirect Specular stops being calculated and is replaced with Indirect Diffuse. This setting is used to optimize matte reflections.Arguments
- float threshold - The rougness value starting from which Indirect Specular stops being calculated and is replaced with Indirect Diffuse.
float getRaymarchingSpecularReplaceWithDiffuseRoughnessThreshold ( ) const#
Returns the current rougness value starting from which Indirect Specular stops being calculated and is replaced with Indirect Diffuse. This setting is used to optimize matte reflections.Return value
The rougness value starting from which Indirect Specular stops being calculated and is replaced with Indirect Diffuse.void setRaymarchingSpecularBRDF ( LightEnvironmentProbe::SPECULAR_BRDF_MODE raymarchingspecularbrdf ) #
Sets the light distribution model for matte surfaces. GGX is more realistic, though increases noise and slightly reduces performance.Arguments
- LightEnvironmentProbe::SPECULAR_BRDF_MODE raymarchingspecularbrdf - The light distribution model for matte surfaces, one of the SPECULAR_BRDF_MODE values.
LightEnvironmentProbe::SPECULAR_BRDF_MODE getRaymarchingSpecularBRDF ( ) const#
The light distribution model for matte surfaces. GGX is more realistic, though increases noise and slightly reduces performance.Return value
The light distribution model for matte surfaces, one of the SPECULAR_BRDF_MODE values.void setRaymarchingLastStepMode ( LightEnvironmentProbe::LAST_STEP_MODE mode ) #
Sets the cubemap to be used for the last raymarching step. The following modes are available:- Environment Probe — the cubemap used for the last step is the same as for all previous steps.
- Only Sky — the cubemap contains the sky and clouds only. This option is designed to fix the incorrect parallax that may occur in reflections due to the infinite length of the last step.
Arguments
- LightEnvironmentProbe::LAST_STEP_MODE mode - The cubemap for the last step. One of the LAST_STEP_MODE values.
LightEnvironmentProbe::LAST_STEP_MODE getRaymarchingLastStepMode ( ) const#
Returns the cubemap used for the last raymarching step. The following modes are available:- Environment Probe — the cubemap used for the last step is the same as for all previous steps.
- Only Sky — the cubemap contains the sky and clouds only. This option is designed to fix the incorrect parallax that may occur in reflections due to the infinite length of the last step.
Return value
The cubemap for the last step. One of the LAST_STEP_MODE values.void setRaymarchingAmbientOcclusionIntensity ( float intensity ) #
Sets the ambient occlusion intensity. Keep in mind that ambient occlusion doesn't exist in the real world, this is a method to imitate shadows between objects. For photorealistic visualization, we recommend keeping this value equal to 0.Arguments
- float intensity - Ambient occlusion intensity.
float getRaymarchingAmbientOcclusionIntensity ( ) const#
Returns the ambient occlusion intensity. Keep in mind that ambient occlusion doesn't exist in the real world, this is a method to imitate shadows between objects. For photorealistic visualization, we recommend keeping this value equal to 0.Return value
Ambient occlusion intensity.void setRaymarchingAmbientOcclusionRadius ( float radius ) #
Sets the radius of sample pixels used in the Ambient Occlusion effect, controlling the extent of the darkened area.Arguments
- float radius - Ambient occlusion radius.
float getRaymarchingAmbientOcclusionRadius ( ) const#
Returns the radius of sample pixels used in the Ambient Occlusion effect, controlling the extent of the darkened area.Return value
Ambient occlusion radius.void setRaymarchingDiffuseThresholdBinarySearch ( float search ) #
Sets the threshold value used for the intersection detection that defines the depth of the ray penetration under the surface. Higher values may cause more false intersections, but make the process of intersection detection easier.Arguments
- float search - Threshold value.
float getRaymarchingDiffuseThresholdBinarySearch ( ) const#
Returns the threshold value used for the intersection detection that defines the depth of the ray penetration under the surface. Higher values may cause more false intersections, but make the process of intersection detection easier.Return value
Threshold value.void setRaymarchingDiffuseReconstructionSamples ( int samples ) #
Sets the number of iterations required for a more accurate detection of the ray-surface intersection for the indirect diffuse. Higher values define the intersection more precisely, however significantly affect performance.Arguments
- int samples - Number of iterations for the intersection detection.
int getRaymarchingDiffuseReconstructionSamples ( ) const#
Retuns the number of iterations required for a more accurate detection of the screen-space ray-surface intersection for the indirect diffuse. Higher values define the intersection more precisely, however significantly affect performance.Return value
Number of iterations for the intersection detection.void setRaymarchingDiffusePerspectiveCompensation ( float compensation ) #
Sets the perspective compensation for the raymarching step size. 0 means that the raymarching step size is bound to the World Space, and 1 means that it is bound to the Screen Space. As a result, at the value of 1, the ray length at the distance from the camera will be more than at a closer distance, which makes sense for large objects, but the details on small objects in the distance may will be lost.Arguments
- float compensation - Compensation value.
float getRaymarchingDiffusePerspectiveCompensation ( ) const#
Returns the perspective compensation for the raymarching step size. 0 means that the raymarching step size is bound to the World Space, and 1 means that it is bound to the Screen Space. As a result, at the value of 1, the ray length at the distance from the camera will be more than at a closer distance, which makes sense for large objects, but the details on small objects in the distance may will be lost.Return value
Compensation value.void setRaymarchingDiffuseNonLinearStepSize ( float size ) #
Sets the raymarching step size adjustment value. The value of 0 means that the step size is the same for each step, and at the value of 1 each subsequent raymarching step is twice wider than the previous one.Arguments
- float size - Step size.
float getRaymarchingDiffuseNonLinearStepSize ( ) const#
Returns the raymarching step size adjustment value. The value of 0 means that the step size is the same for each step, and at the value of 1 each subsequent raymarching step is twice wider than the previous one.Return value
Step size.void setRaymarchingSpecularThresholdBinarySearch ( float search ) #
Sets the threshold value used for the intersection detection that defines the depth of the ray penetration under the surface. Higher values may cause more false intersections, but make the process of intersection detection easier.Arguments
- float search - Threshold for the intersection detection.
float getRaymarchingSpecularThresholdBinarySearch ( ) const#
Returns the threshold value used for the intersection detection that defines the depth of the ray penetration under the surface. Higher values may cause more false intersections, but make the process of intersection detection easier.Return value
Threshold for the intersection detection.void setRaymarchingSpecularReconstructionSamples ( int samples ) #
Sets the number of iterations required for a more accurate detection of the ray-surface intersection for the indirect specular. Higher values define the intersection more precisely, however significantly affect performance.Arguments
- int samples - Number of iterations for the intersection detection.
int getRaymarchingSpecularReconstructionSamples ( ) const#
Returns the number of iterations required for a more accurate detection of the ray-surface intersection for the indirect specular. Higher values define the intersection more precisely, however significantly affect performance.Return value
Number of iterations for the intersection detection.void setRaymarchingSpecularPerspectiveCompensation ( float compensation ) #
Sets the perspective compensation for the raymarching step size. 0 means that the raymarching step size is bound to the World Space, and 1 means that it is bound to the Screen Space. As a result, at the value of 1, the ray length at the distance from the camera will be more than at a closer distance, which makes sense for large objects, but the details on small objects in the distance may will be lost.Arguments
- float compensation - Compensation value.
float getRaymarchingSpecularPerspectiveCompensation ( ) const#
Returns the perspective compensation for the raymarching step size. 0 means that the raymarching step size is bound to the World Space, and 1 means that it is bound to the Screen Space. As a result, at the value of 1, the ray length at the distance from the camera will be more than at a closer distance, which makes sense for large objects, but the details on small objects in the distance may will be lost.Return value
Compensation value.void setRaymarchingSpecularNonLinearStepSize ( float size ) #
Sets the raymarching step size adjustment value. The value of 0 means that the step size is the same for each step, and at the value of 1 each subsequent raymarching step is twice wider than the previous one.Arguments
- float size - Step size.
float getRaymarchingSpecularNonLinearStepSize ( ) const#
Returns the raymarching step size adjustment value. The value of 0 means that the step size is the same for each step, and at the value of 1 each subsequent raymarching step is twice wider than the previous one.Return value
Step size.void setRaymarchingSecondaryBounceProjectionMode ( LightEnvironmentProbe::SECONDARY_BOUNCE_PROJECTION_MODE mode ) #
Sets the secondary bounce projection mode.Arguments
- LightEnvironmentProbe::SECONDARY_BOUNCE_PROJECTION_MODE mode - Secondary bounce projection mode. One of the SECONDARY_BOUNCE_PROJECTION_MODE values.
LightEnvironmentProbe::SECONDARY_BOUNCE_PROJECTION_MODE getRaymarchingSecondaryBounceProjectionMode ( ) const#
Returns the secondary bounce projection mode.Return value
Secondary bounce projection mode. One of the SECONDARY_BOUNCE_PROJECTION_MODE values.void setGrabEnvironmentAmbientIntensity ( float intensity ) #
Sets the intensity of the environment ambient lighting.Arguments
- float intensity - Intensity of the environment ambient lighting.
float getGrabEnvironmentAmbientIntensity ( ) const#
Returns the intensity of the environment ambient lighting.Return value
Intensity of the environment ambient lighting.void setGrabEnvironmentReflectionIntensity ( float intensity ) #
Sets the intensity of the environment reflection.Arguments
- float intensity - Intensity of the environment reflection.
float getGrabEnvironmentReflectionIntensity ( ) const#
Returns the intensity of the environment reflection.Return value
Intensity of the environment reflection.void setSrgbModified ( bool modified ) #
Sets the value indicating if the baked cubemap or realtime calculation is converted to sRGB color space and modified to a lower dynamic range. Applying this option makes transition between the neighboring probe pixels smoother, which visually improves low-resolution probes or probes containing bright or constant pixels. Enabing or disabling this option requires rebaking of the static cubemap, otherwise lighting will be visually incorrect. If a static Environment Probe reuses a cubemap that has been baked with this option enabled, it should be enabled for this probe as well.
This option may be combined with setReflectionCubicFiltering() to achieve a better gradient between pixels.
Arguments
- bool modified - true to conversion to sRGB and a lower dynamic range for cubemap or realtime calculation, false to disable it.
bool isSrgbModified ( ) const#
Returns the value indicating if the baked cubemap or realtime calculation is converted to sRGB color space and modified to a lower dynamic range. Applying this option makes transition between the neighboring probe pixels smoother, which visually improves low-resolution probes or probes containing bright or constant pixels. Enabing or disabling this option requires rebaking of the static cubemap, otherwise lighting will be visually incorrect. If a static Environment Probe reuses a cubemap that has been baked with this option enabled, it should be enabled for this probe as well.
This option may be combined with setReflectionCubicFiltering() to achieve a better gradient between pixels.
Return value
true if conversion to sRGB and a lower dynamic range for cubemap or realtime calculation is enabled, otherwise false.void setReflectionCubicFiltering ( bool filtering ) #
Sets the value indicating if bicubic interpolation for the Enviropment Probe cubemap is enabled instead of the standard bilinear interpolation. This effect is only applicable to reflected lighting and calculated if a pixel has a low Roughness value. Modifications are applied only to the first mip of the cubemap. The effect visually represents slight blurring of neighboring pixels. However, this is not antialiasing and might affect the visual quality of high-resolution probes.
This option may be combined with setSrgbModified() to achieve a better gradient between pixels.
- Enabling this option affects performance, thus it is recommended to enable it only for Environment Probes affecting a big number of reflective/mirror pixels, especially if it is a realtime low-resolution Probe.
- For this option to have an effect on a transparent sufrace, the Reflection Cubic Filtering state should be enabled for the material (for non-transparent materials the option is applied automatically).
- The option does not affect Impostors.
Arguments
- bool filtering - true to enable bicubic interpolation for Enviropment Probe, false to disable it.
bool isReflectionCubicFiltering ( ) const#
Returns the value indicating if bicubic interpolation for the Enviropment Probe cubemap is enabled instead of the standard bilinear interpolation. This effect is only applicable to reflected lighting and calculated if a pixel has a low Roughness value. Modifications are applied only to the first mip of the cubemap. The effect visually represents slight blurring of neighboring pixels. However, this is not antialiasing and might affect the visual quality of high-resolution probes.
This option may be combined with setSrgbModified() to achieve a better gradient between pixels.
- Enabling this option affects performance, thus it is recommended to enable it only for Environment Probes affecting a big number of reflective/mirror pixels, especially if it is a realtime low-resolution Probe.
- For this option to have an effect on a transparent sufrace, the Reflection Cubic Filtering state should be enabled for the material (for non-transparent materials the option is applied automatically).
- The option does not affect Impostors.