UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

21 lines (19 loc) 678 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _TSLBase = require("../../tsl/TSLBase.js"); const F_Schlick = /*@__PURE__*/(0, _TSLBase.Fn)(({ f0, f90, dotVH }) => { // Original approximation by Christophe Schlick '94 // float fresnel = pow( 1.0 - dotVH, 5.0 ); // Optimized variant (presented by Epic at SIGGRAPH '13) // https://cdn2.unrealengine.com/Resources/files/2013SiggraphPresentationsNotes-26915738.pdf const fresnel = dotVH.mul(-5.55473).sub(6.98316).mul(dotVH).exp2(); return f0.mul(fresnel.oneMinus()).add(f90.mul(fresnel)); }); // validated var _default = exports.default = F_Schlick;