Sfoglia il codice sorgente

minor serialize fixes

ncannasse 7 anni fa
parent
commit
2335664944
3 ha cambiato i file con 3 aggiunte e 3 eliminazioni
  1. 2 2
      h3d/impl/Serializable.hx
  2. 1 0
      h3d/mat/BigTexture.hx
  3. 0 1
      h3d/scene/World.hx

+ 2 - 2
h3d/impl/Serializable.hx

@@ -215,7 +215,7 @@ class SceneSerializer extends hxbit.Serializer {
 			addFloat(v.y);
 			if( n >= 3 ) addFloat(v.z);
 			if( n >= 4 ) addFloat(v.w);
-		case TSampler2D:
+		case TSampler2D, TSamplerCube:
 			if( !addTexture(val) )
 				throw "Cannot serialize unnamed texture " + s+"."+v.name+" = "+val;
 		default:
@@ -246,7 +246,7 @@ class SceneSerializer extends hxbit.Serializer {
 			if( n >= 3 ) v.z = getFloat();
 			if( n >= 4 ) v.w = getFloat();
 			return v;
-		case TSampler2D:
+		case TSampler2D, TSamplerCube:
 			return getTexture();
 		default:
 			throw "Cannot unserialize macro var " + v.name+":"+hxsl.Ast.Tools.toString(v.type);

+ 1 - 0
h3d/mat/BigTexture.hx

@@ -75,6 +75,7 @@ class BigTexture {
 		this.size = size;
 		space = new QuadTree(0,0,size,size);
 		tex = new h3d.mat.Texture(1, 1, allocPos);
+		tex.flags.set(Serialize);
 		tex.clear(bgColor);
 		tex.realloc = rebuild;
 		pending = [];

+ 0 - 1
h3d/scene/World.hx

@@ -364,7 +364,6 @@ class World extends Object {
 				if( b == null ) {
 					b = new h3d.scene.Mesh(new h3d.prim.BigPrimitive(getStride(model), true), c.root);
 					b.name = g.m.name;
-					b.flags.set(FNoSerialize, true);
 					c.buffers.set(g.m.bits, b);
 					initMaterial(b, g.m);
 				}