12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- /**
- * @author mrdoob / http://mrdoob.com/
- */
- THREE.MaterialExporter = function () {};
- THREE.MaterialExporter.prototype = {
- constructor: THREE.MaterialExporter,
- parse: function ( material ) {
- var output = {
- metadata: {
- version: 4.2,
- type: 'material',
- generator: 'MaterialExporter'
- }
- };
- output.uuid = material.uuid;
- if ( material.name !== "" ) output.name = material.name;
- if ( material instanceof THREE.MeshBasicMaterial ) {
- output.type = 'MeshBasicMaterial';
- output.color = material.color.getHex();
- if ( material.vertexColors !== THREE.NoColors ) output.vertexColors = material.vertexColors;
- if ( material.blending !== THREE.NormalBlending ) output.blending = material.blending;
- output.opacity = material.opacity;
- output.transparent = material.transparent;
- output.wireframe = material.wireframe;
- } else if ( material instanceof THREE.MeshLambertMaterial ) {
- output.type = 'MeshLambertMaterial';
- output.color = material.color.getHex();
- output.ambient = material.ambient.getHex();
- output.emissive = material.emissive.getHex();
- if ( material.vertexColors !== THREE.NoColors ) output.vertexColors = material.vertexColors;
- if ( material.blending !== THREE.NormalBlending ) output.blending = material.blending;
- output.opacity = material.opacity;
- output.transparent = material.transparent;
- output.wireframe = material.wireframe;
- } else if ( material instanceof THREE.MeshPhongMaterial ) {
- output.type = 'MeshPhongMaterial';
- output.color = material.color.getHex();
- output.ambient = material.ambient.getHex();
- output.emissive = material.emissive.getHex();
- output.specular = material.specular.getHex();
- output.shininess = material.shininess;
- if ( material.vertexColors !== THREE.NoColors ) output.vertexColors = material.vertexColors;
- if ( material.blending !== THREE.NormalBlending ) output.blending = material.blending;
- output.opacity = material.opacity;
- output.transparent = material.transparent;
- output.wireframe = material.wireframe;
- } else if ( material instanceof THREE.MeshNormalMaterial ) {
- output.type = 'MeshNormalMaterial';
- if ( material.blending !== THREE.NormalBlending ) output.blending = material.blending;
- output.opacity = material.opacity;
- output.transparent = material.transparent;
- output.wireframe = material.wireframe;
- } else if ( material instanceof THREE.MeshDepthMaterial ) {
- output.type = 'MeshDepthMaterial';
- if ( material.blending !== THREE.NormalBlending ) output.blending = material.blending;
- output.opacity = material.opacity;
- output.transparent = material.transparent;
- output.wireframe = material.wireframe;
- } else if ( material instanceof THREE.MeshFaceMaterial ) {
- output.type = 'MeshFaceMaterial';
- output.materials = [];
- for ( var i = 0, l = material.materials.length; i < l; i ++ ) {
- output.materials.push( this.parse( material.materials[ i ] ) );
- }
- }
- return output;
- }
- };
|