소스 검색

Merge pull request #958 from sebavan/PBRFixAlbedo

Fix Albedo without texture
David Catuhe 9 년 전
부모
커밋
f4e519c90b
3개의 변경된 파일14개의 추가작업 그리고 10개의 파일을 삭제
  1. 1 1
      materialsLibrary/dist/babylon.pbrMaterial.js
  2. 1 1
      materialsLibrary/dist/babylon.pbrMaterial.min.js
  3. 12 8
      materialsLibrary/materials/pbr/pbr.fragment.fx

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
materialsLibrary/dist/babylon.pbrMaterial.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
materialsLibrary/dist/babylon.pbrMaterial.min.js


+ 12 - 8
materialsLibrary/materials/pbr/pbr.fragment.fx

@@ -926,18 +926,22 @@ void main(void) {
         surfaceAlbedo = texture2D(albedoSampler, vAlbedoUV);
         surfaceAlbedo = vec4(toLinearSpace(surfaceAlbedo.rgb), surfaceAlbedo.a);
 
-    #ifndef LINKREFRACTIONTOTRANSPARENCY
-        #ifdef ALPHATEST
-            if (surfaceAlbedo.a < 0.4)
-                discard;
+        #ifndef LINKREFRACTIONTOTRANSPARENCY
+            #ifdef ALPHATEST
+                if (surfaceAlbedo.a < 0.4)
+                    discard;
+            #endif
         #endif
-    #endif
 
-    #ifdef ALPHAFROMALBEDO
-        alpha *= surfaceAlbedo.a;
-    #endif
+        #ifdef ALPHAFROMALBEDO
+            alpha *= surfaceAlbedo.a;
+        #endif
 
         surfaceAlbedo.rgb *= vAlbedoInfos.y;
+    #else
+        // No Albedo texture.
+        surfaceAlbedo.rgb = surfaceAlbedoContribution;
+        surfaceAlbedoContribution = vec3(1., 1., 1.);
     #endif
 
     #ifdef VERTEXCOLOR