dimforge / dimforge/parry

Trimesh isn't watertight

Open
#444 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
867
Forks
157
Avg merge
7d 13h
Merged PRs (30d)
2

Description

I am not comfortable using trimesh for intersecting projectiles with terrain because it is not watertight. Here's a raycast of the Stanford bunny. If you look really closely, you can see that it is littered with one-pixel holes.

Image

[Woop's watertight triangle intersection](https://jcgt.org/published/0002/01/05/paper.pdf) is slightly more expensive than the cheapest alternative but I don't think it would make a practical difference since the bottleneck is traversing the BVH, not FLOPs. Would you accept a PR that changes the triangle narrow phase?

Contributor guide

Open the contributing guide

Research direction

Locate the triangle narrow-phase intersection implementation and its existing tests; the issue does not name specific files or entry points. Read the linked watertight triangle-intersection paper before comparing the current behavior. Done means raycasts against meshes such as the Stanford bunny no longer show one-pixel holes, with regression coverage added if the existing test structure supports it.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.