Bläddra i källkod

Materials Library: fixed terrain and fur materials

- Fixed fur light intensity and range
- Fixed terrain light intensity
- Added light intensity and range in GUI
luaacro 9 år sedan
förälder
incheckning
23dc1d530d

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 2 - 1
materialsLibrary/dist/babylon.furMaterial.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
materialsLibrary/dist/babylon.furMaterial.min.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
materialsLibrary/dist/babylon.terrainMaterial.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
materialsLibrary/dist/babylon.terrainMaterial.min.js


+ 5 - 4
materialsLibrary/materials/fur/babylon.furMaterial.ts

@@ -589,12 +589,12 @@ module BABYLON {
             serializationObject.disableLighting = this.disableLighting;
             
             serializationObject.furLength = this.furLength;
-            serializationObject.furAngle = this.furAngle;
-            serializationObject.furColor = this.furColor.asArray();
+            serializationObject.furAngle  = this.furAngle;
+            serializationObject.furColor  = this.furColor.asArray();
             
             serializationObject.furGravity = this.furGravity.asArray();
             serializationObject.furSpacing = this.furSpacing;
-            serializationObject.furSpeed = this.furSpeed;
+            serializationObject.furSpeed   = this.furSpeed;
             serializationObject.furDensity = this.furDensity;
             
             if (this.diffuseTexture) {
@@ -610,7 +610,7 @@ module BABYLON {
 
         public static Parse(source: any, scene: Scene, rootUrl: string): FurMaterial {
             var material = new FurMaterial(source.name, scene);
-
+            
             material.diffuseColor       = Color3.FromArray(source.diffuseColor);
             material.furLength          = source.furLength;
             material.furAngle           = source.furAngle;
@@ -690,6 +690,7 @@ module BABYLON {
                 var offsetMesh = sourceMesh.clone(sourceMesh.name + i);
                 offsetMesh.material = offsetFur;
                 offsetMesh.skeleton = sourceMesh.skeleton;
+                offsetMesh.parent = sourceMesh;
                 meshes.push(offsetMesh);
             }
             

+ 1 - 1
materialsLibrary/materials/fur/fur.fragment.fx

@@ -570,7 +570,7 @@ void main(void) {
 	alpha *= vColor.a;
 #endif
 
-	vec3 finalDiffuse = clamp(diffuseBase * diffuseColor, 0.0, 1.0) * baseColor.rgb;
+    vec3 finalDiffuse = clamp(diffuseBase.rgb * baseColor.rgb, 0.0, 1.0);
 
 	// Composition
 	#ifdef HIGHLEVEL

+ 1 - 1
materialsLibrary/materials/terrain/terrain.fragment.fx

@@ -699,7 +699,7 @@ void main(void) {
 	vec3 finalSpecular = vec3(0.0);
 #endif
 
-	vec3 finalDiffuse = clamp(diffuseBase * diffuseColor, 0.0, 1.0) * baseColor.rgb;
+    vec3 finalDiffuse = clamp(diffuseBase * diffuseColor * baseColor.rgb, 0.0, 1.0);
 
 	// Composition
 	vec4 color = vec4(finalDiffuse + finalSpecular, alpha);

+ 14 - 0
materialsLibrary/test/index.html

@@ -300,6 +300,20 @@
 				});
 
 				var f1 = gui.addFolder('lights');
+                f1.add(options, 'lightIntensity').onChange(function() {
+                    hemisphericLight.intensity = options.lightIntensity;
+                    directionalLight.intensity = options.lightIntensity;
+                    pointLight.intensity = options.lightIntensity;
+                    spotLight.intensity = options.lightIntensity;
+                });
+                
+                f1.add(options, 'lightRange').onChange(function() {
+                    hemisphericLight.range = options.lightRange;
+                    directionalLight.range = options.lightRange;
+                    pointLight.range = options.lightRange;
+                    spotLight.range = options.lightRange;
+                });
+                
 				f1.add(options, 'hemisphericLight').onChange(function () {
 					hemisphericLight.setEnabled(options.hemisphericLight);
 				});

+ 3 - 1
materialsLibrary/test/index.js

@@ -9,7 +9,9 @@ var options = {
 	castShadows: false,
 	spotLight: false,
 	fog: false,
-	skybox: false
+	skybox: false,
+    lightIntensity: 1.0,
+    lightRange: 1000
 }
 
 var registeredUIs = {};