Browse Source

Move LODBASEDMICROSFURACE into the main PBR block

Popov72 5 năm trước cách đây
mục cha
commit
56ce4c8262

+ 1 - 2
src/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.ts

@@ -543,6 +543,7 @@ export class PBRMetallicRoughnessBlock extends NodeMaterialBlock {
         defines.setValue("DEBUGMODE", this.debugMode);
         defines.setValue("NORMALXYSCALE", true);
         defines.setValue("BUMP", this.perturbedNormal.isConnected);
+        defines.setValue("LODBASEDMICROSFURACE", this._scene.getEngine().getCaps().textureLOD);
 
         // Albedo & Opacity
         defines.setValue("ALBEDO", this.baseTexture.isConnected);
@@ -900,7 +901,6 @@ export class PBRMetallicRoughnessBlock extends NodeMaterialBlock {
                     { search: /REFLECTIONMAP_SKYBOX/g, replace: reflectionBlock?._defineSkyboxName ?? "REFLECTIONMAP_SKYBOX" },
                     { search: /LODINREFLECTIONALPHA/g, replace: reflectionBlock?._defineLODReflectionAlpha ?? "LODINREFLECTIONALPHA" },
                     { search: /LINEARSPECULARREFLECTION/g, replace: reflectionBlock?._defineLinearSpecularReflection ?? "LINEARSPECULARREFLECTION" },
-                    { search: /LODBASEDMICROSFURACE/g, replace: reflectionBlock?._defineLODBasedMicroSurface ?? "LODBASEDMICROSFURACE" },
                 ]
             });
 
@@ -920,7 +920,6 @@ export class PBRMetallicRoughnessBlock extends NodeMaterialBlock {
                     { search: /REFLECTIONMAP_SKYBOX/g, replace: reflectionBlock?._defineSkyboxName ?? "REFLECTIONMAP_SKYBOX" },
                     { search: /LODINREFLECTIONALPHA/g, replace: reflectionBlock?._defineLODReflectionAlpha ?? "LODINREFLECTIONALPHA" },
                     { search: /LINEARSPECULARREFLECTION/g, replace: reflectionBlock?._defineLinearSpecularReflection ?? "LINEARSPECULARREFLECTION" },
-                    { search: /LODBASEDMICROSFURACE/g, replace: reflectionBlock?._defineLODBasedMicroSurface ?? "LODBASEDMICROSFURACE" },
                 ]
             });
 

+ 1 - 5
src/Materials/Node/Blocks/PBR/reflectionBlock.ts

@@ -25,8 +25,6 @@ export class ReflectionBlock extends ReflectionTextureBaseBlock {
     public _defineLODReflectionAlpha: string;
     /** @hidden */
     public _defineLinearSpecularReflection: string;
-    /** @hidden */
-    public _defineLODBasedMicroSurface: string;
     private _vEnvironmentIrradianceName: string;
     /** @hidden */
     public _vReflectionMicrosurfaceInfosName: string;
@@ -178,7 +176,6 @@ export class ReflectionBlock extends ReflectionTextureBaseBlock {
 
         defines.setValue(this._defineLODReflectionAlpha, reflectionTexture!.lodLevelInAlpha);
         defines.setValue(this._defineLinearSpecularReflection, reflectionTexture!.linearSpecularLOD);
-        defines.setValue(this._defineLODBasedMicroSurface, this._scene.getEngine().getCaps().textureLOD);
         defines.setValue(this._defineOppositeZ, this._scene.useRightHandedSystem ? !reflectionTexture!.invertZ : reflectionTexture!.invertZ);
 
         defines.setValue("SPHERICAL_HARMONICS", this.useSphericalHarmonics);
@@ -384,7 +381,7 @@ export class ReflectionBlock extends ReflectionTextureBaseBlock {
             #ifdef USEIRRADIANCEMAP
                 irradianceSampler, // ** not handled **
             #endif
-            #ifndef ${this._defineLODBasedMicroSurface}
+            #ifndef LODBASEDMICROSFURACE
                 #ifdef ${this._define3DName}
                     ${this._cubeSamplerName},
                     ${this._cubeSamplerName},
@@ -406,7 +403,6 @@ export class ReflectionBlock extends ReflectionTextureBaseBlock {
         if (state.target !== NodeMaterialBlockTargets.Fragment) {
             this._defineLODReflectionAlpha = state._getFreeDefineName("LODINREFLECTIONALPHA");
             this._defineLinearSpecularReflection = state._getFreeDefineName("LINEARSPECULARREFLECTION");
-            this._defineLODBasedMicroSurface = state._getFreeDefineName("LODBASEDMICROSFURACE");
         }
 
         return this;

+ 1 - 1
src/Materials/Node/Blocks/PBR/sheenBlock.ts

@@ -162,7 +162,7 @@ export class SheenBlock extends NodeMaterialBlock {
                 #endif
                 reflectionOut.reflectionCoords,
                 NdotVUnclamped,
-                #ifndef ${reflectionBlock?._defineLODBasedMicroSurface}
+                #ifndef LODBASEDMICROSFURACE
                     #ifdef ${reflectionBlock?._define3DName}
                         ${reflectionBlock?._cubeSamplerName},
                         ${reflectionBlock?._cubeSamplerName},