|
@@ -30,13 +30,21 @@
|
|
#elif defined( ENVMAP_TYPE_EQUIREC )
|
|
#elif defined( ENVMAP_TYPE_EQUIREC )
|
|
|
|
|
|
vec2 sampleUV;
|
|
vec2 sampleUV;
|
|
|
|
+
|
|
|
|
+ reflectVec = normalize( reflectVec );
|
|
|
|
+
|
|
sampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;
|
|
sampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;
|
|
|
|
+
|
|
sampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;
|
|
sampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;
|
|
|
|
+
|
|
vec4 envColor = texture2D( envMap, sampleUV );
|
|
vec4 envColor = texture2D( envMap, sampleUV );
|
|
|
|
|
|
#elif defined( ENVMAP_TYPE_SPHERE )
|
|
#elif defined( ENVMAP_TYPE_SPHERE )
|
|
|
|
|
|
|
|
+ reflectVec = normalize( reflectVec );
|
|
|
|
+
|
|
vec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );
|
|
vec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );
|
|
|
|
+
|
|
vec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );
|
|
vec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );
|
|
|
|
|
|
#else
|
|
#else
|