Build: selection highlight (outline) missing on rigged mesh #170
Labels
No labels
amd
avatars
bug
builder
cannot-reproduce
crash
epic
feature
from-viewer
gl-removal
known-limitation
monitoring
parity
perf
platform
priority
critical
priority
high
priority
low
priority
medium
provenance
rendering
rt
status
in-progress
status
testing
status
up-next
triage
ui
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sky_line/Slipstream#170
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Selecting rigged mesh in edit mode draws no selection highlight: no outline, visible or hidden. Confirmed on actively worn rigged mesh. Not yet checked: rigged mesh that is rezzed in-world (not worn), and animesh.
Cause
LLCleanRendererVK::setSelection(indra/newview/vkgfx/llcleanrenderervk.cpp~4141) builds the selection draw list on the CPU from each selected instance's mesh slot, and skips rigged instances outright:A rigged instance's drawable vertices only exist in the pre-skin output buffer (
mSkinVbo), at a range the GPU cull allocates each frame (rig_dst). The CPU can't know that offset, so the outline pass never drew them.Fix direction
DrawCmd(with its skinnedvertexOffset) tocand[id]. A small compute pass (or a cull flag for selected instances) can copycand[id]for the selected rigged ids into a GPU selection buffer with a count, drawn withvkCmdDrawIndexedIndirectCount.mSkinVbovertex source, the eye-relativemViewProjRelpush (like the lit rigged draws), and the same visible/hidden two-pass outline and colours.mHideSelfbehaviour.Related: #29 (builder views), #101 (Highlight Transparent).