Skip to content

Depth-splice rigged attachment alpha into world alpha#5927

Open
Viscerous wants to merge 1 commit into
secondlife:developfrom
Viscerous:feature/interleaved-alpha
Open

Depth-splice rigged attachment alpha into world alpha#5927
Viscerous wants to merge 1 commit into
secondlife:developfrom
Viscerous:feature/interleaved-alpha

Conversation

@Viscerous

Copy link
Copy Markdown

Currently, alpha sorting happens in two passes: rigged first via raw pointers, which is non-deterministic, and then a back to front walk for unrigged. Since the passes are separate, rigged (which includes almost all avatars) will interact poorly with the rest of the world (almost entirely unrigged) resulting in long-standing issues such as avatars' hair in the foreground rejecting trees in the background. The pointer-based rigged pass will also almost always favour a user's own avatar, resulting in differences between what one person sees locally vs. others.

Since we already deterministically sort rigged intra-avatar attachments via the attachment slots, I propose interleaving whole avatars by their root together with the unrigged walk in one unified pass, giving both a proper order. Hair will no longer reject alpha objects behind it, or vice versa.

Since this reduces one pass, net is likely slightly less work on the CPU-side and neutral on the GPU save for the overdraw of the previously undrawn pixels.

2026-06-15.18-07-48.mp4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant