mirror of
https://github.com/Redot-Engine/redot-engine.git
synced 2025-12-06 07:17:42 -05:00
Replace QuickHull with Bullet's convex hull computer.
The code is based on the current version of thirdparty/vhacd and modified to use Godot's types and code style. Additional changes: - extended PagedAllocator to allow leaked objects - applied patch from https://github.com/bulletphysics/bullet3/pull/3037
This commit is contained in:
@@ -30,8 +30,8 @@
|
||||
|
||||
#include "test_physics_3d.h"
|
||||
|
||||
#include "core/math/convex_hull.h"
|
||||
#include "core/math/math_funcs.h"
|
||||
#include "core/math/quick_hull.h"
|
||||
#include "core/os/main_loop.h"
|
||||
#include "core/os/os.h"
|
||||
#include "core/string/print_string.h"
|
||||
@@ -169,7 +169,7 @@ protected:
|
||||
|
||||
RID convex_mesh = vs->mesh_create();
|
||||
Geometry3D::MeshData convex_data = Geometry3D::build_convex_mesh(convex_planes);
|
||||
QuickHull::build(convex_data.vertices, convex_data);
|
||||
ConvexHullComputer::convex_hull(convex_data.vertices, convex_data);
|
||||
vs->mesh_add_surface_from_mesh_data(convex_mesh, convex_data);
|
||||
|
||||
type_mesh_map[PhysicsServer3D::SHAPE_CONVEX_POLYGON] = convex_mesh;
|
||||
|
||||
@@ -30,8 +30,8 @@
|
||||
|
||||
#include "test_render.h"
|
||||
|
||||
#include "core/math/convex_hull.h"
|
||||
#include "core/math/math_funcs.h"
|
||||
#include "core/math/quick_hull.h"
|
||||
#include "core/os/keyboard.h"
|
||||
#include "core/os/main_loop.h"
|
||||
#include "core/os/os.h"
|
||||
@@ -118,7 +118,7 @@ public:
|
||||
vts.push_back(Vector3(-1, -1, -1));
|
||||
|
||||
Geometry3D::MeshData md;
|
||||
Error err = QuickHull::build(vts, md);
|
||||
Error err = ConvexHullComputer::convex_hull(vts, md);
|
||||
print_line("ERR: " + itos(err));
|
||||
test_cube = vs->mesh_create();
|
||||
vs->mesh_add_surface_from_mesh_data(test_cube, md);
|
||||
|
||||
Reference in New Issue
Block a user