Jelajahi Sumber

view goes into Scene UBO

Benjamin Guignabert 8 tahun lalu
induk
melakukan
9adb23bb06

File diff ditekan karena terlalu besar
+ 3239 - 3239
dist/preview release/babylon.d.ts


File diff ditekan karena terlalu besar
+ 3239 - 3239
dist/preview release/babylon.module.d.ts


+ 3 - 4
src/Materials/babylon.standardMaterial.ts

@@ -925,6 +925,8 @@ module BABYLON {
                         this._uniformBuffer.updateColor4("vSpecularColor", this.specularColor, this.specularPower);
                     }
                     this._uniformBuffer.updateColor3("vEmissiveColor", this.emissiveColor);
+                    // Diffuse
+                    this._uniformBuffer.updateColor4("vDiffuseColor", this.diffuseColor, this.alpha * mesh.visibility);
                 }
                 
                 // Textures     
@@ -990,9 +992,6 @@ module BABYLON {
             }
 
             if (this._mustRebind(scene, effect) || !this.isFrozen) {
-                // Diffuse
-                this._uniformBuffer.updateColor4("vDiffuseColor", this.diffuseColor, this.alpha * mesh.visibility);
-
                 // Lights
                 if (scene.lightsEnabled && !this._disableLighting) {
                     MaterialHelper.BindLights(scene, mesh, effect, defines, this._maxSimultaneousLights);
@@ -1000,7 +999,7 @@ module BABYLON {
 
                 // View
                 if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== Scene.FOGMODE_NONE || this._reflectionTexture || this._refractionTexture) {
-                    effect.setMatrix("view", scene.getViewMatrix());
+                    this.bindView(effect);
                 }
                 
                 // Fog

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

@@ -25,6 +25,10 @@ uniform vec2 vEmissiveInfos;
 uniform vec2 vLightmapInfos;
 #endif
 
+#if defined(REFLECTIONMAP_SPHERICAL) || defined(REFLECTIONMAP_PROJECTION) || defined(REFRACTION)
+uniform mat4 view;
+#endif
+
 #ifdef REFRACTION
 uniform vec4 vRefractionInfos;
 

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

@@ -37,4 +37,5 @@ uniform Material
 
 uniform Scene {
 	mat4 viewProjection;
+	mat4 view;
 };

+ 0 - 4
src/Shaders/default.fragment.fx

@@ -60,10 +60,6 @@ varying vec2 vLightmapUV;
 uniform sampler2D lightmapSampler;
 #endif
 
-#if defined(REFLECTIONMAP_SPHERICAL) || defined(REFLECTIONMAP_PROJECTION) || defined(REFRACTION)
-uniform mat4 view;
-#endif
-
 #ifdef REFRACTION
 
 #ifdef REFRACTIONMAP_3D

+ 0 - 2
src/Shaders/default.vertex.fx

@@ -23,8 +23,6 @@ attribute vec4 color;
 // Uniforms
 #include<instancesDeclaration>
 
-uniform mat4 view;
-
 #ifdef DIFFUSE
 varying vec2 vDiffuseUV;
 #endif