Przeglądaj źródła

Merge pull request #2524 from sebavan/DDS

Fix irradiance in fragment
sebavan 8 lat temu
rodzic
commit
63c762b735
1 zmienionych plików z 5 dodań i 1 usunięć
  1. 5 1
      src/Shaders/pbr.fragment.fx

+ 5 - 1
src/Shaders/pbr.fragment.fx

@@ -563,7 +563,11 @@ void main(void) {
 		#if defined(NORMAL) && !defined(USESPHERICALINFRAGMENT)
 			environmentIrradiance = vEnvironmentIrradiance;
 		#else
-			environmentIrradiance = environmentIrradianceJones(reflectionVector);
+			vec3 irradianceVector = vec3(reflectionMatrix * vec4(vNormalW, 0)).xyz;
+			#ifdef REFLECTIONMAP_OPPOSITEZ
+				irradianceVector.z *= -1.0;
+			#endif
+			environmentIrradiance = environmentIrradianceJones(irradianceVector);
 		#endif
 	#endif