playcanvas
Version:
PlayCanvas WebGL game engine
3 lines (2 loc) • 922 B
TypeScript
declare const _default: "\n\n#if LIT_CUBEMAP_PROJECTION == BOX\n uniform envBoxMin: vec3f;\n uniform envBoxMax: vec3f;\n#endif\n\nfn cubeMapProject(nrdir: vec3f) -> vec3f {\n\n #if LIT_CUBEMAP_PROJECTION == NONE\n return cubeMapRotate(nrdir);\n #endif\n\n #if LIT_CUBEMAP_PROJECTION == BOX\n\n let nrdir_rotated: vec3f = cubeMapRotate(nrdir);\n\n let rbmax: vec3f = (uniform.envBoxMax - vPositionW) / nrdir_rotated;\n let rbmin: vec3f = (uniform.envBoxMin - vPositionW) / nrdir_rotated;\n\n let rbminmax: vec3f = select(rbmin, rbmax, nrdir_rotated > vec3f(0.0));\n let fa: f32 = min(min(rbminmax.x, rbminmax.y), rbminmax.z);\n\n let posonbox: vec3f = vPositionW + nrdir_rotated * fa;\n let envBoxPos: vec3f = (uniform.envBoxMin + uniform.envBoxMax) * 0.5;\n return normalize(posonbox - envBoxPos);\n\n #endif\n}\n";
export default _default;