secondlife / viewer

🖥️ Second Life's official client
GNU Lesser General Public License v2.1
211 stars 53 forks source link

[BUG] Glow causing incorrect render behavior. #2964

Open canny[bot] opened 2 weeks ago

canny[bot] commented 2 weeks ago

Environment: Second Life Release 7.1.10.10800445603 (64bit)

Using PBR materials with Glow and Emissive is causing an incorrect alpha sorting behaviour. this behaviour is new as of 7.1.10 and did not exist before (see 7.1.9).

This effectively breaks all PBR items using 'Glow' and 'Alpha'

Repro:

  1. rez a cube, set it to 50% transparent, (or any existing alpha object)
  2. rez another cube
  3. apply a PBR material
  4. set alpha mode to 'Blend'
  5. set alpha to 0.00.
  6. assign blank emissive
  7. set emissive to white
  8. set glow to any value higher than 0.
  9. Look through the PBR object at the 50% transparent object created in step 1.

Observed: The 50% transparent object is not visible.

Expected: The 50% transparent object should be visible.

Observed: Image

Expected: Image

https://secondlife.canny.io/admin/board/bug-reports/p/bug-glow-causing-incorrect-render-behavior

canny[bot] commented 2 weeks ago

This issue has been linked to a Canny post: [BUG] Glow causing incorrect render behavior. :tada:

Dan-Linden commented 1 week ago

Is this caused by https://github.com/secondlife/viewer/issues/2637 ?

RunitaiLinden commented 1 week ago

Fixed in ExtraFPS

Glow for alpha PBR faces was being registered in the wrong render pass because of a change in logic to how "is_alpha" was being determined.

igorlproductengine commented 2 days ago

Passed QA. Verified on the Second Life Release 7.1.11.11750364439 (64bit) in the scope of https://github.com/secondlife/iqa/issues/381 on Win10/OSX. Actual: Image