123456789101112131415161718192021222324 |
- // Do not edit.
- import { ShaderStore } from "../../Engines/shaderStore.js";
- const name = "harmonicsFunctions";
- const shader = `#ifdef USESPHERICALFROMREFLECTIONMAP
- #ifdef SPHERICAL_HARMONICS
- vec3 computeEnvironmentIrradiance(vec3 normal) {return vSphericalL00
- + vSphericalL1_1*(normal.y)
- + vSphericalL10*(normal.z)
- + vSphericalL11*(normal.x)
- + vSphericalL2_2*(normal.y*normal.x)
- + vSphericalL2_1*(normal.y*normal.z)
- + vSphericalL20*((3.0*normal.z*normal.z)-1.0)
- + vSphericalL21*(normal.z*normal.x)
- + vSphericalL22*(normal.x*normal.x-(normal.y*normal.y));}
- #else
- vec3 computeEnvironmentIrradiance(vec3 normal) {float Nx=normal.x;float Ny=normal.y;float Nz=normal.z;vec3 C1=vSphericalZZ.rgb;vec3 Cx=vSphericalX.rgb;vec3 Cy=vSphericalY.rgb;vec3 Cz=vSphericalZ.rgb;vec3 Cxx_zz=vSphericalXX_ZZ.rgb;vec3 Cyy_zz=vSphericalYY_ZZ.rgb;vec3 Cxy=vSphericalXY.rgb;vec3 Cyz=vSphericalYZ.rgb;vec3 Czx=vSphericalZX.rgb;vec3 a1=Cyy_zz*Ny+Cy;vec3 a2=Cyz*Nz+a1;vec3 b1=Czx*Nz+Cx;vec3 b2=Cxy*Ny+b1;vec3 b3=Cxx_zz*Nx+b2;vec3 t1=Cz *Nz+C1;vec3 t2=a2 *Ny+t1;vec3 t3=b3 *Nx+t2;return t3;}
- #endif
- #endif
- `;
- // Sideeffect
- ShaderStore.IncludesShadersStore[name] = shader;
- /** @internal */
- export const harmonicsFunctions = { name, shader };
- //# sourceMappingURL=harmonicsFunctions.js.map
|