secondlife / secondlife/viewer
Replace Havok Convex Decomposition with Open Source Library
A pull request for this has already been merged.
- #4858 by @RyeMutt — merged
- Dominant language
- C++
- Stars
- 299
- Forks
- 146
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 88
Description
Request for Proposal
The Second Life viewer currently depends on Havok's proprietary convex decomposition library for generating physics geometry during mesh uploads. This creates several problems:
- Open-source compatibility: This proprietary dependency conflicts with potential open-source initiatives and limits community contributions to the viewer
- Technical limitations: Newer open-source solutions offer better performance and accuracy for convex decomposition
High-Level Requirements
Replace the Havok convex decomposition module with CoACD, V-HACD or similar open-source library:
- Evaluate CoACD and alternative libraries (e.g., V-HACD) for performance and quality
- Implement library integration, replacing Havok decomposition dependency
- Ensure physics data format remains compatible with server-side physics simulation
This is a viewer-only change that should not require server-side modifications, keeping scope minimal.
Additional Context
- Would benefit from performance benchmarking of candidate libraries before selection
- Consider creating a mesh physics test suite if one doesn't exist
- May want to consult with major content creators during testing phase to ensure workflow compatibility
This repo is using Opire - what does it mean? 👇
💵 Everyone can add rewards for this issue commenting
/reward 100 (replace 100 with the amount).🕵️♂️ If someone starts working on this issue to earn the rewards, they can comment
/try to let everyone know!🙌 And when they open the PR, they can comment
/claim #4475 either in the PR description or in a PR's comment.🪙 Also, everyone can tip any user commenting
/tip 20 @bennettgoble (replace 20 with the amount, and @bennettgoble with the user to tip).📖 If you want to learn more, check out our documentation.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no source files, tests, or entry points; begin by locating the viewer's Havok convex-decomposition integration and mesh-upload physics-data path. Evaluate CoACD and V-HACD, then define completion as an open-source replacement that preserves server-compatible physics data, with performance and quality benchmarks.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics, game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 18/100