rpcs3 icon indicating copy to clipboard operation
rpcs3 copied to clipboard

[Regression] Transparent rendering is stripy in LittleBigPlanet [NPUA80472] (#11373)

Open Metraberryy opened this issue 2 years ago • 10 comments

Summary

Transparent objects render with stripes on them. Not sure how else to explain it

This issue appears in v0.0.20-13177-d6aa834b (https://github.com/RPCS3/rpcs3/pull/11373)

Screenshot and RSX/Renderdoc Captures

Regression

regression https://drive.google.com/file/d/1spYkUDJCeP4dhS8ePw0M0TA_WmFNuf7u/view?usp=sharing

Correct behaviour

correct https://drive.google.com/file/d/1UcuinjGQmLUYdQsuUKBaHZxwoKUvI_Vr/view?usp=sharing

Reproduction

This effect is most noticeable on score bubbles, though the effect can be seen on the Pod windows, glass, or any other transparent objects The screenshots are from the second level (first after the introduction level), 'First Steps'.

System Specs

  • Windows 10 10.0.19041
  • Intel Core i7-9700K @ 3.60GHz
  • NVIDIA GeForce GTX 1660 Ti
  • Driver version 27.21.14.6089

Metraberryy avatar Apr 15 '22 02:04 Metraberryy

That's interesting, because the new behaviour you describe is very similar to what happened on RDNA2 GPUs prior to the fix

AniLeo avatar Apr 16 '22 10:04 AniLeo

Persona 4 Arena Ultimax has a very similar stripe pattern since that PR with MSAA on.

Before: NPUB31563_screenshot_2022_06_03_18_52_51

After: NPUB31563_screenshot_2022_06_03_18_54_25 RPCS3.log RSX Capture RenderDoc

capriots avatar Jun 03 '22 17:06 capriots

this (in LBP1) is caused by MSAA emulation in its current state not playing well with LBP1, causing not only this, but a noticeable drop in image quality compared to PS3 (it looks like it's deinterlaced by just discarding even fields and keeping the odd)

this is because LBP1 uses hacks to get transparent objects to play nicely with deferred lighting that depends highly on the MSAA buffer being sampled accurately as it uses shader trickery to "disable" G buffer MSAA over a transparent object and instead use its 2x width nature to effectively interlace foreground light data for the transparent object and background light data for everything that's behind it (see https://advances.realtimerendering.com/s2009/final_alex_siggraph.ppt)

this is part of the reason why you can't have two transparent objects overlap in a given pixel

LBP2 and 3 are not affected by this as they use forward lighting and MLAA instead

TorutheRedFox avatar Aug 02 '22 15:08 TorutheRedFox

Ok, this one is going to be annoying to fix. I'll think of something. Fixing this game will just break Tales of Graces F again.

kd-11 avatar Sep 26 '22 23:09 kd-11

This should be fixed now with the "hardware MSAA resolve" option.

kd-11 avatar Jan 04 '24 19:01 kd-11

It is not, it is the same behavior that was in the screenshot for #15000 on the transparent surface

Triticum0 avatar Jan 04 '24 20:01 Triticum0

the effect is definitely reduced, but not entirely gone

image image

Metraberryy avatar Jan 05 '24 01:01 Metraberryy

the uv resolving for software msaa resolve should be adjusted to fix this

TorutheRedFox avatar Jan 05 '24 12:01 TorutheRedFox

Sadly Force MSAA Hardware Resolve murders performance, making the game unplayable (GPU at 100% usage, single digit fps).

I personally resorted to upscaling to 200% instead as a workaround for the issue, though some materials still show up lines like glass in the intro level (this also happens with Force MSAA Hardware Resolve) and if you have any DLC costume installed, the bubbles in the "My Content" section will be empty.

ItsLaguna avatar Mar 14 '24 20:03 ItsLaguna

as metra said even if you want to take that performance hit it still doesn't fix the issue

TheGlitcher1705 avatar Mar 14 '24 21:03 TheGlitcher1705