From 89dedfe78847dfc19c7e1d63f13c5d8fe368fefa Mon Sep 17 00:00:00 2001 From: korenkonder Date: Sat, 20 Apr 2024 22:39:33 +0300 Subject: [PATCH] Simplify Sphere Etc Mesh --- src/DivaGL/mdl/disp_manager.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/DivaGL/mdl/disp_manager.cpp b/src/DivaGL/mdl/disp_manager.cpp index f6c6db1..30a1850 100644 --- a/src/DivaGL/mdl/disp_manager.cpp +++ b/src/DivaGL/mdl/disp_manager.cpp @@ -1179,6 +1179,8 @@ namespace mdl { case mdl::ETC_OBJ_SPHERE: { EtcObjSphere& sphere = etc->data.sphere; + mat4_scale_rot(&mat, sphere.radius, &mat); + indexed = true; wire = sphere.wire; } break; @@ -1230,7 +1232,6 @@ namespace mdl { || type == mdl::ETC_OBJ_SPHERE && i.data.sphere.slices == etc->data.sphere.slices && i.data.sphere.stacks == etc->data.sphere.stacks - && fabsf(i.data.sphere.radius - etc->data.sphere.radius) < 0.00001f || type == mdl::ETC_OBJ_PLANE || type == mdl::ETC_OBJ_CONE && i.data.cone.slices == etc->data.cone.slices @@ -1326,7 +1327,7 @@ namespace mdl { case mdl::ETC_OBJ_SPHERE: { EtcObjSphere& sphere = etc->data.sphere; - gen_sphere_vertices(vtx_data, sphere.slices, sphere.stacks, sphere.radius); + gen_sphere_vertices(vtx_data, sphere.slices, sphere.stacks, 1.0f); size_t wire_offset = gen_sphere_indices(vtx_indices, sphere.slices, sphere.stacks); etc_vertex_array->offset = 0; @@ -2564,8 +2565,7 @@ namespace mdl { return i.vertex_array; case mdl::ETC_OBJ_SPHERE: if (i.data.sphere.slices == etc->data.sphere.slices - && i.data.sphere.stacks == etc->data.sphere.stacks - && fabsf(i.data.sphere.radius - etc->data.sphere.radius) < 0.00001f) + && i.data.sphere.stacks == etc->data.sphere.stacks) return i.vertex_array; break; case mdl::ETC_OBJ_PLANE: