Emulator Issues #7123
closedLuigi's Mansion Series of Horizontal Lines ("Blinds") in GFX (Hardware Backends)
0%
Description
Ever since the shadows were fixed in Luigi's Mansion (GLME01) in 4.0-1288, some odd issues have been present that almost resemble z-fighting. While console has some issues that are like z-fighting, such as the stuff on Luigi's face, this issue is different from that, and makes everything appear MUCH worse in Dolphin.
Console - http://i.imgur.com/3aUi086.jpg
Dolphin - http://i.imgur.com/uvmoOrz.jpg
Circled to make sure you see it - http://gdurl.com/TX4K
It commonly results in a "window blinds" appearance, so I'm calling it that for lack of a better idea. Whenever the camera moves they swirl and dance about, so it's extremely distracting in game. And these problems are EVERYWHERE. It appears to be related to the object's position away from the camera. For example, in the screenshots above, it happens when Luigi is close to the camera or in the middle of the screen. If he moves close to the wall where the blinds appear, the blinds vanish. This only appeared after the shadows were fixed, so apparently it's a TEV issue.
Tested Interpreter, Single Core, EFB to Ram, OGL/D3D switching, RealXFB, on and on, nothing fixes it. Except software. The shadows are working yet the blinds bug does not happen. Only the little bugs that occur on console happen in software. I even ran there in software to make sure it wasn't a fifolog derp - it wasn't. Confirmed that the bug does not occur in software.
To reproduce... just play the game. It's everywhere. However, the section in the screenshots is easy to reproduce. Go upstairs, through the double doors, and then enter the door on the back right to enter a hallway. That's it. Or just use the handy fifologs.
Standing fifolog - http://www.mediafire.com/download/hhozh2e2kqc70jo/LuigiBlinds-Standing.7z
Running fifolog (very obvious and shows it disappearing) - http://www.mediafire.com/download/eh7a9p45765oy7y/LuigiBlinds-Running.7z
Tested revisions:
4.0-1226 x64 - No shadows, no bugs
4.0-1246 x64 neobrain tev combiners branch - Shadows, and the blinds bug
4.0-1288 x64 - Shadows, and the blinds bug
Tested on system:
Windows 7 x64
Core i5 3570K @ 4.7ghz
Nvidia Geforce GTX 760
Updated by MayImilae over 10 years ago
Dammit no edit on these things. By "Blinds" I mean "series of horizontal lines". However it will take other shapes depending on the geometry of the object it's on.
Updated by JMC4789 over 10 years ago
This can be fixed by hitting Shift + S a few times with Free Look on. Seems to be related to a ton of other issues that do this.
Updated by magumagu9 over 10 years ago
This game uses a pretty straightforward shadow mapping implementation using TEV to compute whether a pixel is in a shadow. The shadow map is a Z16 texture. The one unusual bit is that it uses a texture sampler to convert the computed z-coordinate into a TEV color input.
The issue here is z-fighting; the two codepaths for computing the depth aren't rounding the same way. So either the depth from the shadow map is wrong, the texture coordinate computation to get the depth of the current pixel is wrong, or (most likely) both are wrong. And whoever wrote the shadow mapping code for this game should have added some sort of offset to the depth to avoid z-fighting.
Updated by JMC4789 over 10 years ago
Someone needs to update zfreeze branch to see if it's more accurate there.
Updated by magumagu9 over 10 years ago
The shadows in this game don't use zfreeze.
Updated by JMC4789 over 10 years ago
Oh, meh. I don't know anything else that effects zfighting other than zfreeze in Dolphin. IGNORE ME!
Updated by progamer96 over 10 years ago
in galop1n's binaries that were released the issue was pretty much fixed along with the non reflecting mirrors in the game, but there has been no source posted, I'd like to know which files of the issue is.
Updated by JMC4789 over 10 years ago
We know the culling issues with D3D are what cause the mirror to not work. That should be fixable. The lines working appears to be a zfreeze hack, not so easy.
Updated by progamer96 over 10 years ago
I thought it wasn't related to zfreeze?
Updated by progamer96 over 10 years ago
Also it seems that that Luigi's flashlight will not cast a a shadow when you stop walking in D3D could this be related to the mirror issue?