This page has been translated automatically.
Getting Started
Migrating to UNIGINE 2.0
C++ API Migration
UnigineScript
The Language
Core Library
Engine Library
Node-Related Classes
GUI-Related Classes
Plugins Library
High-Level Systems
Samples
Usage Examples
C++ API
API Reference
Integration Samples
Usage Examples
C++ Plugins
Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.

post_filter_reflection

This postprocess allows to create image-based reflections. (See how to assign this postprocess material to make the selected materials reflective.) The technique works by tracing rays at each pixel of the material you set to reflect and rendering an approximate version of the scene at each tracing step (that is, a sample).
Being rough and inaccurate, this approach is performance-friendly and has the following advantages (if compared a standard reflective material):

  • A mesh does not have to be planar in order to create 2D reflection. It can have an arbitrary curved shape.
  • The rendering load does not depend on the number of reflected objects.

Notice
It is recommended to use post_filter_reflection material on the surfaces:
  • With normal bumping
  • Limited in space, for example, a room floor
To alleviate the rendering load, you can decrease the number of samples, the step distance or lessen the number of reflective materials.

post_filter_reflection postprocess material

Reflection filter postprocess

Textures

GUI nameXML nameDescriptionChannels
Vignettevignette One-channel vignette texture. It is used to disable rendering reflections along the edges of the viewport. Vignette shape and smoothness can be customized, but it should be wide enough to cover the sides of the screen. R:
  • Black sets areas without reflections
  • Red is areas with reflections

Parameters

Shading Parameters

GUI nameXML nameDescription
Fresnel biasfresnel_bias Coefficient that allows to compensate for the Fresnel effect. It sets the minimum necessary reflectance level (i.e. restores reflections to be seen at all viewing angles).
  • By the minimum value of 0, there is no compensation for Fresnel power.
  • Increasing the value leads to more prominent reflections.
  • By the maximum value of 1, reflections are at their maximum and the Fresnel power parameter does not influence the rendered image.
Fresnel powerfresnel_power Factor to scale Fresnel effect that defines the amount of reflectance depending on the viewing angle:
  • Low values provide good reflectance even at a large viewing angles.
  • High values provide the reflectance only at a small viewing angle. When looking at a large viewing angle, from above, there are no reflections rendered.
Notice
If the Fresnel bias equals 1, Fresnel power does not apply.

It is recommended to set Fresnel power high enough and the Fresnel bias close to zero. In this case, reflections will not be rendered when looking at objects from above. Otherwise, as the reflections are only approximate and calculated in steps, moire patterns will be seen.

On the images below Fresnel power = 3 and Fresnel bias = 0. When looking on the object from above, there is no reflection. Distant objects seen at the small viewing angle, are still reflected.

Small viewing angle with Fresnel Large viewing angle with Fresnel
With Fresnel power = 3 and Fresnel bias = 0 reflections are not seen from above

Reflection Parameters

GUI nameXML nameDescription
Stepreflection_step The distance in units between the tracing steps (i.e. samples).
  • By low values, reflections do not spread far from surfaces that are being reflected.
  • By high values, reflections may look discrete if the number of tracing samples is set low. Higher values also mean lower performance.
Small tracing Step Large tracing Step
Tracing Step = 0.05 units
Tracing Step = 2 units
Powerreflection_power The speed of reflections fade out. The attenuation is performed relative to the surfaces that are being reflected.
  • The higher the value, the shorter reflections are and the smoother they fade out.
  • The lower the value, the less attenuated reflections are.
    Notice
    Do not set the Power to 0, because on some graphics cars it may result in black artifacts. Use a very small number instead.
Small attenuation Power Large attenuation Power
Attenuation Power = 0.5
Attenuation Power = 4
Colorreflection_color Color multiplier for reflections.
  • White color means no color transformation for reflections.
  • Black color result in no reflections at all.
Reflection color
Colored reflections on the floor

States

GUI nameXML nameDescription
Maskmask Color mask for the materials' auxiliary color. See how to use it as a mask to apply a postprocess only to the selected materials.
Samplessamples The number of tracing step along the ray. At each step the reflections is rendered if the ray hits an obstacle. This setting defines how accurate the rendered reflections will be:
  • By the lower the value, reflections do not spread far from surfaces that are being reflected. If the step is not set right, they can also appear more discrete.
  • The higher the value, the lower the performance.
Last update: 2017-07-03
Build: ()