Schlick_to_F0.js 330 B

12345678910111213
  1. import { tslFn, vec3 } from '../../shadernode/ShaderNode.js';
  2. const Schlick_to_F0 = tslFn( ( { f, f90, dotVH } ) => {
  3. const x = dotVH.oneMinus().saturate();
  4. const x2 = x.mul( x );
  5. const x5 = x.mul( x2, x2 ).clamp( 0, .9999 );
  6. return f.sub( vec3( f90 ).mul( x5 ) ).div( x5.oneMinus() );
  7. } );
  8. export default Schlick_to_F0;