three
Version:
JavaScript 3D library
27 lines (15 loc) • 508 B
JavaScript
export default /* glsl */`
uniform sampler2D tEquirect;
varying vec3 vWorldDirection;
void main() {
vec3 direction = normalize( vWorldDirection );
vec2 sampleUV;
sampleUV.y = asin( clamp( direction.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;
sampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;
vec4 texColor = texture2D( tEquirect, sampleUV );
gl_FragColor = mapTexelToLinear( texColor );
}
`;