소스 검색

Fix Gradient Merge

sebavan 6 년 전
부모
커밋
53e263cea1
1개의 변경된 파일13개의 추가작업 그리고 53개의 파일을 삭제
  1. 13 53
      materialsLibrary/src/gradient/gradientMaterial.ts

+ 13 - 53
materialsLibrary/src/gradient/gradientMaterial.ts

@@ -17,7 +17,7 @@ import "./gradient.fragment";
 import "./gradient.vertex";
 
 class GradientMaterialDefines extends MaterialDefines {
-    public DIFFUSE = false;
+    public EMISSIVE = false;
     public CLIPPLANE = false;
     public CLIPPLANE2 = false;
     public CLIPPLANE3 = false;
@@ -26,47 +26,6 @@ class GradientMaterialDefines extends MaterialDefines {
     public DEPTHPREPASS = false;
     public POINTSIZE = false;
     public FOG = false;
-    public LIGHT0 = false;
-    public LIGHT1 = false;
-    public LIGHT2 = false;
-    public LIGHT3 = false;
-    public SPOTLIGHT0 = false;
-    public SPOTLIGHT1 = false;
-    public SPOTLIGHT2 = false;
-    public SPOTLIGHT3 = false;
-    public HEMILIGHT0 = false;
-    public HEMILIGHT1 = false;
-    public HEMILIGHT2 = false;
-    public HEMILIGHT3 = false;
-    public DIRLIGHT0 = false;
-    public DIRLIGHT1 = false;
-    public DIRLIGHT2 = false;
-    public DIRLIGHT3 = false;
-    public POINTLIGHT0 = false;
-    public POINTLIGHT1 = false;
-    public POINTLIGHT2 = false;
-    public POINTLIGHT3 = false;
-    public SHADOW0 = false;
-    public SHADOW1 = false;
-    public SHADOW2 = false;
-    public SHADOW3 = false;
-    public SHADOWS = false;
-    public SHADOWESM0 = false;
-    public SHADOWESM1 = false;
-    public SHADOWESM2 = false;
-    public SHADOWESM3 = false;
-    public SHADOWPOISSON0 = false;
-    public SHADOWPOISSON1 = false;
-    public SHADOWPOISSON2 = false;
-    public SHADOWPOISSON3 = false;
-    public SHADOWPCF0 = false;
-    public SHADOWPCF1 = false;
-    public SHADOWPCF2 = false;
-    public SHADOWPCF3 = false;
-    public SHADOWPCSS0 = false;
-    public SHADOWPCSS1 = false;
-    public SHADOWPCSS2 = false;
-    public SHADOWPCSS3 = false;
     public NORMAL = false;
     public UV1 = false;
     public UV2 = false;
@@ -113,9 +72,11 @@ export class GradientMaterial extends PushMaterial {
     @serialize()
     public smoothness = 1.0;
 
-    @serialize()
-    public disableLighting = false;
-    private _scaledDiffuse = new Color3();
+    @serialize("disableLighting")
+    private _disableLighting = false;
+    @expandToProperty("_markAllSubMeshesAsLightsDirty")
+    public disableLighting: boolean;
+
     private _renderId: number;
 
     constructor(name: string, scene: Scene) {
@@ -161,7 +122,9 @@ export class GradientMaterial extends PushMaterial {
 
         MaterialHelper.PrepareDefinesForMisc(mesh, scene, false, this.pointsCloud, this.fogEnabled, this._shouldTurnAlphaTestOn(mesh), defines);
 
-        defines._needNormals = MaterialHelper.PrepareDefinesForLights(scene, mesh, defines, false, this._maxSimultaneousLights);
+        defines._needNormals = MaterialHelper.PrepareDefinesForLights(scene, mesh, defines, false, this._maxSimultaneousLights, this._disableLighting);
+
+        defines.EMISSIVE = this._disableLighting;
 
         // Attribs
         MaterialHelper.PrepareDefinesForAttributes(mesh, defines, false, true);
@@ -210,14 +173,13 @@ export class GradientMaterial extends PushMaterial {
             var shaderName = "gradient";
             var join = defines.toString();
 
-            var uniforms = ["world", "view", "viewProjection", "vEyePosition", "vLightsType", "vDiffuseColor",
+            var uniforms = ["world", "view", "viewProjection", "vEyePosition", "vLightsType",
                 "vFogInfos", "vFogColor", "pointSize",
-                "vDiffuseInfos",
                 "mBones",
-                "vClipPlane", "vClipPlane2", "vClipPlane3", "vClipPlane4", "diffuseMatrix",
+                "vClipPlane", "vClipPlane2", "vClipPlane3", "vClipPlane4",
                 "topColor", "bottomColor", "offset", "smoothness", "scale"
             ];
-            var samplers = ["diffuseSampler"];
+            var samplers: string[] = [];
             var uniformBuffers = new Array<string>();
 
             MaterialHelper.PrepareUniformsAndSamplersList(<EffectCreationOptions>{
@@ -285,10 +247,8 @@ export class GradientMaterial extends PushMaterial {
             MaterialHelper.BindEyePosition(effect, scene);
         }
 
-        this._activeEffect.setColor4("vDiffuseColor", this._scaledDiffuse, this.alpha * mesh.visibility);
-
         if (scene.lightsEnabled && !this.disableLighting) {
-            MaterialHelper.BindLights(scene, mesh, this._activeEffect, defines);
+            MaterialHelper.BindLights(scene, mesh, this._activeEffect, defines, this.maxSimultaneousLights);
         }
 
         // View