|
@@ -306,7 +306,7 @@ void CapsuleMesh::_create_mesh_array(Array &p_arr) const {
|
|
|
Vector3 p = Vector3(x * radius * w, y * radius * w, z);
|
|
|
points.push_back(p + Vector3(0.0, 0.0, 0.5 * mid_height));
|
|
|
normals.push_back(p.normalized());
|
|
|
- ADD_TANGENT(y, -x, 0.0, -1.0)
|
|
|
+ ADD_TANGENT(-y, x, 0.0, -1.0)
|
|
|
uvs.push_back(Vector2(u, v * onethird));
|
|
|
point++;
|
|
|
|
|
@@ -345,7 +345,7 @@ void CapsuleMesh::_create_mesh_array(Array &p_arr) const {
|
|
|
Vector3 p = Vector3(x * radius, y * radius, z);
|
|
|
points.push_back(p);
|
|
|
normals.push_back(Vector3(x, y, 0.0));
|
|
|
- ADD_TANGENT(y, -x, 0.0, -1.0)
|
|
|
+ ADD_TANGENT(-y, x, 0.0, -1.0)
|
|
|
uvs.push_back(Vector2(u, onethird + (v * onethird)));
|
|
|
point++;
|
|
|
|
|
@@ -385,7 +385,7 @@ void CapsuleMesh::_create_mesh_array(Array &p_arr) const {
|
|
|
Vector3 p = Vector3(x * radius * w, y * radius * w, z);
|
|
|
points.push_back(p + Vector3(0.0, 0.0, -0.5 * mid_height));
|
|
|
normals.push_back(p.normalized());
|
|
|
- ADD_TANGENT(y, -x, 0.0, -1.0)
|
|
|
+ ADD_TANGENT(-y, x, 0.0, -1.0)
|
|
|
uvs.push_back(Vector2(u, twothirds + ((v - 1.0) * onethird)));
|
|
|
point++;
|
|
|
|
|
@@ -514,14 +514,14 @@ void CubeMesh::_create_mesh_array(Array &p_arr) const {
|
|
|
// front
|
|
|
points.push_back(Vector3(x, -y, -start_pos.z)); // double negative on the Z!
|
|
|
normals.push_back(Vector3(0.0, 0.0, 1.0));
|
|
|
- ADD_TANGENT(-1.0, 0.0, 0.0, -1.0);
|
|
|
+ ADD_TANGENT(1.0, 0.0, 0.0, -1.0);
|
|
|
uvs.push_back(Vector2(u, v));
|
|
|
point++;
|
|
|
|
|
|
// back
|
|
|
points.push_back(Vector3(-x, -y, start_pos.z));
|
|
|
normals.push_back(Vector3(0.0, 0.0, -1.0));
|
|
|
- ADD_TANGENT(1.0, 0.0, 0.0, -1.0);
|
|
|
+ ADD_TANGENT(-1.0, 0.0, 0.0, -1.0);
|
|
|
uvs.push_back(Vector2(twothirds + u, v));
|
|
|
point++;
|
|
|
|
|
@@ -568,14 +568,14 @@ void CubeMesh::_create_mesh_array(Array &p_arr) const {
|
|
|
// right
|
|
|
points.push_back(Vector3(-start_pos.x, -y, -z));
|
|
|
normals.push_back(Vector3(1.0, 0.0, 0.0));
|
|
|
- ADD_TANGENT(0.0, 0.0, 1.0, -1.0);
|
|
|
+ ADD_TANGENT(0.0, 0.0, -1.0, -1.0);
|
|
|
uvs.push_back(Vector2(onethird + u, v));
|
|
|
point++;
|
|
|
|
|
|
// left
|
|
|
points.push_back(Vector3(start_pos.x, -y, z));
|
|
|
normals.push_back(Vector3(-1.0, 0.0, 0.0));
|
|
|
- ADD_TANGENT(0.0, 0.0, -1.0, -1.0);
|
|
|
+ ADD_TANGENT(0.0, 0.0, 1.0, -1.0);
|
|
|
uvs.push_back(Vector2(u, 0.5 + v));
|
|
|
point++;
|
|
|
|
|
@@ -622,14 +622,14 @@ void CubeMesh::_create_mesh_array(Array &p_arr) const {
|
|
|
// top
|
|
|
points.push_back(Vector3(-x, -start_pos.y, -z));
|
|
|
normals.push_back(Vector3(0.0, 1.0, 0.0));
|
|
|
- ADD_TANGENT(1.0, 0.0, 0.0, -1.0);
|
|
|
+ ADD_TANGENT(-1.0, 0.0, 0.0, -1.0);
|
|
|
uvs.push_back(Vector2(onethird + u, 0.5 + v));
|
|
|
point++;
|
|
|
|
|
|
// bottom
|
|
|
points.push_back(Vector3(x, start_pos.y, -z));
|
|
|
normals.push_back(Vector3(0.0, -1.0, 0.0));
|
|
|
- ADD_TANGENT(-1.0, 0.0, 0.0, -1.0);
|
|
|
+ ADD_TANGENT(1.0, 0.0, 0.0, -1.0);
|
|
|
uvs.push_back(Vector2(twothirds + u, 0.5 + v));
|
|
|
point++;
|
|
|
|
|
@@ -773,7 +773,7 @@ void CylinderMesh::_create_mesh_array(Array &p_arr) const {
|
|
|
Vector3 p = Vector3(x * radius, y, z * radius);
|
|
|
points.push_back(p);
|
|
|
normals.push_back(Vector3(x, 0.0, z));
|
|
|
- ADD_TANGENT(-z, 0.0, x, -1.0)
|
|
|
+ ADD_TANGENT(z, 0.0, -x, -1.0)
|
|
|
uvs.push_back(Vector2(u, v * 0.5));
|
|
|
point++;
|
|
|
|
|
@@ -799,7 +799,7 @@ void CylinderMesh::_create_mesh_array(Array &p_arr) const {
|
|
|
thisrow = point;
|
|
|
points.push_back(Vector3(0.0, y, 0.0));
|
|
|
normals.push_back(Vector3(0.0, 1.0, 0.0));
|
|
|
- ADD_TANGENT(1.0, 0.0, 0.0, 1.0)
|
|
|
+ ADD_TANGENT(1.0, 0.0, 0.0, -1.0)
|
|
|
uvs.push_back(Vector2(0.25, 0.75));
|
|
|
point++;
|
|
|
|
|
@@ -816,7 +816,7 @@ void CylinderMesh::_create_mesh_array(Array &p_arr) const {
|
|
|
Vector3 p = Vector3(x * top_radius, y, z * top_radius);
|
|
|
points.push_back(p);
|
|
|
normals.push_back(Vector3(0.0, 1.0, 0.0));
|
|
|
- ADD_TANGENT(1.0, 0.0, 0.0, 1.0)
|
|
|
+ ADD_TANGENT(1.0, 0.0, 0.0, -1.0)
|
|
|
uvs.push_back(Vector2(u, v));
|
|
|
point++;
|
|
|
|
|
@@ -835,7 +835,7 @@ void CylinderMesh::_create_mesh_array(Array &p_arr) const {
|
|
|
thisrow = point;
|
|
|
points.push_back(Vector3(0.0, y, 0.0));
|
|
|
normals.push_back(Vector3(0.0, -1.0, 0.0));
|
|
|
- ADD_TANGENT(-1.0, 0.0, 0.0, -1.0)
|
|
|
+ ADD_TANGENT(1.0, 0.0, 0.0, -1.0)
|
|
|
uvs.push_back(Vector2(0.75, 0.75));
|
|
|
point++;
|
|
|
|
|
@@ -852,7 +852,7 @@ void CylinderMesh::_create_mesh_array(Array &p_arr) const {
|
|
|
Vector3 p = Vector3(x * bottom_radius, y, z * bottom_radius);
|
|
|
points.push_back(p);
|
|
|
normals.push_back(Vector3(0.0, -1.0, 0.0));
|
|
|
- ADD_TANGENT(-1.0, 0.0, 0.0, -1.0)
|
|
|
+ ADD_TANGENT(1.0, 0.0, 0.0, -1.0)
|
|
|
uvs.push_back(Vector2(u, v));
|
|
|
point++;
|
|
|
|
|
@@ -983,7 +983,7 @@ void PlaneMesh::_create_mesh_array(Array &p_arr) const {
|
|
|
points.push_back(Vector3(-x, 0.0, -z));
|
|
|
normals.push_back(Vector3(0.0, 1.0, 0.0));
|
|
|
ADD_TANGENT(1.0, 0.0, 0.0, -1.0);
|
|
|
- uvs.push_back(Vector2(u, v));
|
|
|
+ uvs.push_back(Vector2(1.0 - u, 1.0 - v)); /* 1.0 - uv to match orientation with Quad */
|
|
|
point++;
|
|
|
|
|
|
if (i > 0 && j > 0) {
|
|
@@ -1108,14 +1108,14 @@ void PrismMesh::_create_mesh_array(Array &p_arr) const {
|
|
|
/* front */
|
|
|
points.push_back(Vector3(start_x + x, -y, -start_pos.z)); // double negative on the Z!
|
|
|
normals.push_back(Vector3(0.0, 0.0, 1.0));
|
|
|
- ADD_TANGENT(-1.0, 0.0, 0.0, -1.0);
|
|
|
+ ADD_TANGENT(1.0, 0.0, 0.0, -1.0);
|
|
|
uvs.push_back(Vector2(offset_front + u, v));
|
|
|
point++;
|
|
|
|
|
|
/* back */
|
|
|
points.push_back(Vector3(start_x + scaled_size_x - x, -y, start_pos.z));
|
|
|
normals.push_back(Vector3(0.0, 0.0, -1.0));
|
|
|
- ADD_TANGENT(1.0, 0.0, 0.0, -1.0);
|
|
|
+ ADD_TANGENT(-1.0, 0.0, 0.0, -1.0);
|
|
|
uvs.push_back(Vector2(twothirds + offset_back + u, v));
|
|
|
point++;
|
|
|
|
|
@@ -1187,14 +1187,14 @@ void PrismMesh::_create_mesh_array(Array &p_arr) const {
|
|
|
/* right */
|
|
|
points.push_back(Vector3(right, -y, -z));
|
|
|
normals.push_back(normal_right);
|
|
|
- ADD_TANGENT(0.0, 0.0, 1.0, -1.0);
|
|
|
+ ADD_TANGENT(0.0, 0.0, -1.0, -1.0);
|
|
|
uvs.push_back(Vector2(onethird + u, v));
|
|
|
point++;
|
|
|
|
|
|
/* left */
|
|
|
points.push_back(Vector3(left, -y, z));
|
|
|
normals.push_back(normal_left);
|
|
|
- ADD_TANGENT(0.0, 0.0, -1.0, -1.0);
|
|
|
+ ADD_TANGENT(0.0, 0.0, 1.0, -1.0);
|
|
|
uvs.push_back(Vector2(u, 0.5 + v));
|
|
|
point++;
|
|
|
|
|
@@ -1241,7 +1241,7 @@ void PrismMesh::_create_mesh_array(Array &p_arr) const {
|
|
|
/* bottom */
|
|
|
points.push_back(Vector3(x, start_pos.y, -z));
|
|
|
normals.push_back(Vector3(0.0, -1.0, 0.0));
|
|
|
- ADD_TANGENT(-1.0, 0.0, 0.0, -1.0);
|
|
|
+ ADD_TANGENT(1.0, 0.0, 0.0, -1.0);
|
|
|
uvs.push_back(Vector2(twothirds + u, 0.5 + v));
|
|
|
point++;
|
|
|
|
|
@@ -1382,7 +1382,7 @@ void QuadMesh::_create_mesh_array(Array &p_arr) const {
|
|
|
tangents.set(i * 4 + 0, 1.0);
|
|
|
tangents.set(i * 4 + 1, 0.0);
|
|
|
tangents.set(i * 4 + 2, 0.0);
|
|
|
- tangents.set(i * 4 + 3, 1.0);
|
|
|
+ tangents.set(i * 4 + 3, -1.0);
|
|
|
|
|
|
static const Vector2 quad_uv[4] = {
|
|
|
Vector2(0, 1),
|
|
@@ -1468,7 +1468,7 @@ void SphereMesh::_create_mesh_array(Array &p_arr) const {
|
|
|
points.push_back(p);
|
|
|
normals.push_back(p.normalized());
|
|
|
};
|
|
|
- ADD_TANGENT(-z, 0.0, x, -1.0)
|
|
|
+ ADD_TANGENT(z, 0.0, -x, -1.0)
|
|
|
uvs.push_back(Vector2(u, v));
|
|
|
point++;
|
|
|
|