@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
26 lines (21 loc) • 966 B
JavaScript
// source: https://graphics.stanford.edu/papers/envmap/envmap.pdf
//language=GLSL
export const chunk_lpv_get_irradiance_at = `
vec3 lpv_get_irradiance_at(in vec3 normal, in vec3 shCoefficients[9]) {
// normal is assumed to have unit length
float x = normal.x, y = normal.y, z = normal.z;
// band 0
vec3 result = shCoefficients[0] * 0.8862269254527579;
// band 1
result += shCoefficients[1] * 1.0233267079464885 * y;
result += shCoefficients[2] * 1.0233267079464885 * z;
result += shCoefficients[3] * 1.0233267079464885 * x;
// band 2
result += shCoefficients[4] * 0.8580855308097834 * x * y;
result += shCoefficients[5] * 0.8580855308097834 * y * z;
result += shCoefficients[6] * (0.7431238683011272 * z * z - 0.24770795610037571);
result += shCoefficients[7] * 0.8580855308097834 * x * z;
result += shCoefficients[8] * 0.4290427654048917 * (x * x - y * y);
return result;
}
`