Implement an Object/Material Flag to Designate "Decals" for Highly Optimized Screen-Space or Projected Shading
Macrocosm Draegonne
To further optimize environment rendering and reduce the massive alpha-sorting overhead currently found in many Second Life regions, we could implement a native way to handle "decal" layers extremely efficiently. Currently, creators simulating stains, rust, signage, grime, and variations must place thin mesh geometry slightly offset from a surface using Alpha Blending. This forces the renderer to perform expensive transparency sorting calculations on every single frame tick to determine pixel draw order, while frequently introducing visual artifacts like z-fighting at mid-to-far camera distances, or even in high altitude skyboxes.
Key Considerations:
- Optimized Alpha Pass Routing: By introducing a dedicated checkbox/flag in the Object Properties and/or Material panel to designate an asset or material-slot as a "Decal," the renderer can route the asset or slot through a specialized, high-efficiency shader pass, tailored to making decals both better performant & better looking.
- Elimination of Alpha Sorting and Z-Fighting: A designated decal shader pass allows the graphic pipeline to project or clip the texture directly onto the underlying static geometry buffer. This forces the decal to cleanly adhere to the surface below it without requiring continuous frame-by-frame alpha sorting depth checks, yielding superior visual quality and an immense performance lift especially in dense regions/builds.
This is not a demand, just a logical suggestion IMHO, something you may have already been considering. It could be both relatively simple for you to implement (based on your choice of industry standard techniques), and bring considerable positive impact on looks and performance.
Log In
ladiablesse100bc Resident
One of the main problems with SL's rendering of 'alpha textures' is the difficulty of figuring out which texture is in 'front' and which is behind. Which leads to "alpha clash" where two or more surfaces with alpha channels can't be sorted out as to which one overlays the other, and you get rendering artifacts, halo effects, all sorts of problems. Hair is one of the big offenders (yes, flexy hair, looking at you).
A decal system (where you can link a texture to an object and it paints on top of the object, like BOM for 'stuff' rather than avatars) would help clear a lot of these problems. I'm HOPING that someone at LL takes a look at this and says "yeah, we can figure out how to port BOM layers and decals to inworld objects" which would mean things like posters, rust, plant life, and damage could be mapped to inworld objects, in conjunction with PBR texturing, so that it all behaves more realistically.
Macrocosm Draegonne
ladiablesse100bc Resident Indeed, this is actually a thing with every game engine, its just that in SL we have user created content, and in-game building, so it slightly increases the change one might get the alpha z-sorting glitch. There are ways to mitigate it but its tricky, most users do not even know its much prefered to use Alpha Mask Not Alpha-Blend in most situations, especially plants and such, and only use alpha blend very sparingly.
Technically the Decal setup does not bake the texture to the one below it, but it looks as if it did to the end user, it simply pastes it directly on top of whats below, and skips all subsequent alpha sorting calculations, which looks much better & saves tons of resources, especially when there are a lot of these in use in a build.
Macrocosm Draegonne
One great aspect of this is all the existing objects/layers in world can be updated and set/flagged by the creator or those with modify perms, so it will not only uplift new builds, it would uplift many existing places.
I have a decent system but average old GPU lol, I can always tell when im in a place that has overuse of alpha blend layers, its quite taxing to the renderer as generally I get great frame rates otherwise, and worse not having what are essentially decals not be rendered properly like decals they dont look as good or suited for their purpose either.