|
@@ -378,7 +378,6 @@ var BABYLON;
|
|
for (var j = 0; j < bufferInput.length; j++) {
|
|
for (var j = 0; j < bufferInput.length; j++) {
|
|
var value = null;
|
|
var value = null;
|
|
if (targetPath === "rotationQuaternion") {
|
|
if (targetPath === "rotationQuaternion") {
|
|
- //value = Quaternion.RotationAxis(Vector3.FromArray([bufferOutput[arrayOffset], bufferOutput[arrayOffset + 1], bufferOutput[arrayOffset + 2]]).normalize(), bufferOutput[arrayOffset + 3]);
|
|
|
|
value = BABYLON.Quaternion.FromArray([bufferOutput[arrayOffset], bufferOutput[arrayOffset + 1], bufferOutput[arrayOffset + 2], bufferOutput[arrayOffset + 3]]);
|
|
value = BABYLON.Quaternion.FromArray([bufferOutput[arrayOffset], bufferOutput[arrayOffset + 1], bufferOutput[arrayOffset + 2], bufferOutput[arrayOffset + 3]]);
|
|
arrayOffset += 4;
|
|
arrayOffset += 4;
|
|
}
|
|
}
|
|
@@ -794,13 +793,16 @@ var BABYLON;
|
|
var scaling = new BABYLON.Vector3(0, 0, 0);
|
|
var scaling = new BABYLON.Vector3(0, 0, 0);
|
|
var mat = BABYLON.Matrix.FromArray(node.matrix);
|
|
var mat = BABYLON.Matrix.FromArray(node.matrix);
|
|
mat.decompose(scaling, rotation, position);
|
|
mat.decompose(scaling, rotation, position);
|
|
|
|
+ // Y is Up
|
|
|
|
+ if (GLTFFileLoader.MakeYUP) {
|
|
|
|
+ rotation = rotation.multiply(new BABYLON.Quaternion(-0.707107, 0, 0, 0.707107));
|
|
|
|
+ }
|
|
configureNode(newNode, position, rotation, scaling);
|
|
configureNode(newNode, position, rotation, scaling);
|
|
if (newNode instanceof BABYLON.TargetCamera) {
|
|
if (newNode instanceof BABYLON.TargetCamera) {
|
|
newNode.setTarget(BABYLON.Vector3.Zero());
|
|
newNode.setTarget(BABYLON.Vector3.Zero());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
- //configureNode(newNode, Vector3.FromArray(node.translation), Quaternion.RotationAxis(Vector3.FromArray(node.rotation), node.rotation[3]), Vector3.FromArray(node.scale));
|
|
|
|
configureNode(newNode, BABYLON.Vector3.FromArray(node.translation), BABYLON.Quaternion.FromArray(node.rotation), BABYLON.Vector3.FromArray(node.scale));
|
|
configureNode(newNode, BABYLON.Vector3.FromArray(node.translation), BABYLON.Quaternion.FromArray(node.rotation), BABYLON.Vector3.FromArray(node.scale));
|
|
}
|
|
}
|
|
};
|
|
};
|
|
@@ -1254,8 +1256,8 @@ var BABYLON;
|
|
}
|
|
}
|
|
// Create shader material
|
|
// Create shader material
|
|
var shaderPath = {
|
|
var shaderPath = {
|
|
- vertex: program.vertexShader,
|
|
|
|
- fragment: program.fragmentShader
|
|
|
|
|
|
+ vertex: program.vertexShader + mat,
|
|
|
|
+ fragment: program.fragmentShader + mat
|
|
};
|
|
};
|
|
var options = {
|
|
var options = {
|
|
attributes: attributes,
|
|
attributes: attributes,
|
|
@@ -1263,8 +1265,8 @@ var BABYLON;
|
|
samplers: samplers,
|
|
samplers: samplers,
|
|
needAlphaBlending: states.functions && states.functions.blendEquationSeparate
|
|
needAlphaBlending: states.functions && states.functions.blendEquationSeparate
|
|
};
|
|
};
|
|
- BABYLON.Effect.ShadersStore[program.vertexShader + "VertexShader"] = newVertexShader;
|
|
|
|
- BABYLON.Effect.ShadersStore[program.fragmentShader + "PixelShader"] = newPixelShader;
|
|
|
|
|
|
+ BABYLON.Effect.ShadersStore[program.vertexShader + mat + "VertexShader"] = newVertexShader;
|
|
|
|
+ BABYLON.Effect.ShadersStore[program.fragmentShader + mat + "PixelShader"] = newPixelShader;
|
|
var shaderMaterial = new BABYLON.ShaderMaterial(material.name, gltfRuntime.scene, shaderPath, options);
|
|
var shaderMaterial = new BABYLON.ShaderMaterial(material.name, gltfRuntime.scene, shaderPath, options);
|
|
shaderMaterial.id = mat;
|
|
shaderMaterial.id = mat;
|
|
shaderMaterial.onError = onShaderCompileError(program, shaderMaterial);
|
|
shaderMaterial.onError = onShaderCompileError(program, shaderMaterial);
|
|
@@ -1352,10 +1354,6 @@ var BABYLON;
|
|
this.extensions = ".gltf";
|
|
this.extensions = ".gltf";
|
|
}
|
|
}
|
|
/**
|
|
/**
|
|
- * Private members
|
|
|
|
- */
|
|
|
|
- // None
|
|
|
|
- /**
|
|
|
|
* Import meshes
|
|
* Import meshes
|
|
*/
|
|
*/
|
|
GLTFFileLoader.prototype.importMesh = function (meshesNames, scene, data, rootUrl, meshes, particleSystems, skeletons) {
|
|
GLTFFileLoader.prototype.importMesh = function (meshesNames, scene, data, rootUrl, meshes, particleSystems, skeletons) {
|
|
@@ -1498,9 +1496,18 @@ var BABYLON;
|
|
}
|
|
}
|
|
return gltfRuntime;
|
|
return gltfRuntime;
|
|
};
|
|
};
|
|
|
|
+ /**
|
|
|
|
+ * Private members
|
|
|
|
+ */
|
|
|
|
+ // None
|
|
|
|
+ /**
|
|
|
|
+ * Static members
|
|
|
|
+ */
|
|
|
|
+ GLTFFileLoader.MakeYUP = false;
|
|
return GLTFFileLoader;
|
|
return GLTFFileLoader;
|
|
})();
|
|
})();
|
|
BABYLON.GLTFFileLoader = GLTFFileLoader;
|
|
BABYLON.GLTFFileLoader = GLTFFileLoader;
|
|
;
|
|
;
|
|
BABYLON.SceneLoader.RegisterPlugin(new GLTFFileLoader());
|
|
BABYLON.SceneLoader.RegisterPlugin(new GLTFFileLoader());
|
|
})(BABYLON || (BABYLON = {}));
|
|
})(BABYLON || (BABYLON = {}));
|
|
|
|
+//# sourceMappingURL=babylon.glTFFileLoader.js.map
|