各种geometry和material序列化。

This commit is contained in:
liteng 2018-08-07 12:00:43 +08:00
parent bed23dbc98
commit 9b44e06243
3 changed files with 97 additions and 2 deletions

View File

@ -1,6 +1,9 @@
import BaseSerializer from '../BaseSerializer';
import Object3DSerializer from './Object3DSerializer';
import BufferGeometriesSerializer from '../geometry/BufferGeometriesSerializer';
import MaterialsSerializer from '../material/MaterialsSerializer';
/**
* Mesh序列化器
*/
@ -15,14 +18,18 @@ MeshSerializer.prototype.toJSON = function (obj) {
var json = Object3DSerializer.prototype.toJSON.call(this, obj);
json.drawMode = obj.drawMode;
json.geometry = obj.geometry.toJSON();
json.material = obj.material.toJSON();
json.geometry = (new BufferGeometriesSerializer()).toJSON(obj.geometry);
json.material = (new MaterialsSerializer()).toJSON(obj.material);
return json;
};
MeshSerializer.prototype.fromJSON = function (json, parent) {
var obj = parent === undefined ? new Mesh() : parent;
Object3DSerializer.prototype.fromJSON.call(this, json, obj);
return obj;
};
export default MeshSerializer;

View File

@ -0,0 +1,44 @@
import BaseSerializer from '../BaseSerializer';
import BoxBufferGeometrySerializer from './BoxBufferGeometrySerializer';
import CircleBufferGeometrySerializer from './CircleBufferGeometrySerializer';
import ConeBufferGeometrySerializer from './ConeBufferGeometrySerializer';
import CylinderBufferGeometrySerializer from './CylinderBufferGeometrySerializer';
import DodecahedronBufferGeometrySerializer from './DodecahedronBufferGeometrySerializer';
import ExtrudeBufferGeometrySerializer from './ExtrudeBufferGeometrySerializer';
import IcosahedronBufferGeometrySerializer from './IcosahedronBufferGeometrySerializer';
import InstancedBufferGeometrySerializer from './InstancedBufferGeometrySerializer';
import LatheBufferGeometrySerializer from './LatheBufferGeometrySerializer';
import OctahedronBufferGeometrySerializer from './OctahedronBufferGeometrySerializer';
import ParametricBufferGeometrySerializer from './ParametricBufferGeometrySerializer';
import PlaneBufferGeometrySerializer from './PlaneBufferGeometrySerializer';
import PolyhedronBufferGeometrySerializer from './PolyhedronBufferGeometrySerializer';
import RingBufferGeometrySerializer from './RingBufferGeometrySerializer';
import ShapeBufferGeometrySerializer from './ShapeBufferGeometrySerializer';
import SphereBufferGeometrySerializer from './SphereBufferGeometrySerializer';
import TeapotBufferGeometrySerializer from './TeapotBufferGeometrySerializer';
import TetrahedronBufferGeometrySerializer from './TetrahedronBufferGeometrySerializer';
import TextBufferGeometrySerializer from './TextBufferGeometrySerializer';
import TorusBufferGeometrySerializer from './TorusBufferGeometrySerializer';
import TorusKnotBufferGeometrySerializer from './TorusKnotBufferGeometrySerializer';
import TubeBufferGeometrySerializer from './TubeBufferGeometrySerializer';
/**
* BufferGeometriesSerializer
*/
function BufferGeometriesSerializer() {
BaseSerializer.call(this);
}
BufferGeometriesSerializer.prototype = Object.create(BaseSerializer.prototype);
BufferGeometriesSerializer.prototype.constructor = BufferGeometriesSerializer;
BufferGeometriesSerializer.prototype.toJSON = function (obj) {
};
BufferGeometriesSerializer.prototype.fromJSON = function (json, parent) {
};
export default BufferGeometriesSerializer;

View File

@ -0,0 +1,44 @@
import BaseSerializer from '../BaseSerializer';
import LineBasicMaterialSerializer from './LineBasicMaterialSerializer';
import LineDashedMaterialSerializer from './LineDashedMaterialSerializer';
import MeshBasicMaterialSerializer from './MeshBasicMaterialSerializer';
import MeshDepthMaterialSerializer from './MeshDepthMaterialSerializer';
import MeshDistanceMaterialSerializer from './MeshDistanceMaterialSerializer';
import MeshFaceMaterialSerializer from './MeshFaceMaterialSerializer';
import MeshLambertMaterialSerializer from './MeshLambertMaterialSerializer';
import MeshNormalMaterialSerializer from './MeshNormalMaterialSerializer';
import MeshPhongMaterialSerializer from './MeshPhongMaterialSerializer';
import MeshPhysicalMaterialSerializer from './MeshPhysicalMaterialSerializer';
import MeshStandardMaterialSerializer from './MeshStandardMaterialSerializer';
import MeshToonMaterialSerializer from './MeshToonMaterialSerializer';
import MultiMaterialSerializer from './MultiMaterialSerializer';
import ParticleBasicMaterialSerializer from './ParticleBasicMaterialSerializer';
import ParticleSystemMaterialSerializer from './ParticleSystemMaterialSerializer';
import PointCloudMaterialSerializer from './PointCloudMaterialSerializer';
import PointsMaterialSerializer from './PointsMaterialSerializer';
import RawShaderMaterialSerializer from './RawShaderMaterialSerializer';
import ShaderMaterialSerializer from './ShaderMaterialSerializer';
import ShadowMaterialSerializer from './ShadowMaterialSerializer';
import SpriteCanvasMaterialSerializer from './SpriteCanvasMaterialSerializer';
import SpriteMaterialSerializer from './SpriteMaterialSerializer';
/**
* MaterialsSerializer
*/
function MaterialsSerializer() {
BaseSerializer.call(this);
}
MaterialsSerializer.prototype = Object.create(BaseSerializer.prototype);
MaterialsSerializer.prototype.constructor = MaterialsSerializer;
MaterialsSerializer.prototype.toJSON = function (obj) {
};
MaterialsSerializer.prototype.fromJSON = function (json, parent) {
};
export default MaterialsSerializer;