Rig weld: decide weld pairs once at rest pose (per avatar, on outfit/shape/LOD change); per-frame pass only averages the pairs #641
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#641
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?
Idea (owner, 2026-10-10)
Decide rigged-mesh weld pairs once, at the avatar's rest pose, and apply them cheaply every frame. Today the weld rediscovers the same pairs every frame.
Today
clean_rig_weld.comp/llcleanrigweldvk.cppruns after pre-skin every frame:boundary vertices live 42951).RenderVKRigWeldDistance(0.2 mm).Steps 1-2 are most of
c_rigweld(~0.5-0.7 ms in a ~62-avatar crowd).Do
Behaviour change
Pairs are fixed by how meshes meet at rest instead of per pose. Real seams (neck/head, wrists/hands, clothing edges) meet at rest and stay joined. Accidental pose-dependent welds go away.
Measure
c_rigweldbefore/after in the same crowd; pair count and recompute count/time in the VKRigWeld log line. Visual: neck/wrist seams under animation, cavities (mouths, pockets), layered clothing.Absorbs #626 (weight-based weld). Related: #574, #632.
Started 2026-10-10 together with #632.
Shipped in 1.3.0 Beta 2: rig weld pairs are decided once per avatar at the rest pose, and the per-frame pass only averages the pairs.