playcanvas
Version:
PlayCanvas WebGL game engine
4 lines (2 loc) • 819 B
JavaScript
var cubeMapProjectPS = "\n#if LIT_CUBEMAP_PROJECTION == BOX\n uniform vec3 envBoxMin;\n uniform vec3 envBoxMax;\n#endif\nvec3 cubeMapProject(vec3 nrdir) {\n #if LIT_CUBEMAP_PROJECTION == NONE\n return cubeMapRotate(nrdir);\n #endif\n #if LIT_CUBEMAP_PROJECTION == BOX\n nrdir = cubeMapRotate(nrdir);\n vec3 rbmax = (envBoxMax - vPositionW) / nrdir;\n vec3 rbmin = (envBoxMin - vPositionW) / nrdir;\n vec3 rbminmax;\n rbminmax.x = nrdir.x>0.0? rbmax.x : rbmin.x;\n rbminmax.y = nrdir.y>0.0? rbmax.y : rbmin.y;\n rbminmax.z = nrdir.z>0.0? rbmax.z : rbmin.z;\n float fa = min(min(rbminmax.x, rbminmax.y), rbminmax.z);\n vec3 posonbox = vPositionW + nrdir * fa;\n vec3 envBoxPos = (envBoxMin + envBoxMax) * 0.5;\n return normalize(posonbox - envBoxPos);\n #endif\n}\n";
export { cubeMapProjectPS as default };