Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Outrun 2006: Various tracks have graphical issues (black/missing geometry) #5507

Closed
thedax opened this issue Feb 18, 2014 · 24 comments · Fixed by #11407
Closed

Outrun 2006: Various tracks have graphical issues (black/missing geometry) #5507

thedax opened this issue Feb 18, 2014 · 24 comments · Fixed by #11407
Labels
Guardband / Range Culling Involves vertices outside fustrum.
Milestone

Comments

@thedax
Copy link
Collaborator

thedax commented Feb 18, 2014

As a continuation of #2603, it makes more sense to begin parsing out the game's remaining separate issues into their own issues instead of one mega issue for everything wrong.

In this issue's instance, the title explains it all. The sky is black/missing on most stages, or there is missing geometry/the geometry is black.

Like the car colour issue, I need to investigate if it's always been this way.

Affected courses:
* Palm Beach: missing sky
* Deep Lake: black/missing geometry in some areas, flickering on the screen, might need a video to explain it
* Alpine: missing sky
* Castle Wall: entire stage is black
* Coniferous Forest: entire stage is black

  • Cloudy Highland: black/missing geometry in some areas (when the car gets closer, the black "fills in" with the property geometry)

* Industrial Complex: missing sky
* Snow Mountain: missing sky
* Tulip Garden: missing sky
* Metropolis: missing sky
* Ancient Ruins: missing sky

  • Imperial Street: missing sky, sometimes geometry/glitched polygons come up on the screen, covering it nearly completely
  • Cape Way: missing sky, sometimes geometry/glitched polygons come up on the screen, covering it in some areas

Here's a sample screenshot of what I mean by "polygons come up on the screen":
Screenshot 01

@thedax
Copy link
Collaborator Author

thedax commented Feb 18, 2014

If you'd like me to capture videos or GE debugger info for any of these tracks, let me know which and I'll try my best to accomodate.

@unknownbrackets
Copy link
Collaborator

Do these issues also occur in the software renderer?

-[Unknown]

@thedax
Copy link
Collaborator Author

thedax commented Feb 18, 2014

No. SoftGPU has its own issue, however:

  • Instead of the polygons "coming up" they simply disappear from the road, like the missing polygons in Phantasy Star Portable 2.

A screenshot to demonstrate what I mean:
screenshot 01

SoftGPU doesn't exhibit the missing skies or geometry that GLES does.

@hrydgard
Copy link
Owner

That looks like a possible clipping bug to me (in the sw renderer), although could also be some overflow in the triangle rasterizer I guess.

@thedax
Copy link
Collaborator Author

thedax commented Mar 23, 2014

Most of the issues in this ticket are now fixed; all that's left is the black/missing geometry, and those stages where the polygons obscure the screen.

@thedax thedax changed the title Outrun 2006: Various tracks have graphical issues (missing skies & black/missing geometry) Outrun 2006: Various tracks have graphical issues (black/missing geometry) Mar 23, 2014
@hrydgard
Copy link
Owner

Ah, good to have the skies fixed.

Those bizarro polygons are worrying me though. It's obviously drawing bogus geometry, the question is where it came from, and if that geometry would actually render on the real PSP. It could actually be a bug in the game that went unnoticed since the triangle clipper on the PSP is quite limited and might just throw them away or something.

@thedax
Copy link
Collaborator Author

thedax commented Mar 23, 2014

Think it might help if I grab some GE debugger screens of when the weird polygons come up?

@hrydgard
Copy link
Owner

Hard to say, maybe there's something obviously broken visible. Perhaps NaNs in morph weights or something similarly obscure, like the fog stuff...

@thedax
Copy link
Collaborator Author

thedax commented Apr 20, 2014

I totally forgot about this issue. I finally grabbed GE debugger info of when there's a huge polygon up onscreen (see the original post if you forgot what I mean):

I took the information when the debugger was showing this:
Screenshot 01

https://gist.githubusercontent.com/thedax/b11c9423d601b6f5c89b/raw/53ea34a341e87afa60c210a85aee387487e9a46d/gistfile1.txt

Hopefully this helps out. To my untrained eye, it almost looks like a part of the skybox is somehow being warped up onto the screen, since it starts out well below the track (the lighter red hue).

@thedax
Copy link
Collaborator Author

thedax commented Feb 17, 2015

There are only a couple issues remaining here:

  • On the Imperial Avenue and Cape Way stages, the warped polygons that come up on the screen are still occurring in the latest builds on Windows with both OpenGL and D3D.
  • The Cloudy Highland stage still has one or two spots with black geometry until the player gets close enough (affects both OGL and D3D).

Here's a Youtube video demonstrating the warped polygon problem (happens closer to the end of the video, so skip in to around the 45-50 second mark if you don't want to watch the entire thing): https://www.youtube.com/watch?v=pElWBqRaRV4

Other than that the rest of them appear to be fixed.

