You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-12 13:20:55 +00:00
Revert "Fixes the normals of SphereMesh when the sphere/hemisphere is oblong"
This reverts commit c4d0074aae.
It caused regression #52965.
This commit is contained in:
@@ -1456,8 +1456,6 @@ void SphereMesh::_create_mesh_array(Array &p_arr) const {
|
|||||||
int i, j, prevrow, thisrow, point;
|
int i, j, prevrow, thisrow, point;
|
||||||
float x, y, z;
|
float x, y, z;
|
||||||
|
|
||||||
float scale = height * (is_hemisphere ? 1.0 : 0.5);
|
|
||||||
|
|
||||||
// set our bounding box
|
// set our bounding box
|
||||||
|
|
||||||
PoolVector<Vector3> points;
|
PoolVector<Vector3> points;
|
||||||
@@ -1481,7 +1479,7 @@ void SphereMesh::_create_mesh_array(Array &p_arr) const {
|
|||||||
|
|
||||||
v /= (rings + 1);
|
v /= (rings + 1);
|
||||||
w = sin(Math_PI * v);
|
w = sin(Math_PI * v);
|
||||||
y = scale * cos(Math_PI * v);
|
y = height * (is_hemisphere ? 1.0 : 0.5) * cos(Math_PI * v);
|
||||||
|
|
||||||
for (i = 0; i <= radial_segments; i++) {
|
for (i = 0; i <= radial_segments; i++) {
|
||||||
float u = i;
|
float u = i;
|
||||||
@@ -1496,8 +1494,7 @@ void SphereMesh::_create_mesh_array(Array &p_arr) const {
|
|||||||
} else {
|
} else {
|
||||||
Vector3 p = Vector3(x * radius * w, y, z * radius * w);
|
Vector3 p = Vector3(x * radius * w, y, z * radius * w);
|
||||||
points.push_back(p);
|
points.push_back(p);
|
||||||
Vector3 normal = Vector3(x * radius * w * scale, y / scale, z * radius * w * scale);
|
normals.push_back(p.normalized());
|
||||||
normals.push_back(normal.normalized());
|
|
||||||
};
|
};
|
||||||
ADD_TANGENT(z, 0.0, -x, 1.0)
|
ADD_TANGENT(z, 0.0, -x, 1.0)
|
||||||
uvs.push_back(Vector2(u, v));
|
uvs.push_back(Vector2(u, v));
|
||||||
|
|||||||
Reference in New Issue
Block a user