Cool VL Viewer forum

View unanswered posts | View active topics It is currently 2025-05-24 23:35:29



Reply to topic  [ 3 posts ] 
Some Alpha Blending meshes invisible with ALM turned off 
Author Message

Joined: 2024-08-08 03:12:52
Posts: 4
Reply with quote
Hi Henri!
So I noticed a bug that has been happening often ever since I started using the viewer, around 1.32.0.22 or possibly below, up until 1.32.2.8.

The bug is as follows:
- Certain faces on meshes with alpha blending mode will appear invisible when Advanced Lighting Model is disabled.
- When PBR or ALM is enabled then disabled again, the faces appear as they should normally.
- After logging off and on again, the same faces will sometimes appear as normally, other times they will revert to their previous invisible state until the rendering mode is toggled back and forth again.

To reproduce:
1) Go to any area with a lot of people using mesh heads. Lelutka store may be an easy place to find them: https://maps.secondlife.com/secondlife/ ... 122/155/24
2) Examine their eyelashes until you find one without any eyelashes. Sometimes the bug can affect clothing too, but it is usually eyelashes or the makeup layers.
3) Open settings, then either toggle PBR on and off, or toggle ALM on and off. Either one works.
4) Examine the previously invisible mesh again; it will be correctly textured now. Some who previously appeared to not be wearing any makeup may be doing so now.

I have tried this on both Firestorm 6.6.17 (last version before PBR introduced,) and the last Singularity viewer (no PBR at all,) and neither have this problem.
I understand if you don't want to fix this given that it isn't that big of a deal relative to the amount of difficulty involved. If so, would you mind at least linking to the source code for the last version before PBR was introduced to your viewer? I have a suspicion that the problem is unique to the dual-renderer, and may try fixing it myself/learning how the rendering code works in order to do so. Thanks! c:


Attachments:
File comment: Log file
CoolVLViewer.log.7z [14.45 KiB]
Downloaded 471 times
2024-08-08 04:31:11
Profile

Joined: 2009-03-17 18:42:51
Posts: 5989
Reply with quote
The problem, here, is that PBR and ALM/forward renderers use a different set of draw pools, and PBR indeed uses different alpha pools that do not exist in ALM/forward.

Although I took great care in the renderers toggling code (LLPipeline::toggleRenderer()) to rebuild the draw pools, and force a rebuild of objects draw info, it is quite possible that some alpha faces updates are "in flight" (which would be more likely to happen with avatar attachments) when the toggling happens and might not be see their draw info rebuilt properly...

I will have a look, but I'm afraid fixing this glitch at all price would be a bit too time-consuming, especially seeing as it will only affect currently rendered objects when you switch the rendering mode, and goes away as you switch them back and forth a second time.

This said, if you happen to spot a potential issue or flaw in my code, feel free to point it out.


2024-08-08 09:23:27
Profile WWW

Joined: 2024-08-08 03:12:52
Posts: 4
Reply with quote
Understood. Thankfully the PBR mode isn't much slower than the speed I usually get with Firestorm pre-PBR anyways, so I will probably just leave it enabled for now. I will still look into this though when I have time.


2024-08-08 17:10:37
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 3 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.