summaryrefslogtreecommitdiffstats
path: root/modules/csg/csg_shape.cpp
diff options
context:
space:
mode:
authorBastiaan Olij <mux213@gmail.com>2018-11-17 12:11:35 +1100
committerBastiaan Olij <mux213@gmail.com>2018-11-19 22:27:05 +1100
commitbcef4b8dc6d0c74802a1120d5082c2f151d76f73 (patch)
treeae12fb4199274780b25e86ab6ee29fbe500e8e89 /modules/csg/csg_shape.cpp
parent6ed1be9637a5f9954d3884eac66ae93779ed9dd6 (diff)
downloadredot-engine-bcef4b8dc6d0c74802a1120d5082c2f151d76f73.tar.gz
Fixing tangent and binormal logic
Diffstat (limited to 'modules/csg/csg_shape.cpp')
-rw-r--r--modules/csg/csg_shape.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/modules/csg/csg_shape.cpp b/modules/csg/csg_shape.cpp
index 23d879e1cd..8209d2219f 100644
--- a/modules/csg/csg_shape.cpp
+++ b/modules/csg/csg_shape.cpp
@@ -201,10 +201,9 @@ void CSGShape::mikktSetTSpaceBasic(const SMikkTSpaceContext *pContext, const flo
int i = (iFace * 3 + iVert) * 4;
- // Godot seems to want the tangent flipped because our handedness is reversed..
- surface.tansw[i++] = -fvTangent[0];
- surface.tansw[i++] = -fvTangent[1];
- surface.tansw[i++] = -fvTangent[2];
+ surface.tansw[i++] = fvTangent[0];
+ surface.tansw[i++] = fvTangent[1];
+ surface.tansw[i++] = fvTangent[2];
surface.tansw[i++] = fSign;
}
@@ -219,11 +218,10 @@ void CSGShape::mikktSetTSpaceDefault(const SMikkTSpaceContext *pContext, const f
Vector3 bitangent = Vector3(fvBiTangent[0], fvBiTangent[1], fvBiTangent[2]);
float d = bitangent.dot(normal.cross(tangent));
- // Godot seems to want the tangent flipped because our handedness is reversed..
i *= 4;
- surface.tansw[i++] = -tangent.x;
- surface.tansw[i++] = -tangent.y;
- surface.tansw[i++] = -tangent.z;
+ surface.tansw[i++] = tangent.x;
+ surface.tansw[i++] = tangent.y;
+ surface.tansw[i++] = tangent.z;
surface.tansw[i++] = d < 0 ? -1 : 1;
}