Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Game Engine Development
  3. V-HACD

V-HACD

BSD-3-ClauseC++v4.1.0

A C++ library for decomposing 3D meshes into approximate convex parts for efficient collision detection in games and simulations.

GitHubGitHub
1.6k stars306 forks0 contributors

What is V-HACD?

V-HACD is a C++ library that performs approximate convex decomposition of 3D meshes, breaking down complex concave shapes into simpler, near-convex parts. It solves the problem of inefficient collision detection in real-time applications like video games, where using exact convex decompositions is computationally prohibitive. By allowing tunable concavity thresholds and hull counts, it provides a practical balance between accuracy and performance.

Target Audience

Game engine developers, physics simulation engineers, and 3D software tool creators who need efficient collision detection for concave objects in real-time interactive applications.

Value Proposition

Developers choose V-HACD for its proven reliability, tunable performance, and ease of integration as a header-only library. It offers a pragmatic alternative to exact decomposition methods, enabling real-time collision detection without the computational overhead of minimal convex partitioning.

Overview

Automatically exported from code.google.com/p/v-hacd

Use Cases

Best For

  • Adding collision detection to concave 3D models in game engines
  • Preprocessing meshes for physics simulations in robotics or animation
  • Optimizing collision shapes for real-time interactive applications
  • Generating convex hull approximations for complex mechanical parts
  • Integrating mesh decomposition into C++-based 3D modeling tools
  • Balancing collision accuracy with runtime performance in VR/AR experiences

Not Ideal For

  • Projects requiring active maintenance and community support
  • Applications needing automatic optimization of convex hull count
  • Environments not using C++ or preferring modern, maintained alternatives
  • Real-time systems where decomposition must complete in seconds for high-detail meshes

Pros & Cons

Pros

Header-Only Integration

Version 4.0 is implemented as a single header file, eliminating complex linking and simplifying drop-in usage for C++ projects.

Performance and Stability

The rewrite in version 4.0 results in faster, more robust decomposition with fewer bugs compared to older versions, as noted in the README.

Flexible Parameter Tuning

Developers can control voxel resolution, decomposition depth, and hull count to balance accuracy and performance, with examples provided for fine-tuning.

Proven Reliability

Widely adopted in game development and physics simulations, it offers a pragmatic approach to convex decomposition for real-time applications.

Cons

Deprecated and Unmaintained

The project is archived and no longer receives updates or bug fixes, with the README explicitly recommending CoACD for new development.

Manual Hull Specification

Unlike modern tools, it requires users to predefine the number of convex hulls, which can lead to guesswork and suboptimal results if not carefully tuned.

High Computational Cost for Precision

Achieving accurate decompositions with low error thresholds and high voxel resolutions can result in very long processing times, as highlighted in the tuning examples.

Frequently Asked Questions

Quick Stats

Stars1,645
Forks306
Contributors0
Open Issues63
Last commit10 months ago
CreatedSince 2015

Tags

#collision-detection#c-plus-plus#game-development#header-only-library#physics-simulation#computational-geometry

Built With

C
CMake
C
C++

Included in

Game Engine Development1.3k
Auto-fetched 7 hours ago

Related Projects

imguiimgui

Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

Stars74,986
Forks11,931
Last commit17 hours ago
C/C++C/C++

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Stars72,398
Forks8,320
Last commit5 days ago
ProtoBufProtoBuf

Protocol Buffers - Google's data interchange format

Stars71,621
Forks16,200
Last commit5 hours ago
JSON for Modern C++JSON for Modern C++

JSON for Modern C++

Stars50,198
Forks7,437
Last commit14 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub