ソースを参照

vDebugMode in Ubo

Sebastien Vandenberghe 6 年 前
コミット
95ae6a4e5d

+ 3 - 2
src/Materials/PBR/pbrBaseMaterial.ts

@@ -1562,6 +1562,7 @@ export abstract class PBRBaseMaterial extends PushMaterial {
         ubo.addUniform("vReflectivityColor", 4);
         ubo.addUniform("vEmissiveColor", 3);
         ubo.addUniform("visibility", 1);
+        ubo.addUniform("vDebugMode", 2);
 
         PBRClearCoatConfiguration.PrepareUniformBuffer(ubo);
         PBRAnisotropicConfiguration.PrepareUniformBuffer(ubo);
@@ -1775,6 +1776,8 @@ export abstract class PBRBaseMaterial extends PushMaterial {
                 this._lightingInfos.w = this._specularIntensity;
 
                 ubo.updateVector4("vLightingIntensity", this._lightingInfos);
+
+                ubo.updateFloat2("vDebugMode", this.debugLimit, this.debugFactor);
             }
 
             // Textures
@@ -1851,8 +1854,6 @@ export abstract class PBRBaseMaterial extends PushMaterial {
                 eyePosition.z,
                 invertNormal ? -1 : 1);
             effect.setColor3("vAmbientColor", this._globalAmbientColor);
-
-            effect.setFloat2("vDebugMode", this.debugLimit, this.debugFactor);
         }
 
         if (mustRebind || !this.isFrozen) {

+ 4 - 0
src/Shaders/ShadersInclude/pbrFragmentDeclaration.fx

@@ -124,4 +124,8 @@ uniform mat4 view;
     uniform vec3 vDiffusionDistance;
     uniform vec4 vTintColor;
     uniform vec3 vSubSurfaceIntensity;
+#endif
+
+#if DEBUGMODE > 0
+    uniform vec2 vDebugMode;
 #endif

+ 0 - 1
src/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.fx

@@ -6,7 +6,6 @@ uniform vec4 vCameraInfos;
 varying vec3 vPositionW;
 
 #if DEBUGMODE > 0
-    uniform vec2 vDebugMode;
     varying vec4 vClipSpacePosition;
 #endif
 

+ 2 - 0
src/Shaders/ShadersInclude/pbrUboDeclaration.fx

@@ -33,6 +33,8 @@ uniform Material
 
     uniform float visibility;
 
+    uniform vec2 vDebugMode;
+
     uniform vec2 vClearCoatParams;
     uniform vec4 vClearCoatRefractionParams;
     uniform vec2 vClearCoatInfos;