Jump to content
MelodyClone1

Will there ever be a fix for overlapping alphas?

Recommended Posts

...Or is this not possible in the current engine? Almost all good hairs contain alpha textures in at least some strands, and I'm sure pretty much everyone uses mesh heads and some makeup layers or clothing that has alphas. Simply masking some layers is just not possible considering 99% of things in SL are no mod for some annoying reason (whole other discussion). Also, right clicking on the attachment doesn't really fix the issue in most cases, not to mention it's only a client side fix even when it works. I have lots of hairs that go over my chest, would be great to not have my nipples completely visible when I'm wearing tops that has so much as 1% transparency or a lace texture. 🙄

Share this post


Link to post
Share on other sites

My understanding of the issue is that it is technically impossible to fix this, but I don't know the technical details about why. Perhaps someone with a better knowledge than I can elucidate.

I just wear updos when I want to avoid the problem.

Edited by Vanity Fair

Share this post


Link to post
Share on other sites

While it is technically possible to fix, it's not very practical/efficient. It takes a lot of calculations to figure out which of many surfaces is in front of the others, and what order the rest of them are in. Most games make an attempt but to get it right in every situation is veeerry slow, so most games try to avoid using blended alpha surfaces.

Second Life has no quality control or standard for assets, so these kinds of technical concerns aren't thought about or worked around by almost anybody. Creators just accept it as a reality and leave it at that. 

Edited by Wulfie Reanimator

Share this post


Link to post
Share on other sites
4 hours ago, Vanity Fair said:

My understanding of the issue is that it is technically impossible to fix this, but I don't know the technical details about why. Perhaps someone with a better knowledge than I can elucidate.

The SL summary.

See this Wikipedia article for the theory.

The "over" operator is not commutative. So the order in which the objects are drawn matters. The viewer has to sort alpha-blend faces by depth, using the main CPU, not the GPU. Faces, not pixels. Faces which intersect faces in the look direction have an "who's in front" ambiguity. This is why things like crossed signs get mis-drawn when alpha blended. If you use alpha blending, the faces involved should not cross through each other.

Regular opaque and alpha masked objects get sorted out pixel by pixel in the GPU, by storing their "depth' (distance from the viewpoint) in a "Z buffer". The pixel with the smallest Z-buffer value wins. GPUs do all that with built-in hardware, so that's cheap. That gets 'who's in front" right on a per-pixel basis, so it doesn't have the see-through problem.

If you want skin-tight clothing, there's always old-fashioned texture clothing, which is really just a paint job. But you can get translucency right, since that happens when you composite the texture images on top of each other in 2D.

  • Thanks 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...