fragment main { omw_In vec2 omw_TexCoord; void main() { const float multiplier = 0.14; vec2 offset = omw_Texture2D(omw_SamplerDistortion, omw_TexCoord).rg; offset *= multiplier; offset = clamp(offset, vec2(-1.0), vec2(1.0)); float occlusionFactor = omw_Texture2D(omw_SamplerDistortion, omw_TexCoord+offset).b; omw_FragColor = mix(omw_GetLastShader(omw_TexCoord + offset), omw_GetLastShader(omw_TexCoord), occlusionFactor); } } technique { description = "Internal refraction shader for OpenMW"; version = "1.0"; author = "OpenMW"; passes = main; flags = hidden; }