|Texture Property Name||refraction.distort|
|Description||Defines the distortion behind transparent objects|
|Excepted Data Source||2 component image|
|Data Range||0 to 1 for all image components|
|Default Value||(0.5, 0.5)|
The refraction.distort texture property defines the distortion to use for objects rendered behind a transparent object. Distortion effects are typically screen space effects simulating refraction distortion happening behind transparent materials with curvy and bumpy surface. Using full fresnel refraction calculations is usually not feasible in real time. This effect can though still be faked in screen space an image defining at what offset to use an image from behind the object. This technique has its limitations but it produces reasonable results fast.
The source is typically an 8 bit image with 2 color components with all color components inside the range from 0 to 1. The texture property is defined in a way normal maps can be used directly. Using a 3 component image is the typical solution. In this case the 3rd color component is ignored. The red color component (component 0) defines the amount of displacement in the x direction. 0 represents a full displacement to the left. 0.5 represents no displacement. 1 represents a full displacement to the right. The green color component (component 1) defines the displacement in the y direction similar to red (right=down, left=up). The displacement strength is defined using refraction.distort.strength texture property.
The default value for this texture property is (0.5, 0.5).
Distorted refraction behind a transparent object. The distortion is not a true Fresnel based refraction but a Screen Space distortion. Using the refraction.distort.strength texture property the strength of the distortion can be controlled. As image a normal map is used which allows to reuse the normal map also for distortion effects.