Browse Source

Editor: Fixed ShaderMaterial init.

Mr.doob 11 years ago
parent
commit
4fc9550bda
3 changed files with 10 additions and 8 deletions
  1. 2 2
      editor/js/Sidebar.Material.js
  2. 2 1
      examples/index.html
  3. 6 5
      examples/js/loaders/gltf/glTFLoader.js

+ 2 - 2
editor/js/Sidebar.Material.js

@@ -135,7 +135,7 @@ Sidebar.Material = function ( editor ) {
 
 	var materialUniformsRow = new UI.Panel();
 	var materialUniforms = new UI.TextArea().setWidth( '150px' ).setHeight( '80px' );
-	materialUniforms.setValue( '' ).onChange( update );
+	materialUniforms.setValue( '{\n  "uColor": {\n    "type": "3f",\n    "value": [1, 0, 0]\n  }\n}' ).onChange( update );
 
 	materialUniformsRow.add( new UI.Text( 'Uniforms' ).setWidth( '90px' ) );
 	materialUniformsRow.add( materialUniforms );
@@ -157,7 +157,7 @@ Sidebar.Material = function ( editor ) {
 
 	var materialFragmentShaderRow = new UI.Panel();
 	var materialFragmentShader = new UI.TextArea().setWidth( '150px' ).setHeight( '80px' );
-	materialFragmentShader.setValue( 'void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}' ).onChange( update );
+	materialFragmentShader.setValue( 'uniform vec3 uColor;\n\nvoid main() {\n\tgl_FragColor = vec4( uColor, 1.0 );\n}' ).onChange( update );
 
 	materialFragmentShaderRow.add( new UI.Text( 'Fragment Shader' ).setWidth( '90px' ) );
 	materialFragmentShaderRow.add( materialFragmentShader );

+ 2 - 1
examples/index.html

@@ -280,7 +280,8 @@
 				"webgl_terrain_dynamic",
 				"webgl_test_memory",
 				"webgl_test_memory2",
-				"webgl_trails"
+				"webgl_trails",
+				"webgl_video_panorama_equirectangular"
 			],
 			"webgl3": [
 				"webgl3_performance"

+ 6 - 5
examples/js/loaders/gltf/glTFLoader.js

@@ -1216,7 +1216,8 @@ THREE.glTFLoader.prototype.load = function( url, callback ) {
         	                            
                                     	threeMesh.boneInverses = [];
         	                            var jointsIds = skin.jointsIds;
-        	                            var joints = [];
+        	                            var bones = [];
+        	                            var boneInverses = [];
         	                            var i, len = jointsIds.length;
         	                            for (i = 0; i < len; i++) {
         	                            	var jointId = jointsIds[i];
@@ -1225,8 +1226,7 @@ THREE.glTFLoader.prototype.load = function( url, callback ) {
         	                                if (joint) {
         	                                	
         	                                	joint.skin = threeMesh;
-        	                                    joints.push(joint);
-        	                                    threeMesh.skeleton.bones.push(joint);
+        	                                    bones.push(joint);
         	                                    
         	                                    var m = skin.inverseBindMatrices;
         	                    	            var mat = new THREE.Matrix4(
@@ -1235,13 +1235,14 @@ THREE.glTFLoader.prototype.load = function( url, callback ) {
         	                                            m[i * 16 + 2],  m[i * 16 + 6],  m[i * 16 + 10], m[i * 16 + 14],
         	                                            m[i * 16 + 3],  m[i * 16 + 7],  m[i * 16 + 11], m[i * 16 + 15]
         	                                        );
-        	                                    threeMesh.skeleton.boneInverses.push(mat);
-        	                                    threeMesh.pose();
+        	                                    boneInverses.push(mat);
         	                                    
         	                                } else {
         	                                    console.log("WARNING: jointId:"+jointId+" cannot be found in skeleton:"+skeleton);
         	                                }
         	                            }
+
+                                        threeMesh.bind(new THREE.Skeleton(bones, boneInverses, false));
                                     }
                                     
                                     if (threeMesh) {