diff options
| author | Rémi Verschelde <remi@verschelde.fr> | 2021-02-01 20:55:25 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-01 20:55:25 +0100 |
| commit | d2e121650476af0a91bc24ea38253428e97f9695 (patch) | |
| tree | 22b120a76f0430faa9e4a9383f7c0c83557616b6 /servers/rendering_server.cpp | |
| parent | 264504d76d2c1ea374d5508e6a2634e2b5002d84 (diff) | |
| parent | 1d5042c9e265219dec8da7311879f12ef3ef698b (diff) | |
| download | redot-engine-d2e121650476af0a91bc24ea38253428e97f9695.tar.gz | |
Merge pull request #37547 from aaronfranke/tau
Use Math_TAU and deg2rad/etc in more places and optimize code
Diffstat (limited to 'servers/rendering_server.cpp')
| -rw-r--r-- | servers/rendering_server.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/servers/rendering_server.cpp b/servers/rendering_server.cpp index 9ac66cd4bf..7059045a5d 100644 --- a/servers/rendering_server.cpp +++ b/servers/rendering_server.cpp @@ -242,22 +242,24 @@ RID RenderingServer::_make_test_cube() { RID RenderingServer::make_sphere_mesh(int p_lats, int p_lons, float p_radius) { Vector<Vector3> vertices; Vector<Vector3> normals; + const double lat_step = Math_TAU / p_lats; + const double lon_step = Math_TAU / p_lons; for (int i = 1; i <= p_lats; i++) { - double lat0 = Math_PI * (-0.5 + (double)(i - 1) / p_lats); + double lat0 = lat_step * (i - 1) - Math_TAU / 4; double z0 = Math::sin(lat0); double zr0 = Math::cos(lat0); - double lat1 = Math_PI * (-0.5 + (double)i / p_lats); + double lat1 = lat_step * i - Math_TAU / 4; double z1 = Math::sin(lat1); double zr1 = Math::cos(lat1); for (int j = p_lons; j >= 1; j--) { - double lng0 = 2 * Math_PI * (double)(j - 1) / p_lons; + double lng0 = lon_step * (j - 1); double x0 = Math::cos(lng0); double y0 = Math::sin(lng0); - double lng1 = 2 * Math_PI * (double)(j) / p_lons; + double lng1 = lon_step * j; double x1 = Math::cos(lng1); double y1 = Math::sin(lng1); |
