From Valve Developer Community
Jump to: navigation, search
English (en)中文 (zh)

$fresnelrangestexture is a 2d texture merged from several 1d textures to control the Fresnel term of blinn-phong specular and $rimlight.

  • The V coordinate of the texture corresponds to $warpindex. If there is an alpha channel of $masks1, you can control $warpindex through alpha to select different Fresnel mappings.
  • The U coordinate of the texture corresponds to the mapping relationship to the Fresnel value. The intensity of Fresnel corresponds to the coordinate value of U.

When $fresnelrangestexture exists, $phongfresnelranges is invalid

Fresnel will force the use of normalized VdotN as a constant sampling value to map fresnelrangestexture

$fresnelrangestexture consists of three channels of RGB:

  1. Channel R: No effect
  2. Channel G: After sampling, remap VdotN to obtain the final blinn-phong specular Fresnel mask
  3. Channel B: After sampling, multiply it with the RimMask (R channel) of $masks1 to obtain the Fresnel mask of AmbientReflection (rimlight related to the environment)