Improve debug rendering for trigger volumes - #114
Open
ccp-zoetrope wants to merge 1 commit into
Open
ccp-zoetrope wants to merge 1 commit into
ccp-zoetrope wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The focused debug-rendering changes are consistent across all volume shapes and no correctness issues were identified.
Review effort: Balanced
Findings: None
What changed in this PR
Adds clearer debug visualization for trigger volumes through translucent fills, visible occluded outlines, and state labels.
Changes:
- Adds shared debug color and inside-face rendering helpers.
- Adds translucent two-sided fills to box, sphere, and ellipsoid volumes.
- Displays trigger name, state, and intensity.
| File | Description |
|---|---|
trinity/Eve/Volume/IEveVolume.h |
Adds shared debug-rendering helpers. |
trinity/Eve/Volume/EveSphereVolume.cpp |
Adds sphere fill and occluded outlines. |
trinity/Eve/Volume/EveEllipsoidVolume.cpp |
Adds ellipsoid fill and occluded outlines. |
trinity/Eve/Volume/EveBoxVolume.cpp |
Adds box fill and occluded outlines. |
trinity/Eve/EveTriggerVolume.cpp |
Adds the trigger state label. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Wireframe-only outlines are hard to read from inside a volume. Add a translucent fill to all three volume shapes (box, sphere, ellipsoid) and a text label showing the trigger's name, state, and intensity. Both pick up the volume's existing debug color, which turns green once the tracked position enters the trigger. The debug renderer culls back faces, so each shape draws its fill twice, the second time through a mirrored transform that flips the winding to render the inner faces. Shared via helpers in IEveVolume.h so all three shapes behave the same way.
ccp-zoetrope
force-pushed
the
trigger-volume-fill
branch
2 times, most recently
from
October 1, 2026 19:02
59981b8 to
3ab6110
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Wireframe-only outlines are hard to read from inside a volume. This PR adds a translucent fill to all three volume shapes (box, sphere, ellipsoid) and a text label showing the trigger's name, state, and intensity. Both pick up the volume's existing debug color, which turns green once the tracked position enters the trigger.
The debug renderer culls back faces, so each shape draws its fill twice, the second time through a mirrored transform that flips the winding to render the inner faces. Shared via helpers in IEveVolume.h so all three shapes behave the same way.
Linked issue (optional)
EF-19776
Testing
I added a box shaped trigger volume to a dungeon and it was much easier to tell if I was entering it or not. It was also much easier to tell what space it filled up. Before this, the wireframe only rendering made it very hard to actually see what area of space a trigger volume actually took up.
AI assistance
Most of the code was generated by Claude Fable 5.1