Project

General

Profile

Actions

Emulator Issues #7123

closed

Luigi's Mansion Series of Horizontal Lines ("Blinds") in GFX (Hardware Backends)

Added by MayImilae about 10 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
Category:
GFX
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

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

Actions #1

Updated by MayImilae about 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.

Actions #3

Updated by JMC4789 about 10 years ago

  • Status changed from New to Accepted
Actions #5

Updated by JMC4789 about 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.

Actions #6

Updated by magumagu9 almost 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.

Actions #7

Updated by JMC4789 almost 10 years ago

Someone needs to update zfreeze branch to see if it's more accurate there.

Actions #8

Updated by magumagu9 almost 10 years ago

The shadows in this game don't use zfreeze.

Actions #9

Updated by JMC4789 almost 10 years ago

Oh, meh. I don't know anything else that effects zfighting other than zfreeze in Dolphin. IGNORE ME!

Actions #10

Updated by progamer96 over 9 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.

Actions #11

Updated by JMC4789 over 9 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.

Actions #12

Updated by progamer96 over 9 years ago

I thought it wasn't related to zfreeze?

Actions #13

Updated by progamer96 over 9 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?

Actions #14

Updated by JMC4789 over 9 years ago

  • Status changed from Accepted to Fixed

Fixed by 4.0-2626

Actions

Also available in: Atom PDF