# HG changeset patch
# User Sam <sam@basx.dev>
# Date 1691860777 -25200
# Node ID f68e88237c95bb7a3ee3d04c8e59716fecb2c503
# Parent  a2c14402acd2624c72bc2ccc91d3c760cc17cf26
fix: gltf import transform

diff -r a2c14402acd2 -r f68e88237c95 src/semicongine/resources/mesh.nim
--- a/src/semicongine/resources/mesh.nim	Sat Aug 12 23:55:05 2023 +0700
+++ b/src/semicongine/resources/mesh.nim	Sun Aug 13 00:19:37 2023 +0700
@@ -153,13 +153,15 @@
         for entry in getValues[uint16](data)[]:
           tri.add uint32(entry) + baseIndex
           if tri.len == 3:
-            mesh.appendIndicesData(tri[0], tri[1], tri[2])
+            # FYI gltf uses counter-clockwise indexing
+            mesh.appendIndicesData(tri[0], tri[2], tri[1])
             tri.setLen(0)
       of UInt32:
         for entry in getValues[uint32](data)[]:
           tri.add uint32(entry)
           if tri.len == 3:
-            mesh.appendIndicesData(tri[0], tri[1], tri[2])
+            # FYI gltf uses counter-clockwise indexing
+            mesh.appendIndicesData(tri[0], tri[2], tri[1])
             tri.setLen(0)
       else:
         raise newException(Exception, &"Unsupported index data type: {data.thetype}")
@@ -247,7 +249,6 @@
   var rootEntity = newEntity("<root>")
   for nodeId in scenenode["nodes"]:
     var node = loadNode(root, root["nodes"][nodeId.getInt()], mainBuffer)
-    node.transform = node.transform * scale3d(1'f32, -1'f32, 1'f32)
     rootEntity.add node
 
   newScene(scenenode["name"].getStr(), rootEntity)