Przeglądaj źródła

Only triangulate n-gons when necessary for calc_tangents (#379)

* Export from mesh.loop_triangles instead of mesh.polygons

This shouldn't change anything atm since the mesh is triangulated
beforehand, but this will allow us a non-triangulated mesh in the
future, which avoids problems where the mesh triangulation is wrong;
loop_triangles is always the "true" triangulation.

* Use mesh.loop_triangles for concave_shape

No longer need to ask the mesh converter to triangulate.

* Triangulate meshes if necessary for tangents

This means it is no longer required to ask for triangulation if
asking for tangents.

* Remove triangulate argument; now only triangulate for tangents

It is now as if it were always False. Triangulation will only
occur if needed for calc_tangents.

This was only True in mesh.py. Now that it is False there,
triangulate_mesh will be skipped for any meshes without (>4)-gons,
which solves issues of bad triangulation/damaged normals for these
meshes.

* Only triangulate n-gons when we can't calc_tangents

This should confine damage caused by triangulation to n-gons only.

* Warn when triangulating that exported n-gons may look wrong

* Test: make update-examples
scurest 4 lat temu
rodzic
commit
a35395770c
58 zmienionych plików z 190 dodań i 188 usunięć
  1. 12 14
      io_scene_godot/converters/mesh.py
  2. 3 4
      io_scene_godot/converters/physics.py
  3. 16 9
      io_scene_godot/converters/utils.py
  4. 0 0
      tests/reference_exports/action_animation/animation_bone_transform.escn
  5. 3 3
      tests/reference_exports/action_animation/animation_loop.escn
  6. 3 3
      tests/reference_exports/action_animation/animation_object_transform.escn
  7. 3 3
      tests/reference_exports/action_animation/animation_rotation_euler.escn
  8. 6 6
      tests/reference_exports/action_animation/animation_shared_action.escn
  9. 0 0
      tests/reference_exports/action_animation/physics_animation.escn
  10. 6 6
      tests/reference_exports/action_with_constraint/bone_attachment_ik.escn
  11. 0 0
      tests/reference_exports/action_with_constraint/constraint_external_IK.escn
  12. 0 0
      tests/reference_exports/action_with_constraint/constraint_internal_IK.escn
  13. 0 0
      tests/reference_exports/action_with_constraint/constraint_with_undeform_bone.escn
  14. 0 0
      tests/reference_exports/action_with_constraint/stashed_constraint.escn
  15. 0 0
      tests/reference_exports/armature/armature_bone_attachment.escn
  16. 8 8
      tests/reference_exports/armature/armature_illegal_bone_name.escn
  17. 0 0
      tests/reference_exports/armature/armature_not_ancester_of_mesh.escn
  18. 0 0
      tests/reference_exports/armature/armature_with_mesh.escn
  19. 0 0
      tests/reference_exports/armature/armature_with_non_deform_bone.escn
  20. 0 0
      tests/reference_exports/armature/armature_with_other_vertex_groups.escn
  21. 0 0
      tests/reference_exports/armature/armature_with_physics.escn
  22. 0 0
      tests/reference_exports/armature/armature_with_pose.escn
  23. 3 3
      tests/reference_exports/camera/animation_camera.escn
  24. 2 2
      tests/reference_exports/light/animation_sun.escn
  25. 8 8
      tests/reference_exports/light/animation_various_lights.escn
  26. 0 0
      tests/reference_exports/light/cycles_lights.escn
  27. 8 8
      tests/reference_exports/light/just_point_lights.escn
  28. 8 8
      tests/reference_exports/light/just_spot_lights.escn
  29. 5 5
      tests/reference_exports/material/material_search.escn
  30. 6 6
      tests/reference_exports/material/object_link_material.escn
  31. 6 6
      tests/reference_exports/material/simple_materials.escn
  32. 0 0
      tests/reference_exports/material_cycle/material_anistropy.escn
  33. 0 0
      tests/reference_exports/material_cycle/material_cycle.escn
  34. 0 0
      tests/reference_exports/material_cycle/material_generated_tex_coord.escn
  35. 20 20
      tests/reference_exports/material_cycle/material_geometry.escn
  36. 3 3
      tests/reference_exports/material_cycle/material_normal.escn
  37. 3 3
      tests/reference_exports/material_cycle/material_spatial/material_spatial.escn
  38. 5 5
      tests/reference_exports/material_cycle/material_unpack_texture.escn
  39. 9 9
      tests/reference_exports/mesh/just_mesh.escn
  40. 0 0
      tests/reference_exports/mesh/parented_meshes.escn
  41. 0 2
      tests/reference_exports/mesh/physics.escn
  42. 4 4
      tests/reference_exports/mesh/tangent_test.escn
  43. 15 15
      tests/reference_exports/mesh/uv_testing.escn
  44. 4 4
      tests/reference_exports/mesh/vertex_color.escn
  45. 9 9
      tests/reference_exports/misc/duplicate_name.escn
  46. 0 0
      tests/reference_exports/misc/invisible_objects.escn
  47. 3 3
      tests/reference_exports/nla_animation/animation_multi_strip.escn
  48. 3 3
      tests/reference_exports/nla_animation/animation_with_empty_strip.escn
  49. 0 0
      tests/reference_exports/nla_animation/nla_with_active_action.escn
  50. 0 0
      tests/reference_exports/nla_animation/nla_with_no_active_action.escn
  51. 0 0
      tests/reference_exports/nla_animation/nla_with_stashed_action.escn
  52. 6 6
      tests/reference_exports/scene_animation/animation_parented_objects.escn
  53. 0 0
      tests/reference_exports/shape_key/animation_shapekey.escn
  54. 0 0
      tests/reference_exports/shape_key/animation_shapekey_with_transform.escn
  55. 0 0
      tests/reference_exports/shape_key/just_shapekey.escn
  56. 0 0
      tests/reference_exports/shape_key/shapekey_with_multi_surface.escn
  57. 0 0
      tests/reference_exports/shape_key/shapekey_with_pose.escn
  58. 0 0
      tests/reference_exports/shape_key/shapekey_with_subdivision.escn

+ 12 - 14
io_scene_godot/converters/mesh.py

@@ -228,16 +228,17 @@ class ArrayMeshResourceExporter:
 
             surfaces_morph_data = self.intialize_surfaces_morph_data(surfaces)
 
-            for face in shape_key_mesh.polygons:
+            shape_key_mesh.calc_loop_triangles()
+
+            for tri in shape_key_mesh.loop_triangles:
                 surface_index = self.mesh_resource.get_surface_id(
-                    face.material_index
+                    tri.material_index
                 )
 
                 surface = surfaces[surface_index]
                 morph = surfaces_morph_data[surface_index]
 
-                for loop_id in range(face.loop_total):
-                    loop_index = face.loop_start + loop_id
+                for loop_index in tri.loops:
                     new_vert = Vertex.create_from_mesh_loop(
                         shape_key_mesh,
                         loop_index,
@@ -261,24 +262,24 @@ class ArrayMeshResourceExporter:
         """
         surfaces = []
 
-        for face_index in range(len(mesh.polygons)):
-            face = mesh.polygons[face_index]
+        mesh.calc_loop_triangles()
 
+        for tri in mesh.loop_triangles:
             # Find a surface that matches the material, otherwise create a new
             # surface for it
             surface_index = self.mesh_resource.get_surface_id(
-                face.material_index
+                tri.material_index
             )
             if surface_index is None:
                 surface_index = len(surfaces)
                 self.mesh_resource.set_surface_id(
-                    face.material_index, surface_index
+                    tri.material_index, surface_index
                 )
                 surface = Surface()
                 surface.id = surface_index
                 surfaces.append(surface)
                 if mesh.materials:
-                    mat = mesh.materials[face.material_index]
+                    mat = mesh.materials[tri.material_index]
                     if (mat is not None and
                             export_settings['material_mode'] != 'NONE'):
                         surface.material = export_material(
@@ -291,9 +292,7 @@ class ArrayMeshResourceExporter:
             surface = surfaces[surface_index]
             vertex_indices = []
 
-            for loop_id in range(face.loop_total):
-                loop_index = face.loop_start + loop_id
-
+            for loop_index in tri.loops:
                 new_vert = Vertex.create_from_mesh_loop(
                     mesh,
                     loop_index,
@@ -312,8 +311,7 @@ class ArrayMeshResourceExporter:
 
                 vertex_indices.append(vertex_index)
 
-            if len(vertex_indices) > 2:  # Only triangles and above
-                surface.vertex_data.indices.append(vertex_indices)
+            surface.vertex_data.indices.append(vertex_indices)
 
         if (export_settings['use_export_shape_key'] and
                 has_shape_keys(self.object.data)):

+ 3 - 4
io_scene_godot/converters/physics.py

@@ -148,7 +148,6 @@ def generate_convex_shape(escn_file, export_settings, bl_object):
     col_shape = None
     mesh_converter = MeshConverter(bl_object, export_settings)
     mesh = mesh_converter.to_mesh(
-        triangulate=False,
         preserve_vertex_groups=False,
         calculate_tangents=False
     )
@@ -178,14 +177,14 @@ def generate_concave_shape(escn_file, export_settings, bl_object):
     col_shape = None
     mesh_converter = MeshConverter(bl_object, export_settings)
     mesh = mesh_converter.to_mesh(
-        triangulate=True,
         preserve_vertex_groups=False,
         calculate_tangents=False
     )
     if mesh is not None and mesh.polygons:
         vert_array = list()
-        for poly in mesh.polygons:
-            for vert_id in reversed(poly.vertices):
+        mesh.calc_loop_triangles()
+        for tri in mesh.loop_triangles:
+            for vert_id in reversed(tri.vertices):
                 vert_array.append(mesh.vertices[vert_id].co)
 
         col_shape = InternalResource("ConcavePolygonShape", mesh.name)

+ 16 - 9
io_scene_godot/converters/utils.py

@@ -1,5 +1,6 @@
 """Util functions and structs shared by multiple resource converters"""
 
+import logging
 import bpy
 import bmesh
 
@@ -31,12 +32,12 @@ def restore_modifier_config(obj, modifier_config_cache):
         mod.show_viewport = modifier_config_cache[i]
 
 
-def triangulate_mesh(mesh):
-    """Triangulate a mesh"""
+def triangulate_ngons(mesh):
+    """Triangulate n-gons in a mesh"""
     tri_mesh = bmesh.new()
     tri_mesh.from_mesh(mesh)
-    bmesh.ops.triangulate(
-        tri_mesh, faces=tri_mesh.faces, quad_method="ALTERNATE")
+    ngons = [face for face in tri_mesh.faces if len(face.verts) > 4]
+    bmesh.ops.triangulate(tri_mesh, faces=ngons, quad_method="ALTERNATE")
     tri_mesh.to_mesh(mesh)
     tri_mesh.free()
     if bpy.app.version[1] > 80:
@@ -117,7 +118,7 @@ class MeshConverter:
         self.use_export_shape_key = export_settings['use_export_shape_key']
         self.has_tangents = False
 
-    def to_mesh(self, triangulate=True, preserve_vertex_groups=True,
+    def to_mesh(self, preserve_vertex_groups=True,
                 calculate_tangents=True, shape_key_index=0):
         """Evaluates object & converts to final mesh, ready for export.
         The mesh is only temporary, call to_mesh_clear() afterwards."""
@@ -152,13 +153,19 @@ class MeshConverter:
         # mesh result can be none if the source geometry has no faces, so we
         # need to consider this if we want a robust exporter.
         if mesh is not None:
-            if triangulate:
-                triangulate_mesh(mesh)
-
             self.has_tangents = bool(mesh.uv_layers) and bool(mesh.polygons)
             if calculate_tangents:
                 if self.has_tangents:
-                    mesh.calc_tangents()
+                    try:
+                        mesh.calc_tangents()
+                    except RuntimeError:
+                        # Mesh must have n-gons
+                        logging.warning(
+                            "Mesh had n-gons and had to be triangulated to "
+                            "calculate tangents; n-gons may look wrong."
+                        )
+                        triangulate_ngons(mesh)
+                        mesh.calc_tangents()
                 else:
                     mesh.calc_normals_split()
 

Plik diff jest za duży
+ 0 - 0
tests/reference_exports/action_animation/animation_bone_transform.escn


+ 3 - 3
tests/reference_exports/action_animation/animation_loop.escn

@@ -6,15 +6,15 @@ resource_name = "Cube"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(-1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0),
-		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0),
+		Vector3Array(-1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0),
+		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 3, 4, 19, 6, 7, 20, 9, 10, 21, 12, 13, 22, 15, 16, 23)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }

+ 3 - 3
tests/reference_exports/action_animation/animation_object_transform.escn

@@ -6,15 +6,15 @@ resource_name = "Cube"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 0.999999, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
-		Vector3Array(2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0),
+		Vector3Array(1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
+		Vector3Array(0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 18, 20, 19, 21, 23, 22, 24, 26, 25, 27, 29, 28, 30, 32, 31, 33, 35, 34)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }

+ 3 - 3
tests/reference_exports/action_animation/animation_rotation_euler.escn

@@ -6,15 +6,15 @@ resource_name = "Cube"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 0.999999, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
-		Vector3Array(2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0),
+		Vector3Array(1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
+		Vector3Array(0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 18, 20, 19, 21, 23, 22, 24, 26, 25, 27, 29, 28, 30, 32, 31, 33, 35, 34)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }

+ 6 - 6
tests/reference_exports/action_animation/animation_shared_action.escn

@@ -6,15 +6,15 @@ resource_name = "Cube"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 0.999999, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
-		Vector3Array(2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0),
+		Vector3Array(1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
+		Vector3Array(0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 18, 20, 19, 21, 23, 22, 24, 26, 25, 27, 29, 28, 30, 32, 31, 33, 35, 34)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }
@@ -36,15 +36,15 @@ resource_name = "Cube001"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(-1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0),
-		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0),
+		Vector3Array(-1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0),
+		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 3, 4, 19, 6, 7, 20, 9, 10, 21, 12, 13, 22, 15, 16, 23)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }

Plik diff jest za duży
+ 0 - 0
tests/reference_exports/action_animation/physics_animation.escn


+ 6 - 6
tests/reference_exports/action_with_constraint/bone_attachment_ik.escn

@@ -21,15 +21,15 @@ resource_name = "Cube001"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(-1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0),
-		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0),
+		Vector3Array(-1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0),
+		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 3, 4, 19, 6, 7, 20, 9, 10, 21, 12, 13, 22, 15, 16, 23)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }
@@ -40,15 +40,15 @@ resource_name = "Cube002"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(-1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0),
-		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0),
+		Vector3Array(-1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0),
+		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 3, 4, 19, 6, 7, 20, 9, 10, 21, 12, 13, 22, 15, 16, 23)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }

Plik diff jest za duży
+ 0 - 0
tests/reference_exports/action_with_constraint/constraint_external_IK.escn


Plik diff jest za duży
+ 0 - 0
tests/reference_exports/action_with_constraint/constraint_internal_IK.escn


Plik diff jest za duży
+ 0 - 0
tests/reference_exports/action_with_constraint/constraint_with_undeform_bone.escn


Plik diff jest za duży
+ 0 - 0
tests/reference_exports/action_with_constraint/stashed_constraint.escn


Plik diff jest za duży
+ 0 - 0
tests/reference_exports/armature/armature_bone_attachment.escn


+ 8 - 8
tests/reference_exports/armature/armature_illegal_bone_name.escn

@@ -17,15 +17,15 @@ resource_name = "Cube002"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(-1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0),
-		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0),
+		Vector3Array(-1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0),
+		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 3, 4, 19, 6, 7, 20, 9, 10, 21, 12, 13, 22, 15, 16, 23)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }
@@ -36,15 +36,15 @@ resource_name = "Cube001"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(-1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0),
-		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0),
+		Vector3Array(-1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0),
+		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
-		IntArray(2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0),
-		FloatArray(0.925511, 0.0744892, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.923829, 0.076171, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.926358, 0.0736422, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.923954, 0.0760457, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.923829, 0.076171, 0.0, 0.0, 0.923954, 0.0760457, 0.0, 0.0, 0.926358, 0.0736422, 0.0, 0.0, 0.923829, 0.076171, 0.0, 0.0, 0.926358, 0.0736422, 0.0, 0.0, 0.923954, 0.0760457, 0.0, 0.0, 0.925511, 0.0744892, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.925511, 0.0744892, 0.0, 0.0),
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 3, 4, 19, 6, 7, 20, 9, 10, 21, 12, 13, 22, 15, 16, 23)
+		IntArray(0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0),
+		FloatArray(1.0, 0.0, 0.0, 0.0, 0.925511, 0.0744892, 0.0, 0.0, 0.923829, 0.076171, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.923829, 0.076171, 0.0, 0.0, 0.926358, 0.0736422, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.926358, 0.0736422, 0.0, 0.0, 0.923954, 0.0760457, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.923954, 0.0760457, 0.0, 0.0, 0.925511, 0.0744892, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.926358, 0.0736422, 0.0, 0.0, 0.923829, 0.076171, 0.0, 0.0, 0.925511, 0.0744892, 0.0, 0.0, 0.923954, 0.0760457, 0.0, 0.0),
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }

Plik diff jest za duży
+ 0 - 0
tests/reference_exports/armature/armature_not_ancester_of_mesh.escn


Plik diff jest za duży
+ 0 - 0
tests/reference_exports/armature/armature_with_mesh.escn


Plik diff jest za duży
+ 0 - 0
tests/reference_exports/armature/armature_with_non_deform_bone.escn


Plik diff jest za duży
+ 0 - 0
tests/reference_exports/armature/armature_with_other_vertex_groups.escn


Plik diff jest za duży
+ 0 - 0
tests/reference_exports/armature/armature_with_physics.escn


Plik diff jest za duży
+ 0 - 0
tests/reference_exports/armature/armature_with_pose.escn


+ 3 - 3
tests/reference_exports/camera/animation_camera.escn

@@ -6,15 +6,15 @@ resource_name = "Cube"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 0.999999, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
-		Vector3Array(2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0),
+		Vector3Array(1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
+		Vector3Array(0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 18, 20, 19, 21, 23, 22, 24, 26, 25, 27, 29, 28, 30, 32, 31, 33, 35, 34)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }

+ 2 - 2
tests/reference_exports/light/animation_sun.escn

@@ -6,7 +6,7 @@ resource_name = "Plane"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(1.0, 0.0, 1.0, -1.0, 0.0, -1.0, -1.0, 0.0, 1.0, 1.0, 0.0, -1.0),
+		Vector3Array(-1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, -1.0, -1.0, 0.0, -1.0),
 		Vector3Array(0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
@@ -14,7 +14,7 @@ surfaces/0 = {
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 0, 1, 3)
+		IntArray(0, 2, 1, 0, 3, 2)
 	],
 	"morph_arrays":[]
 }

+ 8 - 8
tests/reference_exports/light/animation_various_lights.escn

@@ -33,15 +33,15 @@ resource_name = "Cube001"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(-1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0),
-		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0),
+		Vector3Array(-1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0),
+		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 3, 4, 19, 6, 7, 20, 9, 10, 21, 12, 13, 22, 15, 16, 23)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }
@@ -77,15 +77,15 @@ resource_name = "Cube"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(-1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0),
-		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0),
+		Vector3Array(-1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0),
+		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 3, 4, 19, 6, 7, 20, 9, 10, 21, 12, 13, 22, 15, 16, 23)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }
@@ -128,7 +128,7 @@ resource_name = "Plane"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(1.0, 0.0, 1.0, -1.0, 0.0, -1.0, -1.0, 0.0, 1.0, 1.0, 0.0, -1.0),
+		Vector3Array(-1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, -1.0, -1.0, 0.0, -1.0),
 		Vector3Array(0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
@@ -136,7 +136,7 @@ surfaces/0 = {
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 0, 1, 3)
+		IntArray(0, 2, 1, 0, 3, 2)
 	],
 	"morph_arrays":[]
 }

Plik diff jest za duży
+ 0 - 0
tests/reference_exports/light/cycles_lights.escn


+ 8 - 8
tests/reference_exports/light/just_point_lights.escn

@@ -6,15 +6,15 @@ resource_name = "Cube000"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(-1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0),
-		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0),
+		Vector3Array(-1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0),
+		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 3, 4, 19, 6, 7, 20, 9, 10, 21, 12, 13, 22, 15, 16, 23)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }
@@ -25,15 +25,15 @@ resource_name = "Cube001"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(-1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0),
-		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0),
+		Vector3Array(-1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0),
+		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 3, 4, 19, 6, 7, 20, 9, 10, 21, 12, 13, 22, 15, 16, 23)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }
@@ -44,7 +44,7 @@ resource_name = "Plane"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(1.0, 0.0, 1.0, -1.0, 0.0, -1.0, -1.0, 0.0, 1.0, 1.0, 0.0, -1.0),
+		Vector3Array(-1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, -1.0, -1.0, 0.0, -1.0),
 		Vector3Array(0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
@@ -52,7 +52,7 @@ surfaces/0 = {
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 0, 1, 3)
+		IntArray(0, 2, 1, 0, 3, 2)
 	],
 	"morph_arrays":[]
 }

+ 8 - 8
tests/reference_exports/light/just_spot_lights.escn

@@ -6,15 +6,15 @@ resource_name = "Cube002"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(-1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0),
-		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0),
+		Vector3Array(-1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0),
+		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 3, 4, 19, 6, 7, 20, 9, 10, 21, 12, 13, 22, 15, 16, 23)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }
@@ -25,15 +25,15 @@ resource_name = "Cube001"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(-1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0),
-		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0),
+		Vector3Array(-1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0),
+		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 3, 4, 19, 6, 7, 20, 9, 10, 21, 12, 13, 22, 15, 16, 23)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }
@@ -44,7 +44,7 @@ resource_name = "Plane"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(1.0, 0.0, 1.0, -1.0, 0.0, -1.0, -1.0, 0.0, 1.0, 1.0, 0.0, -1.0),
+		Vector3Array(-1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, -1.0, -1.0, 0.0, -1.0),
 		Vector3Array(0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
@@ -52,7 +52,7 @@ surfaces/0 = {
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 0, 1, 3)
+		IntArray(0, 2, 1, 0, 3, 2)
 	],
 	"morph_arrays":[]
 }

+ 5 - 5
tests/reference_exports/material/material_search.escn

@@ -9,15 +9,15 @@ surfaces/0 = {
 	"material":ExtResource(1),
 	"primitive":4,
 	"arrays":[
-		Vector3Array(1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 0.999999, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
-		Vector3Array(2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0),
-		FloatArray(0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, -1.0, 0.0, -2.68221e-07, 1.0, -1.0, 0.0, -2.68221e-07, 1.0, -1.0, 0.0, -2.68221e-07, 1.0, 2.38419e-07, 1.0, 2.38419e-07, 1.0, 2.38419e-07, 1.0, 2.38419e-07, 1.0, 2.38419e-07, 1.0, 2.38419e-07, 1.0, -3.27826e-07, 1.0, 4.76837e-07, 1.0, -3.27826e-07, 1.0, 4.76837e-07, 1.0, -3.27826e-07, 1.0, 4.76837e-07, 1.0, -1.19209e-07, 1.0, -8.9407e-08, 1.0, -1.19209e-07, 1.0, -8.9407e-08, 1.0, -1.19209e-07, 1.0, -8.9407e-08, 1.0, -2.38419e-07, -1.0, -2.38419e-07, 1.0, -2.38419e-07, -1.0, -2.38419e-07, 1.0, -2.38419e-07, -1.0, -2.38419e-07, 1.0, -1.78814e-07, 0.0, 1.0, 1.0, -1.78814e-07, 0.0, 1.0, 1.0, -1.78814e-07, 0.0, 1.0, 1.0, -1.0, 5.96047e-08, -4.17233e-07, 1.0, -1.0, 5.96047e-08, -4.17233e-07, 1.0, -1.0, 5.96047e-08, -4.17233e-07, 1.0, -3.27826e-07, 1.0, 2.38419e-07, 1.0, -3.27826e-07, 1.0, 2.38419e-07, 1.0, -3.27826e-07, 1.0, 2.38419e-07, 1.0, -1.19209e-07, 1.0, -1.19209e-07, 1.0, -1.19209e-07, 1.0, -1.19209e-07, 1.0, -1.19209e-07, 1.0, -1.19209e-07, 1.0, -1.49012e-07, 1.0, 1.78814e-07, 1.0, -1.49012e-07, 1.0, 1.78814e-07, 1.0, -1.49012e-07, 1.0, 1.78814e-07, 1.0, 1.78814e-07, -1.0, -8.9407e-08, 1.0, 1.78814e-07, -1.0, -8.9407e-08, 1.0, 1.78814e-07, -1.0, -8.9407e-08, 1.0),
+		Vector3Array(1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
+		Vector3Array(0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0),
+		FloatArray(-8.94069e-08, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, -8.94069e-08, 0.0, 1.0, 1.0, -1.78814e-07, 0.0, 1.0, 1.0, -1.0, 0.0, -2.68221e-07, 1.0, -1.0, 0.0, -3.42727e-07, 1.0, -1.0, 0.0, -4.17233e-07, 1.0, -1.0, 0.0, -3.42727e-07, 1.0, -4.47035e-08, 1.0, 2.38418e-07, 1.0, -4.47035e-08, 1.0, 2.38419e-07, 1.0, -4.47035e-08, 1.0, 2.38419e-07, 1.0, -4.47035e-08, 1.0, 2.38419e-07, 1.0, -3.27826e-07, 1.0, 1.04308e-07, 1.0, -2.23517e-07, 1.0, 1.04308e-07, 1.0, -1.19209e-07, 1.0, 1.04308e-07, 1.0, -2.23517e-07, 1.0, 1.04308e-07, 1.0, -1.3411e-07, 1.0, 7.45058e-08, 1.0, -1.3411e-07, 1.0, -8.9407e-08, 1.0, -1.3411e-07, 1.0, 7.45058e-08, 1.0, -1.3411e-07, 1.0, 2.38419e-07, 1.0, 3.61876e-14, -1.0, -2.08616e-07, 1.0, -2.38419e-07, -1.0, -2.08616e-07, 1.0, 2.71407e-14, -1.0, -2.08616e-07, 1.0, 2.38419e-07, -1.0, -2.08616e-07, 1.0),
 		null, ; no Vertex Colors,
-		Vector2Array(1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0),
+		Vector2Array(0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0),
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 18, 20, 19, 21, 23, 22, 24, 26, 25, 27, 29, 28, 30, 32, 31, 33, 35, 34)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }

+ 6 - 6
tests/reference_exports/material/object_link_material.escn

@@ -23,15 +23,15 @@ surfaces/0 = {
 	"material":SubResource(1),
 	"primitive":4,
 	"arrays":[
-		Vector3Array(1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
-		Vector3Array(2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0),
+		Vector3Array(1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
+		Vector3Array(0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10)
 	],
 	"morph_arrays":[]
 }
@@ -39,15 +39,15 @@ surfaces/1 = {
 	"material":SubResource(2),
 	"primitive":4,
 	"arrays":[
-		Vector3Array(-1.0, 1.0, -1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0),
-		Vector3Array(0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07),
+		Vector3Array(1.0, 1.0, -0.999999, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0),
+		Vector3Array(0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10)
 	],
 	"morph_arrays":[]
 }

+ 6 - 6
tests/reference_exports/material/simple_materials.escn

@@ -23,15 +23,15 @@ surfaces/0 = {
 	"material":SubResource(1),
 	"primitive":4,
 	"arrays":[
-		Vector3Array(1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
-		Vector3Array(2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0),
+		Vector3Array(1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
+		Vector3Array(0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 18, 20, 19, 21, 23, 22, 24, 26, 25, 27, 29, 28)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18)
 	],
 	"morph_arrays":[]
 }
@@ -39,15 +39,15 @@ surfaces/1 = {
 	"material":SubResource(2),
 	"primitive":4,
 	"arrays":[
-		Vector3Array(1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0),
-		Vector3Array(1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07),
+		Vector3Array(1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0),
+		Vector3Array(1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4)
+		IntArray(0, 2, 1, 0, 3, 2)
 	],
 	"morph_arrays":[]
 }

Plik diff jest za duży
+ 0 - 0
tests/reference_exports/material_cycle/material_anistropy.escn


Plik diff jest za duży
+ 0 - 0
tests/reference_exports/material_cycle/material_cycle.escn


Plik diff jest za duży
+ 0 - 0
tests/reference_exports/material_cycle/material_generated_tex_coord.escn


Plik diff jest za duży
+ 20 - 20
tests/reference_exports/material_cycle/material_geometry.escn


Plik diff jest za duży
+ 3 - 3
tests/reference_exports/material_cycle/material_normal.escn


Plik diff jest za duży
+ 3 - 3
tests/reference_exports/material_cycle/material_spatial/material_spatial.escn


+ 5 - 5
tests/reference_exports/material_cycle/material_unpack_texture.escn

@@ -85,15 +85,15 @@ surfaces/0 = {
 	"material":SubResource(2),
 	"primitive":4,
 	"arrays":[
-		Vector3Array(3.58062, -1.0, 1.0, -3.03377, -1.0, 0.567279, 3.58062, -1.0, 0.567279, -3.03378, 5.77507, 0.567279, 3.58062, 5.77507, 1.0, 3.58062, 5.77507, 0.56728, 3.58062, 5.77507, 0.56728, 3.58062, -1.0, 1.0, 3.58062, -1.0, 0.567279, 3.58062, 5.77507, 1.0, -3.03378, -1.0, 1.0, 3.58062, -1.0, 1.0, -3.03378, 5.77507, 1.0, -3.03377, -1.0, 0.567279, -3.03378, -1.0, 1.0, 3.58062, -1.0, 0.567279, -3.03378, 5.77507, 0.567279, 3.58062, 5.77507, 0.56728, -3.03378, -1.0, 1.0, -3.03378, 5.77507, 0.567279, -3.03378, 5.77507, 1.0, 3.58062, 5.77507, 1.0, 3.58062, 5.77507, 0.56728, 3.58062, 5.77507, 1.0, 3.58062, -1.0, 1.0, 3.58062, 5.77507, 1.0, -3.03378, 5.77507, 1.0, -3.03378, -1.0, 1.0, -3.03378, 5.77507, 1.0, -3.03378, 5.77507, 0.567279, -3.03377, -1.0, 0.567279, 3.58062, -1.0, 0.567279, -3.03377, -1.0, 0.567279, -3.03378, 5.77507, 0.567279),
-		Vector3Array(0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, -7.03811e-08, 0.0, 1.0, -7.03811e-08, 0.0, 1.0, -7.03811e-08, 0.0, -2.70341e-08, -1.27687e-07, 1.0, -2.70341e-08, -1.27687e-07, 1.0, -2.70341e-08, -1.27687e-07, 1.0, -1.0, -7.03812e-08, -1.30118e-06, -1.0, -7.03812e-08, -1.30118e-06, -1.0, -7.03812e-08, -1.30118e-06, 8.11022e-08, 7.44842e-08, -1.0, 8.11022e-08, 7.44842e-08, -1.0, 8.11022e-08, 7.44842e-08, -1.0, 0.0, -1.0, 0.0, 1.67067e-08, 1.0, 0.0, 1.67067e-08, 1.0, 0.0, 1.67067e-08, 1.0, 0.0, 1.0, 1.05571e-07, 3.90355e-06, 1.0, 1.05571e-07, 3.90355e-06, 1.0, 1.05571e-07, 3.90355e-06, -1.44182e-07, 4.25624e-08, 1.0, -1.44182e-07, 4.25624e-08, 1.0, -1.44182e-07, 4.25624e-08, 1.0, -1.0, -7.03811e-08, -1.30118e-06, -1.0, -7.03811e-08, -1.30118e-06, -1.0, -7.03811e-08, -1.30118e-06, 6.30795e-08, 3.049e-08, -1.0, 6.30795e-08, 3.049e-08, -1.0, 6.30795e-08, 3.049e-08, -1.0),
-		FloatArray(1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, -1.0, 0.0, -8.11022e-08, 1.0, -1.0, 0.0, -8.11022e-08, 1.0, -1.0, 0.0, -8.11022e-08, 1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, -1.0, 0.0, -6.30795e-08, 1.0, -1.0, 0.0, -6.30795e-08, 1.0, -1.0, 0.0, -6.30795e-08, 1.0),
+		Vector3Array(3.58062, -1.0, 0.567279, 3.58062, -1.0, 1.0, -3.03378, -1.0, 1.0, -3.03377, -1.0, 0.567279, 3.58062, 5.77507, 0.56728, -3.03378, 5.77507, 0.567279, -3.03378, 5.77507, 1.0, 3.58062, 5.77507, 1.0, 3.58062, -1.0, 0.567279, 3.58062, 5.77507, 0.56728, 3.58062, 5.77507, 1.0, 3.58062, -1.0, 1.0, 3.58062, -1.0, 1.0, 3.58062, 5.77507, 1.0, -3.03378, 5.77507, 1.0, -3.03378, -1.0, 1.0, -3.03378, -1.0, 1.0, -3.03378, 5.77507, 1.0, -3.03378, 5.77507, 0.567279, -3.03377, -1.0, 0.567279, 3.58062, 5.77507, 0.56728, 3.58062, -1.0, 0.567279, -3.03377, -1.0, 0.567279, -3.03378, 5.77507, 0.567279),
+		Vector3Array(0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.75952e-08, 1.37744e-06, 1.0, 1.75952e-08, 1.37744e-06, 1.0, 1.75952e-08, 1.37744e-06, 1.0, 1.75952e-08, 1.37744e-06, -8.56079e-08, -3.07918e-08, 1.0, -8.56079e-08, -3.07918e-08, 1.0, -8.56079e-08, -3.07918e-08, 1.0, -8.56079e-08, -3.07918e-08, 1.0, -1.0, -7.03811e-08, -1.10195e-06, -1.0, -7.03811e-08, -1.10195e-06, -1.0, -7.03811e-08, -1.10195e-06, -1.0, -7.03811e-08, -1.10195e-06, 7.20908e-08, 6.15835e-08, -1.0, 7.20908e-08, 6.15835e-08, -1.0, 7.20908e-08, 6.15835e-08, -1.0, 7.20908e-08, 6.15835e-08, -1.0),
+		FloatArray(1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, -1.0, 6.10646e-08, -7.20908e-08, 1.0, -1.0, 3.00658e-08, -7.20908e-08, 1.0, -1.0, 0.0, -7.20908e-08, 1.0, -1.0, 3.09988e-08, -7.20908e-08, 1.0),
 		null, ; no Vertex Colors,
-		Vector2Array(0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 9.87876e-05, 0.999901, 0.97619, 9.88245e-05, 9.87876e-05, 9.87649e-05, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 9.87876e-05, 0.999901, 0.97619, 0.999901, 0.97619, 9.88245e-05),
+		Vector2Array(0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 9.87876e-05, 9.87649e-05, 9.87876e-05, 0.999901, 0.97619, 0.999901, 0.97619, 9.88245e-05),
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 19, 21, 20, 22, 24, 23, 25, 27, 26, 28, 30, 29, 31, 33, 32)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }

+ 9 - 9
tests/reference_exports/mesh/just_mesh.escn

@@ -6,15 +6,15 @@ resource_name = "Cylinder003"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(0.0, 1.0, -1.0, 0.866025, -1.0, -0.5, 0.0, -1.0, -1.0, 0.866025, 1.0, -0.5, 0.866025, -1.0, 0.5, 0.866025, 1.0, 0.5, -8.74228e-08, -1.0, 1.0, -8.74228e-08, 1.0, 1.0, -0.866025, -1.0, 0.5, -0.866025, 1.0, 0.5, -0.866025, -1.0, -0.5, -0.866025, 1.0, -0.5),
-		Vector3Array(0.0, 0.609973, -0.792383, 0.686239, -0.609973, -0.396191, 0.0, -0.609973, -0.792383, 0.686239, 0.609973, -0.396191, 0.686239, -0.609973, 0.396191, 0.686239, 0.609973, 0.396191, 0.0, -0.609973, 0.792383, 0.0, 0.609973, 0.792383, -0.686239, -0.609973, 0.396191, -0.686239, 0.609973, 0.396191, -0.686239, -0.609973, -0.396191, -0.686239, 0.609973, -0.396191),
+		Vector3Array(0.0, -1.0, -1.0, 0.0, 1.0, -1.0, 0.866025, 1.0, -0.5, 0.866025, -1.0, -0.5, 0.866025, 1.0, 0.5, 0.866025, -1.0, 0.5, -8.74228e-08, 1.0, 1.0, -8.74228e-08, -1.0, 1.0, -0.866025, 1.0, 0.5, -0.866025, -1.0, 0.5, -0.866025, 1.0, -0.5, -0.866025, -1.0, -0.5),
+		Vector3Array(0.0, -0.609973, -0.792383, 0.0, 0.609973, -0.792383, 0.686239, 0.609973, -0.396191, 0.686239, -0.609973, -0.396191, 0.686239, 0.609973, 0.396191, 0.686239, -0.609973, 0.396191, 0.0, 0.609973, 0.792383, 0.0, -0.609973, 0.792383, -0.686239, 0.609973, 0.396191, -0.686239, -0.609973, 0.396191, -0.686239, 0.609973, -0.396191, -0.686239, -0.609973, -0.396191),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 1, 4, 5, 4, 6, 7, 6, 8, 0, 5, 9, 9, 8, 10, 11, 10, 2, 8, 1, 10, 0, 1, 3, 3, 4, 5, 5, 6, 7, 7, 8, 9, 5, 0, 3, 0, 9, 11, 9, 5, 7, 9, 10, 11, 11, 2, 0, 10, 1, 2, 1, 6, 4, 6, 1, 8)
+		IntArray(0, 2, 1, 0, 3, 2, 3, 4, 2, 3, 5, 4, 5, 6, 4, 5, 7, 6, 7, 8, 6, 7, 9, 8, 4, 1, 2, 1, 8, 10, 8, 4, 6, 1, 4, 8, 9, 10, 8, 9, 11, 10, 11, 1, 10, 11, 0, 1, 11, 3, 0, 3, 7, 5, 7, 11, 9, 3, 11, 7)
 	],
 	"morph_arrays":[]
 }
@@ -25,15 +25,15 @@ resource_name = "Cylinder002"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(0.0, 1.0, -1.0, 0.866025, -1.0, -0.5, 0.0, -1.0, -1.0, 0.866025, 1.0, -0.5, 0.866025, -1.0, 0.5, 0.866025, 1.0, 0.5, -8.74228e-08, -1.0, 1.0, -8.74228e-08, 1.0, 1.0, -0.866025, -1.0, 0.5, 0.0, 1.0, -1.0, -0.866025, 1.0, 0.5, 0.866025, 1.0, 0.5, -0.866025, 1.0, 0.5, -0.866025, -1.0, -0.5, -0.866025, 1.0, -0.5, -0.866025, -1.0, 0.5, -0.866025, -1.0, -0.5, 0.866025, -1.0, -0.5, 0.866025, 1.0, -0.5, -0.866025, 1.0, -0.5, -8.74228e-08, 1.0, 1.0, 0.0, -1.0, -1.0, 0.866025, -1.0, 0.5, -8.74228e-08, -1.0, 1.0),
-		Vector3Array(-6.57235e-08, 0.0, -1.0, 0.866025, 0.0, -0.5, -2.19078e-08, 0.0, -1.0, 0.866025, 0.0, -0.5, 0.866025, 0.0, 0.5, 0.866025, 0.0, 0.5, -8.76314e-08, 0.0, 1.0, -8.76314e-08, 0.0, 1.0, -0.866025, 0.0, 0.5, 4.58837e-08, 1.0, 0.0, 6.30901e-08, 1.0, 0.0, 2.86773e-08, 1.0, 0.0, -0.866025, 0.0, 0.5, -0.866025, 0.0, -0.5, -0.866025, 0.0, -0.5, 0.0, -1.0, 0.0, 3.44128e-08, -1.0, 0.0, 6.88255e-08, -1.0, 0.0, 0.0, 1.0, 0.0, 1.37651e-07, 1.0, 0.0, 6.88255e-08, 1.0, 0.0, 1.37651e-07, -1.0, 0.0, 1.37651e-07, -1.0, 0.0, 3.44128e-08, -1.0, 0.0),
+		Vector3Array(0.0, -1.0, -1.0, 0.0, 1.0, -1.0, 0.866025, 1.0, -0.5, 0.866025, -1.0, -0.5, 0.866025, 1.0, 0.5, 0.866025, -1.0, 0.5, -8.74228e-08, 1.0, 1.0, -8.74228e-08, -1.0, 1.0, -0.866025, 1.0, 0.5, -0.866025, -1.0, 0.5, 0.866025, 1.0, 0.5, 0.866025, 1.0, -0.5, 0.0, 1.0, -1.0, -0.866025, 1.0, -0.5, -0.866025, 1.0, 0.5, -8.74228e-08, 1.0, 1.0, -0.866025, 1.0, -0.5, -0.866025, -1.0, -0.5, -0.866025, -1.0, -0.5, 0.0, -1.0, -1.0, 0.866025, -1.0, -0.5, 0.866025, -1.0, 0.5, -8.74228e-08, -1.0, 1.0, -0.866025, -1.0, 0.5),
+		Vector3Array(-4.38157e-08, 0.0, -1.0, -4.38157e-08, 0.0, -1.0, 0.866025, 0.0, -0.5, 0.866025, 0.0, -0.5, 0.866025, 0.0, 0.5, 0.866025, 0.0, 0.5, -1.09539e-07, 0.0, 1.0, -1.09539e-07, 0.0, 1.0, -0.866025, 0.0, 0.5, -0.866025, 0.0, 0.5, 4.58837e-08, 1.0, 0.0, 4.58837e-08, 1.0, 0.0, 4.58837e-08, 1.0, 0.0, 4.58837e-08, 1.0, 0.0, 4.58837e-08, 1.0, 0.0, 4.58837e-08, 1.0, 0.0, -0.866025, 0.0, -0.5, -0.866025, 0.0, -0.5, 6.88255e-08, -1.0, 0.0, 6.88255e-08, -1.0, 0.0, 6.88255e-08, -1.0, 0.0, 6.88255e-08, -1.0, 0.0, 6.88255e-08, -1.0, 0.0, 6.88255e-08, -1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 1, 4, 5, 4, 6, 7, 6, 8, 9, 11, 10, 12, 8, 13, 14, 13, 2, 15, 17, 16, 0, 1, 3, 3, 4, 5, 5, 6, 7, 7, 8, 12, 11, 9, 18, 9, 10, 19, 10, 11, 20, 12, 13, 14, 14, 2, 0, 16, 17, 21, 17, 23, 22, 23, 17, 15)
+		IntArray(0, 2, 1, 0, 3, 2, 3, 4, 2, 3, 5, 4, 5, 6, 4, 5, 7, 6, 7, 8, 6, 7, 9, 8, 10, 12, 11, 12, 14, 13, 14, 10, 15, 12, 10, 14, 9, 16, 8, 9, 17, 16, 17, 1, 16, 17, 0, 1, 18, 20, 19, 20, 22, 21, 22, 18, 23, 20, 18, 22)
 	],
 	"morph_arrays":[]
 }
@@ -44,15 +44,15 @@ resource_name = "Cylinder001"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(0.0, 1.0, -1.0, 0.866025, -1.0, -0.5, 0.0, -1.0, -1.0, 0.866025, 1.0, -0.5, 0.866025, -1.0, 0.5, 0.866025, -1.0, -0.5, 0.866025, 1.0, 0.5, -8.74228e-08, -1.0, 1.0, 0.866025, -1.0, 0.5, -8.74228e-08, 1.0, 1.0, -0.866025, -1.0, 0.5, -8.74228e-08, -1.0, 1.0, 0.0, 1.0, -1.0, -0.866025, 1.0, 0.5, 0.866025, 1.0, 0.5, -0.866025, 1.0, 0.5, -0.866025, -1.0, -0.5, -0.866025, -1.0, 0.5, -0.866025, 1.0, -0.5, 0.0, -1.0, -1.0, -0.866025, -1.0, -0.5, -0.866025, -1.0, 0.5, -0.866025, -1.0, -0.5, 0.866025, -1.0, -0.5, 0.866025, 1.0, -0.5, 0.866025, 1.0, -0.5, 0.866025, 1.0, 0.5, 0.866025, -1.0, 0.5, 0.866025, 1.0, 0.5, -8.74228e-08, 1.0, 1.0, -8.74228e-08, -1.0, 1.0, -8.74228e-08, 1.0, 1.0, -0.866025, 1.0, 0.5, -0.866025, -1.0, 0.5, 0.866025, 1.0, 0.5, 0.866025, 1.0, -0.5, 0.0, 1.0, -1.0, 0.0, 1.0, -1.0, -0.866025, 1.0, -0.5, -0.866025, 1.0, 0.5, -0.866025, 1.0, 0.5, -8.74228e-08, 1.0, 1.0, 0.866025, 1.0, 0.5, -0.866025, 1.0, -0.5, 0.0, 1.0, -1.0, -0.866025, -1.0, -0.5, 0.0, -1.0, -1.0, 0.866025, -1.0, -0.5, 0.866025, -1.0, -0.5, 0.866025, -1.0, 0.5, -8.74228e-08, -1.0, 1.0, -8.74228e-08, -1.0, 1.0, -0.866025, -1.0, 0.5, 0.866025, -1.0, -0.5),
-		Vector3Array(0.5, 0.0, -0.866025, 0.5, 0.0, -0.866025, 0.5, 0.0, -0.866025, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.5, 0.0, 0.866025, 0.5, 0.0, 0.866025, 0.5, 0.0, 0.866025, -0.5, 0.0, 0.866025, -0.5, 0.0, 0.866025, -0.5, 0.0, 0.866025, 2.29418e-08, 1.0, 0.0, 2.29418e-08, 1.0, 0.0, 2.29418e-08, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -0.5, 0.0, -0.866025, -0.5, 0.0, -0.866025, -0.5, 0.0, -0.866025, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.5, 0.0, -0.866025, 1.0, 0.0, 1.19209e-07, 1.0, 0.0, 1.19209e-07, 1.0, 0.0, 1.19209e-07, 0.5, 0.0, 0.866026, 0.5, 0.0, 0.866026, 0.5, 0.0, 0.866026, -0.5, 0.0, 0.866025, -0.5, 0.0, 0.866025, -0.5, 0.0, 0.866025, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.37651e-07, 1.0, 0.0, 1.37651e-07, 1.0, 0.0, 1.37651e-07, 1.0, 0.0, 6.88255e-08, 1.0, 0.0, 6.88255e-08, 1.0, 0.0, 6.88255e-08, 1.0, 0.0, -1.0, 0.0, 0.0, -0.5, 0.0, -0.866025, 1.37651e-07, -1.0, 0.0, 1.37651e-07, -1.0, 0.0, 1.37651e-07, -1.0, 0.0, 1.37651e-07, -1.0, 0.0, 1.37651e-07, -1.0, 0.0, 1.37651e-07, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0),
+		Vector3Array(0.0, -1.0, -1.0, 0.0, 1.0, -1.0, 0.866025, 1.0, -0.5, 0.866025, -1.0, -0.5, 0.866025, -1.0, -0.5, 0.866025, 1.0, -0.5, 0.866025, 1.0, 0.5, 0.866025, -1.0, 0.5, 0.866025, -1.0, 0.5, 0.866025, 1.0, 0.5, -8.74228e-08, 1.0, 1.0, -8.74228e-08, -1.0, 1.0, -8.74228e-08, -1.0, 1.0, -8.74228e-08, 1.0, 1.0, -0.866025, 1.0, 0.5, -0.866025, -1.0, 0.5, 0.866025, 1.0, 0.5, 0.866025, 1.0, -0.5, 0.0, 1.0, -1.0, -0.866025, 1.0, -0.5, -0.866025, 1.0, 0.5, -8.74228e-08, 1.0, 1.0, -0.866025, -1.0, 0.5, -0.866025, 1.0, 0.5, -0.866025, 1.0, -0.5, -0.866025, -1.0, -0.5, -0.866025, -1.0, -0.5, -0.866025, 1.0, -0.5, 0.0, 1.0, -1.0, 0.0, -1.0, -1.0, -0.866025, -1.0, -0.5, 0.0, -1.0, -1.0, 0.866025, -1.0, -0.5, 0.866025, -1.0, 0.5, -8.74228e-08, -1.0, 1.0, -0.866025, -1.0, 0.5),
+		Vector3Array(0.5, 0.0, -0.866025, 0.5, 0.0, -0.866025, 0.5, 0.0, -0.866025, 0.5, 0.0, -0.866025, 1.0, 0.0, 5.96046e-08, 1.0, 0.0, 5.96046e-08, 1.0, 0.0, 5.96046e-08, 1.0, 0.0, 5.96046e-08, 0.5, 0.0, 0.866025, 0.5, 0.0, 0.866025, 0.5, 0.0, 0.866025, 0.5, 0.0, 0.866025, -0.5, 0.0, 0.866025, -0.5, 0.0, 0.866025, -0.5, 0.0, 0.866025, -0.5, 0.0, 0.866025, 4.58837e-08, 1.0, 0.0, 4.58837e-08, 1.0, 0.0, 4.58837e-08, 1.0, 0.0, 4.58837e-08, 1.0, 0.0, 4.58837e-08, 1.0, 0.0, 4.58837e-08, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -0.5, 0.0, -0.866025, -0.5, 0.0, -0.866025, -0.5, 0.0, -0.866025, -0.5, 0.0, -0.866025, 6.88255e-08, -1.0, 0.0, 6.88255e-08, -1.0, 0.0, 6.88255e-08, -1.0, 0.0, 6.88255e-08, -1.0, 0.0, 6.88255e-08, -1.0, 0.0, 6.88255e-08, -1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 18, 20, 19, 21, 23, 22, 0, 1, 24, 25, 27, 26, 28, 30, 29, 31, 33, 32, 34, 36, 35, 37, 39, 38, 40, 42, 41, 15, 16, 43, 18, 19, 44, 45, 47, 46, 48, 50, 49, 51, 53, 52)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 18, 20, 19, 20, 16, 21, 18, 16, 20, 22, 24, 23, 22, 25, 24, 26, 28, 27, 26, 29, 28, 30, 32, 31, 32, 34, 33, 34, 30, 35, 32, 30, 34)
 	],
 	"morph_arrays":[]
 }

Plik diff jest za duży
+ 0 - 0
tests/reference_exports/mesh/parented_meshes.escn


Plik diff jest za duży
+ 0 - 2
tests/reference_exports/mesh/physics.escn


+ 4 - 4
tests/reference_exports/mesh/tangent_test.escn

@@ -6,15 +6,15 @@ resource_name = "Plane"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(1.0, 0.89241, -1.75, -1.0, 1.0, -2.0, -1.0, 0.89241, -1.75, -1.0, 0.89241, 1.75, 1.0, 1.0, 2.0, 1.0, 0.89241, 1.75, -1.0, 0.0, 0.0, 1.0, 0.14241, 0.25, 1.0, 0.0, 0.0, -1.0, 0.14241, 0.25, 1.0, 0.379845, 0.5, -1.0, 0.379845, 0.5, 1.0, 0.72161, 0.75, -1.0, 0.72161, 0.75, 1.0, 1.1677, 1.0, -1.0, 1.1677, 1.0, 1.0, 0.97161, 1.25, 1.0, 1.1677, 1.0, -1.0, 0.97161, 1.25, 1.0, 0.879845, 1.5, -1.0, 0.879845, 1.5, 1.0, 0.0, 0.0, -1.0, 0.14241, -0.25, -1.0, 0.0, 0.0, 1.0, 0.14241, -0.25, -1.0, 0.379845, -0.5, 1.0, 0.379845, -0.5, -1.0, 0.72161, -0.75, 1.0, 0.72161, -0.75, -1.0, 1.1677, -1.0, 1.0, 1.1677, -1.0, -1.0, 0.97161, -1.25, -1.0, 1.1677, -1.0, 1.0, 0.97161, -1.25, -1.0, 0.879845, -1.5, 1.0, 0.879845, -1.5, 1.0, 1.0, -2.0, -1.0, 1.0, 2.0, -1.0, 1.1677, 1.0, 1.0, 1.1677, -1.0),
-		Vector3Array(0.0, 0.974051, 0.226331, 0.0, 0.918549, 0.395308, 0.0, 0.974051, 0.226331, 0.0, 0.974051, -0.226331, 0.0, 0.918549, -0.395308, 0.0, 0.974051, -0.226331, 0.0, 0.868912, -0.494966, 0.0, 0.802864, -0.596162, 0.0, 0.868912, -0.494966, 0.0, 0.802864, -0.596161, 0.0, 0.660408, -0.750907, 0.0, 0.660408, -0.750907, 0.0, 0.540627, -0.841262, 0.0, 0.540627, -0.841262, 0.0, 0.488883, -0.872349, 0.0, 0.786832, 0.617167, 0.0, 0.873494, 0.486835, 0.0, 0.786832, 0.617167, 0.0, 0.873494, 0.486835, 0.0, 0.988653, 0.150216, 0.0, 0.988653, 0.150216, 0.0, 0.868912, 0.494966, 0.0, 0.802864, 0.596162, 0.0, 0.868912, 0.494966, 0.0, 0.802864, 0.596161, 0.0, 0.660408, 0.750907, 0.0, 0.660408, 0.750907, 0.0, 0.540627, 0.841262, 0.0, 0.540627, 0.841262, 0.0, 0.488883, 0.872349, 0.0, 0.786832, -0.617167, 0.0, 0.873494, -0.486835, 0.0, 0.786832, -0.617167, 0.0, 0.873494, -0.486835, 0.0, 0.988653, -0.150216, 0.0, 0.988653, -0.150216, 0.0, 0.918549, 0.395308, 0.0, 0.918549, -0.395308, 0.0, 0.488883, -0.872349, 0.0, 0.488883, 0.872349),
+		Vector3Array(-1.0, 0.89241, -1.75, 1.0, 0.89241, -1.75, 1.0, 1.0, -2.0, -1.0, 1.0, -2.0, 1.0, 0.89241, 1.75, -1.0, 0.89241, 1.75, -1.0, 1.0, 2.0, 1.0, 1.0, 2.0, 1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.14241, 0.25, 1.0, 0.14241, 0.25, -1.0, 0.379845, 0.5, 1.0, 0.379845, 0.5, -1.0, 0.72161, 0.75, 1.0, 0.72161, 0.75, -1.0, 1.1677, 1.0, 1.0, 1.1677, 1.0, 1.0, 1.1677, 1.0, -1.0, 1.1677, 1.0, -1.0, 0.97161, 1.25, 1.0, 0.97161, 1.25, -1.0, 0.879845, 1.5, 1.0, 0.879845, 1.5, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.14241, -0.25, -1.0, 0.14241, -0.25, 1.0, 0.379845, -0.5, -1.0, 0.379845, -0.5, 1.0, 0.72161, -0.75, -1.0, 0.72161, -0.75, 1.0, 1.1677, -1.0, -1.0, 1.1677, -1.0, -1.0, 1.1677, -1.0, 1.0, 1.1677, -1.0, 1.0, 0.97161, -1.25, -1.0, 0.97161, -1.25, 1.0, 0.879845, -1.5, -1.0, 0.879845, -1.5),
+		Vector3Array(0.0, 0.974051, 0.226331, 0.0, 0.974051, 0.226331, 0.0, 0.918549, 0.395308, 0.0, 0.918549, 0.395308, 0.0, 0.974051, -0.226331, 0.0, 0.974051, -0.226331, 0.0, 0.918549, -0.395308, 0.0, 0.918549, -0.395308, 0.0, 0.868912, -0.494966, 0.0, 0.868912, -0.494966, 0.0, 0.802865, -0.596162, 0.0, 0.802865, -0.596162, 0.0, 0.660408, -0.750907, 0.0, 0.660408, -0.750907, 0.0, 0.540627, -0.841262, 0.0, 0.540627, -0.841262, 0.0, 0.488883, -0.872349, 0.0, 0.488883, -0.872349, 0.0, 0.786832, 0.617167, 0.0, 0.786832, 0.617167, 0.0, 0.873494, 0.486835, 0.0, 0.873494, 0.486835, 0.0, 0.988653, 0.150216, 0.0, 0.988653, 0.150216, 0.0, 0.868912, 0.494966, 0.0, 0.868912, 0.494966, 0.0, 0.802865, 0.596162, 0.0, 0.802865, 0.596162, 0.0, 0.660408, 0.750907, 0.0, 0.660408, 0.750907, 0.0, 0.540627, 0.841262, 0.0, 0.540627, 0.841262, 0.0, 0.488883, 0.872349, 0.0, 0.488883, 0.872349, 0.0, 0.786832, -0.617167, 0.0, 0.786832, -0.617167, 0.0, 0.873494, -0.486835, 0.0, 0.873494, -0.486835, 0.0, 0.988653, -0.150216, 0.0, 0.988653, -0.150216),
 		FloatArray(1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0),
 		null, ; no Vertex Colors,
-		Vector2Array(1.0, 0.125, 0.0, 0.0, 0.0, 0.125, 0.0, 0.875, 1.0, 1.0, 1.0, 0.875, 0.0, 0.0, 1.0, 0.125, 1.0, 0.0, 0.0, 0.125, 1.0, 0.25, 0.0, 0.25, 1.0, 0.375, 0.0, 0.375, 1.0, 0.5, 0.0, 0.5, 1.0, 0.625, 1.0, 0.5, 0.0, 0.625, 1.0, 0.75, 0.0, 0.75, 1.0, 1.0, 0.0, 0.875, 0.0, 1.0, 1.0, 0.875, 0.0, 0.75, 1.0, 0.75, 0.0, 0.625, 1.0, 0.625, 0.0, 0.5, 1.0, 0.5, 0.0, 0.375, 0.0, 0.5, 1.0, 0.375, 0.0, 0.25, 1.0, 0.25, 1.0, 0.0, 0.0, 1.0, 0.0, 0.5, 1.0, 0.5),
+		Vector2Array(0.0, 0.125, 1.0, 0.125, 1.0, 0.0, 0.0, 0.0, 1.0, 0.875, 0.0, 0.875, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.125, 1.0, 0.125, 0.0, 0.25, 1.0, 0.25, 0.0, 0.375, 1.0, 0.375, 0.0, 0.5, 1.0, 0.5, 1.0, 0.5, 0.0, 0.5, 0.0, 0.625, 1.0, 0.625, 0.0, 0.75, 1.0, 0.75, 0.0, 1.0, 1.0, 1.0, 1.0, 0.875, 0.0, 0.875, 1.0, 0.75, 0.0, 0.75, 1.0, 0.625, 0.0, 0.625, 1.0, 0.5, 0.0, 0.5, 0.0, 0.5, 1.0, 0.5, 1.0, 0.375, 0.0, 0.375, 1.0, 0.25, 0.0, 0.25),
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 7, 10, 11, 10, 12, 13, 12, 14, 15, 17, 16, 18, 16, 19, 20, 19, 5, 21, 23, 22, 24, 22, 25, 26, 25, 27, 28, 27, 29, 30, 32, 31, 33, 31, 34, 35, 34, 2, 0, 1, 36, 3, 4, 37, 6, 7, 9, 9, 10, 11, 11, 12, 13, 13, 14, 38, 15, 16, 18, 18, 19, 20, 20, 5, 3, 21, 22, 24, 24, 25, 26, 26, 27, 28, 28, 29, 39, 30, 31, 33, 33, 34, 35, 35, 2, 0)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 11, 12, 10, 11, 13, 12, 13, 14, 12, 13, 15, 14, 15, 16, 14, 15, 17, 16, 18, 20, 19, 18, 21, 20, 21, 22, 20, 21, 23, 22, 23, 5, 22, 23, 4, 5, 24, 26, 25, 24, 27, 26, 27, 28, 26, 27, 29, 28, 29, 30, 28, 29, 31, 30, 31, 32, 30, 31, 33, 32, 34, 36, 35, 34, 37, 36, 37, 38, 36, 37, 39, 38, 39, 1, 38, 39, 0, 1)
 	],
 	"morph_arrays":[]
 }

+ 15 - 15
tests/reference_exports/mesh/uv_testing.escn

@@ -6,15 +6,15 @@ resource_name = "Cube000"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(-1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0),
-		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0),
-		FloatArray(0.0, -1.0, 4.47035e-08, 1.0, 0.0, -1.0, 4.47035e-08, 1.0, 0.0, -1.0, 0.0, 1.0, -1.78814e-07, -1.0, 0.0, 1.0, -1.78814e-07, -1.0, 0.0, 1.0, -1.78814e-07, -1.0, 0.0, 1.0, 0.0, -1.0, -2.68221e-07, 1.0, 0.0, -1.0, -2.68221e-07, 1.0, 0.0, -1.0, -2.68221e-07, 1.0, -1.0, -1.49012e-07, 0.0, 1.0, -1.0, -1.49012e-07, 0.0, 1.0, -1.0, -1.78814e-07, 0.0, 1.0, -1.0, 0.0, -4.47035e-08, 1.0, -1.0, 0.0, -4.47035e-08, 1.0, -1.0, 0.0, 0.0, 1.0, -8.9407e-08, 0.0, -1.0, 1.0, -8.9407e-08, 0.0, -1.0, 1.0, -1.78814e-07, 0.0, -1.0, 1.0, 0.0, -1.0, 8.9407e-08, 1.0, -1.78814e-07, -1.0, 0.0, 1.0, 0.0, -1.0, -2.68221e-07, 1.0, -1.0, -1.19209e-07, 0.0, 1.0, -1.0, 0.0, -8.9407e-08, 1.0, 0.0, 0.0, -1.0, 1.0),
+		Vector3Array(-1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0),
+		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
+		FloatArray(0.0, -1.0, 0.0, 1.0, 0.0, -1.0, 4.47035e-08, 1.0, 0.0, -1.0, 8.9407e-08, 1.0, 0.0, -1.0, 4.47035e-08, 1.0, -1.78814e-07, -1.0, 0.0, 1.0, -1.78814e-07, -1.0, 0.0, 1.0, -1.78814e-07, -1.0, 0.0, 1.0, -1.78814e-07, -1.0, 0.0, 1.0, 0.0, -1.0, -2.68221e-07, 1.0, 0.0, -1.0, -2.68221e-07, 1.0, 0.0, -1.0, -2.68221e-07, 1.0, 0.0, -1.0, -2.68221e-07, 1.0, -1.0, -1.3411e-07, 0.0, 1.0, -1.0, -8.9407e-08, 0.0, 1.0, -1.0, -1.3411e-07, 0.0, 1.0, -1.0, -1.78814e-07, 0.0, 1.0, -1.0, 0.0, -4.47035e-08, 1.0, -1.0, 0.0, 0.0, 1.0, -1.0, 0.0, -4.47035e-08, 1.0, -1.0, 0.0, -8.9407e-08, 1.0, -8.9407e-08, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, -8.9407e-08, 0.0, -1.0, 1.0, -1.78814e-07, 0.0, -1.0, 1.0),
 		null, ; no Vertex Colors,
-		Vector2Array(1.0, 0.0, 2.98023e-08, 1.0, 1.0, 1.0, 1.0, 0.0, 2.98023e-08, 1.0, 1.0, 1.0, 1.0, 0.0, 2.98023e-08, 1.0, 1.0, 1.0, 1.0, 0.0, 2.98023e-08, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, -5.96046e-08, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0),
-		Vector2Array(0.333333, 0.333333, 0.666667, 0.666667, 0.666667, 0.333333, 3.97364e-08, 0.333333, 0.333333, 0.666667, 0.333333, 0.333333, 1.29143e-07, 0.666667, 0.333333, 1.0, 0.333333, 0.666667, 0.333333, 1.0, 0.666667, 0.666667, 0.333333, 0.666667, 0.666667, 0.666667, 1.0, 1.0, 1.0, 0.666667, 0.333333, 5.96046e-08, 0.0, 0.333333, 0.333333, 0.333333, 0.333333, 0.666667, 0.0, 0.666667, 0.0, 1.0, 0.666667, 1.0, 0.666667, 1.0, 4.96705e-08, 5.96046e-08),
+		Vector2Array(1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 2.98023e-08, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 2.98023e-08, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 2.98023e-08, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 2.98023e-08, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, -5.96046e-08, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0),
+		Vector2Array(0.666667, 0.333333, 0.333333, 0.333333, 0.333333, 0.666667, 0.666667, 0.666667, 0.333333, 0.333333, 3.97364e-08, 0.333333, 0.0, 0.666667, 0.333333, 0.666667, 0.333333, 0.666667, 1.29143e-07, 0.666667, 0.0, 1.0, 0.333333, 1.0, 0.333333, 0.666667, 0.333333, 1.0, 0.666667, 1.0, 0.666667, 0.666667, 1.0, 0.666667, 0.666667, 0.666667, 0.666667, 1.0, 1.0, 1.0, 0.333333, 0.333333, 0.333333, 5.96046e-08, 4.96705e-08, 5.96046e-08, 0.0, 0.333333),
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 3, 4, 19, 6, 7, 20, 9, 10, 21, 12, 13, 22, 15, 16, 23)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }
@@ -25,15 +25,15 @@ resource_name = "Plane001"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(1.0, 0.0, 1.0, -1.0, 0.0, -1.0, -1.0, 0.0, 1.0, 1.0, 0.0, -1.0),
+		Vector3Array(-1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, -1.0, -1.0, 0.0, -1.0),
 		Vector3Array(0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		FloatArray(1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0),
 		null, ; no Vertex Colors,
-		Vector2Array(0.27497, 0.27497, -0.02497, -0.0249701, -0.02497, 0.27497, 0.27497, -0.0249701),
-		Vector2Array(1.02497, 0.27497, 0.72503, -0.0249701, 0.72503, 0.27497, 1.02497, -0.0249701),
+		Vector2Array(-0.02497, 0.27497, 0.27497, 0.27497, 0.27497, -0.0249701, -0.02497, -0.0249701),
+		Vector2Array(0.72503, 0.27497, 1.02497, 0.27497, 1.02497, -0.0249701, 0.72503, -0.0249701),
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 0, 1, 3)
+		IntArray(0, 2, 1, 0, 3, 2)
 	],
 	"morph_arrays":[]
 }
@@ -44,15 +44,15 @@ resource_name = "Cube001"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(-1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0),
-		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0),
-		FloatArray(0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, -1.0, 0.0, 0.0, 1.0, -1.0, 0.0, 0.0, 1.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, -2.98023e-08, 0.0, 1.0, 1.0, -2.98023e-08, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, -1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, -5.96047e-08, 0.0, 1.0, 1.0),
+		Vector3Array(-1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0),
+		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
+		FloatArray(0.0, -1.49012e-08, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, -1.49012e-08, 1.0, 1.0, 0.0, -2.98023e-08, 1.0, 1.0, -1.0, -1.49012e-08, 0.0, 1.0, -1.0, 0.0, 0.0, 1.0, -1.0, -1.49012e-08, 0.0, 1.0, -1.0, -2.98023e-08, 0.0, 1.0, 0.0, -1.49012e-08, -1.0, 1.0, 0.0, 0.0, -1.0, 1.0, 0.0, -1.49012e-08, -1.0, 1.0, 0.0, -2.98023e-08, -1.0, 1.0, 1.0, -1.49012e-08, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, -1.49012e-08, 0.0, 1.0, 1.0, -2.98023e-08, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0),
 		null, ; no Vertex Colors,
-		Vector2Array(1.0, 0.0, 2.98023e-08, 1.0, 1.0, 1.0, 1.0, 0.0, 2.98023e-08, 1.0, 1.0, 1.0, 1.0, 0.0, 2.98023e-08, 1.0, 1.0, 1.0, 1.0, 0.0, 2.98023e-08, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, -5.96046e-08, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0),
+		Vector2Array(1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 2.98023e-08, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 2.98023e-08, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 2.98023e-08, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 2.98023e-08, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, -5.96046e-08, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0),
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 3, 4, 19, 6, 7, 20, 9, 10, 21, 12, 13, 22, 15, 16, 23)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }

+ 4 - 4
tests/reference_exports/mesh/vertex_color.escn

@@ -6,15 +6,15 @@ resource_name = "Plane"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(2.0, 0.0, -1.33333, 1.33333, 0.0, -2.0, 1.33333, 0.0, -1.33333, -1.33333, 0.0, -1.33333, -2.0, 0.0, -2.0, -2.0, 0.0, -1.33333, -0.666667, 0.0, -1.33333, -1.33333, 0.0, -2.0, -3.97364e-08, 0.0, -1.33333, -0.666667, 0.0, -2.0, 0.666667, 0.0, -1.33333, -5.96046e-08, 0.0, -2.0, 0.666667, 0.0, -2.0, -1.33333, 0.0, 2.0, -2.0, 0.0, 1.33333, -2.0, 0.0, 2.0, -1.33333, 0.0, 1.33333, -2.0, 0.0, 0.666667, -1.33333, 0.0, 0.666667, -2.0, 0.0, 5.96046e-08, -2.0, 0.0, 0.666667, -1.33333, 0.0, -5.96046e-08, -2.0, 0.0, -0.666667, -1.33333, 0.0, -0.666667, -2.0, 0.0, -0.666667, -0.666667, 0.0, 2.0, -0.666667, 0.0, 1.33333, -1.33333, 0.0, 0.666667, -0.666667, 0.0, 0.666667, -1.33333, 0.0, -5.96046e-08, -0.666667, 0.0, -5.96046e-08, -0.666667, 0.0, -0.666667, 5.96046e-08, 0.0, 2.0, 3.97364e-08, 0.0, 1.33333, 1.98682e-08, 0.0, 0.666667, -1.77636e-15, 0.0, -5.96046e-08, -1.98682e-08, 0.0, -0.666667, 0.666667, 0.0, 2.0, 3.97364e-08, 0.0, 1.33333, 5.96046e-08, 0.0, 2.0, 0.666667, 0.0, 1.33333, 1.98682e-08, 0.0, 0.666667, 0.666667, 0.0, 0.666667, 0.666667, 0.0, -5.96046e-08, 0.666667, 0.0, -0.666667, 1.33333, 0.0, 2.0, 0.666667, 0.0, 1.33333, 0.666667, 0.0, 2.0, 1.33333, 0.0, 1.33333, 1.33333, 0.0, 0.666667, 1.33333, 0.0, -5.96046e-08, 1.33333, 0.0, -0.666667, 2.0, 0.0, 2.0, 2.0, 0.0, 1.33333, 2.0, 0.0, 0.666667, 2.0, 0.0, -5.96046e-08, 2.0, 0.0, -0.666667, 2.0, 0.0, -2.0, -1.33333, 0.0, -0.666667, -1.77636e-15, 0.0, -5.96046e-08, -1.98682e-08, 0.0, -0.666667, -0.666667, 0.0, -0.666667, 0.666667, 0.0, 0.666667, 1.33333, 0.0, 1.33333, 1.33333, 0.0, 0.666667, 1.33333, 0.0, -5.96046e-08, 0.666667, 0.0, -5.96046e-08, 1.33333, 0.0, -0.666667, 0.666667, 0.0, -0.666667),
-		Vector3Array(0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
+		Vector3Array(1.33333, 0.0, -1.33333, 2.0, 0.0, -1.33333, 2.0, 0.0, -2.0, 1.33333, 0.0, -2.0, -2.0, 0.0, -1.33333, -1.33333, 0.0, -1.33333, -1.33333, 0.0, -2.0, -2.0, 0.0, -2.0, -1.33333, 0.0, -1.33333, -0.666667, 0.0, -1.33333, -0.666667, 0.0, -2.0, -1.33333, 0.0, -2.0, -3.97364e-08, 0.0, -1.33333, -5.96046e-08, 0.0, -2.0, 0.666667, 0.0, -1.33333, 0.666667, 0.0, -2.0, 1.33333, 0.0, -1.33333, 1.33333, 0.0, -2.0, -2.0, 0.0, 2.0, -1.33333, 0.0, 2.0, -1.33333, 0.0, 1.33333, -2.0, 0.0, 1.33333, -2.0, 0.0, 1.33333, -1.33333, 0.0, 1.33333, -1.33333, 0.0, 0.666667, -2.0, 0.0, 0.666667, -1.33333, 0.0, -5.96046e-08, -2.0, 0.0, 5.96046e-08, -1.33333, 0.0, -0.666667, -2.0, 0.0, -0.666667, -1.33333, 0.0, 2.0, -0.666667, 0.0, 2.0, -0.666667, 0.0, 1.33333, -0.666667, 0.0, 1.33333, -0.666667, 0.0, 0.666667, -1.33333, 0.0, 0.666667, -0.666667, 0.0, -5.96046e-08, -1.33333, 0.0, -5.96046e-08, -0.666667, 0.0, -0.666667, -1.33333, 0.0, -0.666667, -0.666667, 0.0, -0.666667, -0.666667, 0.0, -1.33333, 5.96046e-08, 0.0, 2.0, 3.97364e-08, 0.0, 1.33333, 3.97364e-08, 0.0, 1.33333, 1.98682e-08, 0.0, 0.666667, -1.77636e-15, 0.0, -5.96046e-08, -1.98682e-08, 0.0, -0.666667, 5.96046e-08, 0.0, 2.0, 0.666667, 0.0, 2.0, 0.666667, 0.0, 1.33333, 0.666667, 0.0, 1.33333, 0.666667, 0.0, 0.666667, 1.98682e-08, 0.0, 0.666667, 0.666667, 0.0, 0.666667, 0.666667, 0.0, -5.96046e-08, 0.666667, 0.0, -0.666667, 0.666667, 0.0, 2.0, 1.33333, 0.0, 2.0, 1.33333, 0.0, 1.33333, 1.33333, 0.0, 1.33333, 1.33333, 0.0, 0.666667, 1.33333, 0.0, -5.96046e-08, 1.33333, 0.0, -0.666667, 2.0, 0.0, 2.0, 2.0, 0.0, 1.33333, 2.0, 0.0, 1.33333, 2.0, 0.0, 0.666667, 2.0, 0.0, -5.96046e-08, 2.0, 0.0, -0.666667, 2.0, 0.0, -1.33333),
+		Vector3Array(0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
-		ColorArray(1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.360361, 0.15128, 1.0, 0.0, 0.410703, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.110395, 0.41585, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.341576, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.410703, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.410703, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.167429, 1.0, 0.167429, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.341576, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.341576, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.341576, 0.0, 1.0, 1.0, 0.341576, 0.0, 1.0, 1.0, 0.394777, 0.229437, 1.0, 1.0, 0.354232, 0.132737, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.167429, 1.0, 0.167429, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.341576, 0.0, 1.0, 1.0, 0.341576, 0.0, 1.0, 1.0, 0.394777, 0.229437, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.354232, 0.132737, 1.0, 1.0, 1.0, 1.0, 1.0),
+		ColorArray(1.0, 0.360361, 0.15128, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.410703, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.410703, 1.0, 1.0, 0.110395, 0.41585, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.341576, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.360361, 0.15128, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.410703, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.410703, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.410703, 1.0, 1.0, 0.0, 0.410703, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.110395, 0.41585, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.167429, 1.0, 0.167429, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.341576, 0.0, 1.0, 1.0, 0.341576, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.341576, 0.0, 1.0, 1.0, 0.341576, 0.0, 1.0, 1.0, 0.341576, 0.0, 1.0, 1.0, 0.394777, 0.229437, 1.0, 1.0, 0.354232, 0.132737, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0),
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 3, 7, 8, 6, 9, 10, 8, 11, 2, 10, 12, 13, 15, 14, 16, 14, 17, 18, 20, 19, 21, 19, 22, 23, 24, 5, 25, 13, 16, 26, 16, 27, 28, 27, 29, 30, 29, 23, 31, 23, 3, 32, 25, 26, 33, 26, 28, 34, 28, 30, 35, 30, 31, 36, 31, 6, 37, 39, 38, 40, 38, 41, 42, 34, 35, 43, 35, 36, 44, 36, 8, 45, 47, 46, 48, 46, 42, 49, 42, 43, 50, 43, 44, 51, 44, 10, 52, 45, 48, 53, 48, 49, 54, 49, 50, 55, 50, 51, 56, 51, 2, 0, 1, 57, 3, 4, 7, 6, 7, 9, 8, 9, 11, 10, 11, 12, 2, 12, 1, 13, 14, 16, 16, 17, 27, 18, 19, 21, 21, 22, 58, 23, 5, 3, 25, 16, 26, 26, 27, 28, 28, 29, 30, 30, 23, 31, 31, 3, 6, 32, 26, 33, 33, 28, 34, 34, 30, 35, 59, 61, 60, 36, 6, 8, 47, 33, 46, 40, 41, 62, 42, 35, 43, 43, 36, 44, 44, 8, 10, 45, 46, 48, 63, 62, 64, 64, 66, 65, 65, 68, 67, 51, 10, 2, 52, 48, 53, 53, 49, 54, 54, 50, 55, 55, 51, 56, 56, 2, 0)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 9, 13, 12, 9, 10, 13, 12, 15, 14, 12, 13, 15, 14, 17, 16, 14, 15, 17, 18, 20, 19, 18, 21, 20, 22, 24, 23, 22, 25, 24, 25, 26, 24, 25, 27, 26, 27, 28, 26, 27, 29, 28, 29, 5, 28, 29, 4, 5, 30, 32, 31, 30, 23, 32, 20, 34, 33, 20, 35, 34, 35, 36, 34, 35, 37, 36, 37, 38, 36, 37, 39, 38, 28, 41, 40, 28, 5, 41, 31, 43, 42, 31, 32, 43, 33, 45, 44, 33, 34, 45, 34, 46, 45, 34, 36, 46, 36, 47, 46, 36, 38, 47, 38, 12, 47, 38, 9, 12, 48, 50, 49, 48, 44, 50, 43, 52, 51, 43, 53, 52, 45, 55, 54, 45, 46, 55, 46, 56, 55, 46, 47, 56, 47, 14, 56, 47, 12, 14, 57, 59, 58, 57, 51, 59, 50, 61, 60, 50, 54, 61, 54, 62, 61, 54, 55, 62, 55, 63, 62, 55, 56, 63, 56, 16, 63, 56, 14, 16, 58, 65, 64, 58, 59, 65, 60, 67, 66, 60, 61, 67, 61, 68, 67, 61, 62, 68, 62, 69, 68, 62, 63, 69, 63, 70, 69, 63, 16, 70)
 	],
 	"morph_arrays":[]
 }

+ 9 - 9
tests/reference_exports/misc/duplicate_name.escn

@@ -6,15 +6,15 @@ resource_name = "Cube002"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(-1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0),
-		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0),
+		Vector3Array(-1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0),
+		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 3, 4, 19, 6, 7, 20, 9, 10, 21, 12, 13, 22, 15, 16, 23)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }
@@ -25,15 +25,15 @@ resource_name = "Cube001"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(-1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0),
-		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0),
+		Vector3Array(-1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0),
+		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 3, 4, 19, 6, 7, 20, 9, 10, 21, 12, 13, 22, 15, 16, 23)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }
@@ -44,15 +44,15 @@ resource_name = "Cube"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 0.999999, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
-		Vector3Array(2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0),
+		Vector3Array(1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
+		Vector3Array(0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 18, 20, 19, 21, 23, 22, 24, 26, 25, 27, 29, 28, 30, 32, 31, 33, 35, 34)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }

Plik diff jest za duży
+ 0 - 0
tests/reference_exports/misc/invisible_objects.escn


+ 3 - 3
tests/reference_exports/nla_animation/animation_multi_strip.escn

@@ -6,15 +6,15 @@ resource_name = "Cube"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 0.999999, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
-		Vector3Array(2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0),
+		Vector3Array(1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
+		Vector3Array(0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 18, 20, 19, 21, 23, 22, 24, 26, 25, 27, 29, 28, 30, 32, 31, 33, 35, 34)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }

+ 3 - 3
tests/reference_exports/nla_animation/animation_with_empty_strip.escn

@@ -6,15 +6,15 @@ resource_name = "Cube001"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(-1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0),
-		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0),
+		Vector3Array(-1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0),
+		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 3, 4, 19, 6, 7, 20, 9, 10, 21, 12, 13, 22, 15, 16, 23)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }

Plik diff jest za duży
+ 0 - 0
tests/reference_exports/nla_animation/nla_with_active_action.escn


Plik diff jest za duży
+ 0 - 0
tests/reference_exports/nla_animation/nla_with_no_active_action.escn


Plik diff jest za duży
+ 0 - 0
tests/reference_exports/nla_animation/nla_with_stashed_action.escn


+ 6 - 6
tests/reference_exports/scene_animation/animation_parented_objects.escn

@@ -6,15 +6,15 @@ resource_name = "Cube"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 0.999999, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
-		Vector3Array(2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0),
+		Vector3Array(1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
+		Vector3Array(0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, 1.0, 4.47034e-08, 2.83122e-07, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -2.83122e-07, -1.04308e-07, 1.0, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, -1.0, -1.3411e-07, -2.23517e-07, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0, 2.38419e-07, 2.08616e-07, -1.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 18, 20, 19, 21, 23, 22, 24, 26, 25, 27, 29, 28, 30, 32, 31, 33, 35, 34)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }
@@ -40,15 +40,15 @@ resource_name = "Cube001"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(-1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0),
-		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0),
+		Vector3Array(-1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0),
+		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 3, 4, 19, 6, 7, 20, 9, 10, 21, 12, 13, 22, 15, 16, 23)
+		IntArray(0, 2, 1, 0, 3, 2, 4, 6, 5, 4, 7, 6, 8, 10, 9, 8, 11, 10, 12, 14, 13, 12, 15, 14, 16, 18, 17, 16, 19, 18, 20, 22, 21, 20, 23, 22)
 	],
 	"morph_arrays":[]
 }

Plik diff jest za duży
+ 0 - 0
tests/reference_exports/shape_key/animation_shapekey.escn


Plik diff jest za duży
+ 0 - 0
tests/reference_exports/shape_key/animation_shapekey_with_transform.escn


Plik diff jest za duży
+ 0 - 0
tests/reference_exports/shape_key/just_shapekey.escn


Plik diff jest za duży
+ 0 - 0
tests/reference_exports/shape_key/shapekey_with_multi_surface.escn


Plik diff jest za duży
+ 0 - 0
tests/reference_exports/shape_key/shapekey_with_pose.escn


Plik diff jest za duży
+ 0 - 0
tests/reference_exports/shape_key/shapekey_with_subdivision.escn


Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików