Skip to content

Commit

Permalink
Update rmodels.c - 'fix' for GenMeshSphere artifact (#4460)
Browse files Browse the repository at this point in the history
When creating a new sphere mesh with high number of slices/rings the top and bottom parts of the generated sphere are removed. This happens because the triangles in those parts, due to high resolution, end up being very small and are removed as part of the 'par_shapes' library's optimization. Adding par_shapes_set_epsilon_degenerate_sphere(0.0); before generating the sphere mesh sets the threshold for removal of small triangles is removed and the sphere is returned to raylib correctly.
  • Loading branch information
MikiZX1 authored Nov 1, 2024
1 parent 9e2591e commit 8e5d5f8
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions src/rmodels.c
Original file line number Diff line number Diff line change
Expand Up @@ -2820,6 +2820,7 @@ Mesh GenMeshSphere(float radius, int rings, int slices)

if ((rings >= 3) && (slices >= 3))
{
par_shapes_set_epsilon_degenerate_sphere(0.0);
par_shapes_mesh *sphere = par_shapes_create_parametric_sphere(slices, rings);
par_shapes_scale(sphere, radius, radius, radius);
// NOTE: Soft normals are computed internally
Expand Down

0 comments on commit 8e5d5f8

Please sign in to comment.