@unknownbrackets
Copy link
Collaborator

Has any of this improved recently? I wonder if it's using beziers or etc.

-[Unknown]

@hrydgard
Copy link
Owner

I don't think Outrun uses beziers - it's a port, so not that likely. I think those are a case of bogus geometry due to some bug that wasn't noticed because the vertices ended up outside the 4096x4096 coordinate box, and the triangles got discarded.

@unknownbrackets
Copy link
Collaborator

Hmm, in #2159 we have a bug because we /aren't/ discarding things outside the 4096x4096 box. Maybe it's the same here, then?

-[Unknown]

@thedax
Copy link
Collaborator Author

thedax commented Apr 11, 2016

@unknownbrackets, all of the remaining issues (e.g. wild polygons and the missing geometry/water) with the three tracks: Cloudy Highland, Cape Way, and Imperial Avenue still exist. However, they all have skies now and are looking better than I remember them looking a year ago.

@thedax
Copy link
Collaborator Author

thedax commented Apr 11, 2016

Also worth mentioning is that Vulkan suffers from the same issues, so it's common to all three video backends.

@thedax
Copy link
Collaborator Author

thedax commented Sep 4, 2018

Just a quick update to this, with the latest commit of PPSSPP ( 562c5f6 ): along with #9527 applied locally, the issues on Cloudy Highland, Cape Way, and Imperial Avenue no longer have the glitched polygons.

Each backend has other problems, though (except Vulkan):
Vulkan: No issues. Glitched polygons are gone, and all UI elements are present.
OpenGL: Missing UI elements in menus and in-game
Direct3D9: Occasionally says that it experienced a hardware transform error and is falling back to software, missing UI elements in menus and in-game
Direct3D11: Crashes when the game boots, call stack follows

PPSSPPWindows64.exe!DrawEngineD3D11::DoFlush() Line 617 C++
PPSSPPWindows64.exe!GPUCommon::FastRunLoop(DisplayList & list) Line 1006 C++
PPSSPPWindows64.exe!GPUCommon::InterpretList(DisplayList & list) Line 949 C++
PPSSPPWindows64.exe!GPUCommon::ProcessDLQueue() Line 1138 C++
PPSSPPWindows64.exe!GPUCommon::EnqueueList(unsigned int listpc, unsigned int stall, int subIntrBase, PSPPointer args, bool head) Line 743 C++

@unknownbrackets
Copy link
Collaborator

Are those additional issues gone without #9527 merged, or are they issues either way?

If the software renderer works (it's probably too slow to conclusively tell on all those tracks...), then it probably means the guardband approach in software (which is different from #9527) is a good way to go.

The approach is at the same time simpler and more complicated, but I think it may actually be how the hardware really does it.

-[Unknown]

@thedax
Copy link
Collaborator Author

thedax commented Sep 5, 2018

From what I saw in testing, the issues exhibited by OpenGL, D3D9 and D3D11 were happening only with #9527 applied.

I can give the software renderer a try, but it'll take some time since I highly doubt it'll be very fast, haha.

@thedax
Copy link
Collaborator Author

thedax commented Sep 5, 2018

Here's what I found with software rendering, with #9527 not applied (not that it should affect this anyhow, but I'm just keeping the build clean):
Imperial Highway: No glitched polygons
Cape Way: No glitched polygons
Cloudy Highland: No glitched polygons

The software renderer has other graphical issues with the game, but the main issue at hand doesn't seem to be present.

Off-topic: it actually wasn't that slow to be honest. I was getting around 17%-25% speed on these tracks, so while it took a significant amount of time, it wasn't unbearable.

@unknownbrackets
Copy link
Collaborator

I expect this to work now - on all backends - now that #11393 is merged. How's it look?

-[Unknown]

@thedax
Copy link
Collaborator Author

thedax commented Sep 20, 2018

Vulkan and Direct3D11: No issues. Glitched polygons are gone, and all UI elements are present.
OpenGL and Direct3D9: Glitched polygons are gone, but main menu is almost completely black, and in-game HUD elements are missing. Instead, the glitched polygons appear to now have moved to the water, where it belongs (?).

NB: The below information and screenshot are unrelated to the information above.
Interesting side note: the glitched polygons were actually part of the reflections on the water, at least in the Imperial Highway stage, see the below screenshot, though it's not the best demonstration of the former glitched polygons

image

@thedax
Copy link
Collaborator Author

thedax commented Sep 20, 2018

In the interest of posting more info, here are two framedumps from OGL:

DUMP.zip

@thedax
Copy link
Collaborator Author

thedax commented Sep 22, 2018

This is 100% fixed on d3d9/opengl now, but the minor issue of water reflections on the Imperial Highway remains. I'll make a new issue about it when I get around to it (super low priority, lol).

@unknownbrackets unknownbrackets added this to the v1.7.0 milestone Sep 23, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Guardband / Range Culling Involves vertices outside fustrum.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants