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

Gods Eater Burst (ULUS10563): Excessive bloom #5562

Closed
bsauvage1 opened this issue Feb 25, 2014 · 21 comments
Closed

Gods Eater Burst (ULUS10563): Excessive bloom #5562

bsauvage1 opened this issue Feb 25, 2014 · 21 comments

Comments

@bsauvage1
Copy link

Seems it's back again ?

Just tried it for the first time - iPad 2 iOS7 - not sure if present on other systems or iOS7 specific ?

@solarmystic
Copy link
Contributor

Please post a screenshot from your iOS device to demonstrate the issue at the very least.

Looks fine on Windows to me, using the latest git revision:-

capture

When we talk about excessive bloom in this game, this is what we mean (taken from an older revision like 0.9.1, when it was causing a serious visibility problem):-

screen00000

@bsauvage1
Copy link
Author

Sorry about that.
3 screenshots below exhibiting this - one beginning of the intro (you'll also notice the floor/buildings are totally black - probably not right); one later on during intro in the weapon room (still exhibits some strange black artifacts), one once you can control the character.

iPad2, iOS7, latest revision v.0.9.7.2-76-gb7651b6
image
image
image

@solarmystic
Copy link
Contributor

Thanks for the pictures.

Yes, it does look llke a regression from your screenshots on iOS. The 2nd one in particular looks just like how it used to be in the older revisions on the PC (Windows) before it got fixed.

What was the last unaffected build (if any)?

Hmm.. I think I'll whip out my JB'ed iPad 3 and see whether I can reproduce the issue on iOS 6.1.3

EDIT:- Yep, it's reproducible. I'm using a pretty old 0.9.6-187 git build too..

img_0021

I don't get the black floors and buildings during the intro though, but the excessive bloom is definitely present in those scenes:-

img_0022

@bsauvage1
Copy link
Author

I just tried this game on this build - never before; and as I haven't yet come around setting xcode5 I'm not able to use old builds, very sorry ...

Btw your 3rd screen seems to have some black artifacts (notice the background).
Maybe some settings are causing this ? (is there a typical culprit I should look at?)

So did you reproduce on 6.1.3 as well, or on your current 7x iPad3 ?

@solarmystic
Copy link
Contributor

@bsauvage1

I reproduced it on my JB'ed iPad 3 with iOS 6.1.3 using p0sixpwn. I'm not ever moving to iOS 7.0.x until performance improves lol.

I was just using default settings, except for Software Skinning disabled. Software Skinning reduces performance in this game and a few others like the Monhun series.

@unknownbrackets
Copy link
Collaborator

I think that this game's bloom only works with dual source alpha iirc, which your mobile device probably doesn't support.

-[Unknown]

@unknownbrackets
Copy link
Collaborator

Should we keep this open? I'm not sure we'll ever be able to solve this on GLES2 devices without tanking performance anyway.

-[Unknown]

@hrydgard
Copy link
Owner

hrydgard commented Mar 1, 2015

Hm, IIRC this had nothing to do with dual source alpha, and was fixed. As there have been no further reports, I'm closing.

@hrydgard hrydgard closed this as completed Mar 1, 2015
@zackdreaver
Copy link

@hrydgard
How about D3D? it is so bright even in some menu, that i can't see some items name
http://s29.postimg.org/kmsi1a6ev/god_eater_brust.jpg
http://s29.postimg.org/60np7t5h3/god_eater_burst_menu.jpg
Build: ppsspp-v1.0.1-31-g5ebfa57-windows-x86
os: winXP
setting: default
backend: d3d

@hrydgard hrydgard reopened this Mar 1, 2015
@hrydgard
Copy link
Owner

hrydgard commented Mar 1, 2015

Hm, it indeed doesn't work right in d3d, also some garbage on top of the screen...

@unknownbrackets
Copy link
Collaborator

It's not dual src? Maybe I am remembering wrong then.

But, the garbage at the top is most likely due to off-by-one issues. Reversing the sign of yoff in ConvertProjMatrixToD3D fixes it, but I'm pretty sure it's also wrong in other ways.

-[Unknown]

@zackdreaver
Copy link

Still not fixed in build:
v1.0.1-421-ga1f5c53

@enprixd
Copy link

enprixd commented Jul 26, 2015

This still exists in this build

image

And there's also this weird effect on the non-menu screens.

image

I'd be happy to help in whatever way I can.

@unknownbrackets
Copy link
Collaborator

Is this with OpenGL, Direct3D? What video card do you have? Have you updated your drivers?

Fair warning: Direct3D is known to be broken. If you're using it and it's not working, the good news is that everything is working exactly as expected. If possible, please switch to OpenGL instead.

Also, I was under the impression this used features of OpenGL only present in OpenGL 3.x and higher. So if your drivers only support OpenGL 2 (Settings -> Tools -> System Information will tell you), then I won't be shocked if it doesn't work, unfortunately.

-[Unknown]

@enprixd
Copy link

enprixd commented Jul 26, 2015

I checked to see if that's the case with Direct3D too. But when I switched to OpenGL, the same problem still exists, kind of.

Here's the (Settings -> Tools -> System Information) thing under OpenGL.
image

And it says API Version 4.5 so I think I'm fairly updated.

And this is a snapshot of the game
There's still some sort of bloom going on.
image

(Excessive bloom in menus have disappeared, fortunately.)
image

But it isn't as bad as the one on D3D.
image

It doesn't hinder the gameplay that much tho (not like how d3d makes the menu almost unreadable). Just a slight snitch on the graphics.

@unknownbrackets
Copy link
Collaborator

So, there is intentionally bloom from the windows - just to make sure we're on the same page. The bloom you're seeing there is too much, but there should be some.

This may be impacted by your Render Resolution setting. The higher it is, the worse bloom is going to look. This is because of how games generate bloom - it involves blurring the screen to a smaller texture, but if that's 10x the size it expects, it may not actually end up as "blurry". There's a hack in the settings to force certain effects to use smaller render resolutions to try to solve this, but I don't know if it works with this game or not.

If that doesn't help, I recommend you try reseting your settings to defaults. You might have some hack on, like "disable stencil" or something, causing this.

Also, my experience is that most games on NVIDIA cards run better using our OpenGL backend. The OpenGL backend is the less buggy one anyway, so I generally recommend it (unless you're using an older Intel card that just can't do OpenGL right.)

-[Unknown]

@enprixd
Copy link

enprixd commented Jul 26, 2015

Ohh. So that explains it. Thanks, man.

I didn't know bloom would be affected when trying to render at a higher resolution than what's being displayed.

The bloom wasn't as bad when I set the render resolution near to the actual window size.

So this game suffers from too much bloom when you try to render it at higher resolutions.

Both on the OpenGL backend.
(At 10x resolution)
image

(At 3x resolution)
image

There's a big difference. Are you guys gonna do something about this, or just let it happen coz that's how its supposed to be?

@unknownbrackets
Copy link
Collaborator

Well, inherently, rendering at a higher resolution is the cause of that problem.

For example, the PSP screen is 480x272. What the game then does is:

  1. Render the scene, and keep track of which parts are "bright" (like the windows.)
  2. Copy the screen to a temporary buffer, filtering out only the parts that are bright. At this point, you just have the white windows and etc., with black around them.
  3. Scale this temporary buffer down to (example numbers pulled out of my nose) 24x13 (5%) pixels. This loses a lot of detail. This step is important.
  4. Draw this 5 different times, e.g. 1 in the center and 4 each direction - each at 20% power. Blend these together into one blurry out of focus version of the bright areas.
  5. Now, stretch this back up to 480x272 and draw it back on top of the screen. This makes the bright parts "glow" because the blurring effect has made their white areas wider.

That's just an example, but iirc that's roughly how this game achieves this affect. It might be slightly different in some specific step.

So the trouble with Render Resolution is, it affects all rendering (and if it didn't, some effects in some games would render at low resolution and people would complain.)

So when the game scales it down to 24x13 - losing almost all of the detail in the pixels... it doesn't. It actually scales down to 240x130, which is only half the size of the PSP screen and still has a lot of sharp edges and detail.

And when it draws it the four different directions offset by 1 pixel? Those are now offset by 10 pixels. So now you get grid lines because things are spaced out more than they really should be.

That's why you get weird and ugly artifacts when you're using a higher render resolution. It happens in other games too.

The best solution we have to this is to look at render targets that are smaller, and assume they are "hopefully and probably maybe" being used for bloom, and force them to 1x render resolution. That's what the hack setting I mentioned does.

Sometimes games draw the way I described without any indication that they aren't actually drawing the screen itself. In these cases, it's very hard to detect. That's why said hack doesn't even always work.

-[Unknown]

@enprixd
Copy link

enprixd commented Jul 26, 2015

So that explains the weird images that's surrounding everything in almost every scene.

So it's a problem that rose from making the game render higher than it's supposed to.

I feel like either you have to catch the most common way games render bloom then do hacks on how it should be, or apply individual hacks for every game out there.

Either way, its hell of a lot work.

(I have to be honest. I don't know what render targets are, and you kind of lost me at that point)

Thanks man. I hope if anyone else plays this game and encounters this page would get an idea on the workaround for this, which is turning down the resolution for now and using OpenGL.

Or I don't know, whatever you guys would recommend. I'm not good at what you guys do. Hue.

@ghost
Copy link

ghost commented Apr 1, 2017

Oh,this old issue may never solved,isn't it?you may try to turn off the "disable alpha test"

@hrydgard
Copy link
Owner

hrydgard commented Apr 1, 2017

Actually, we made an option to counter the problem mentioned above (lower resolution for effects) and that fixed the problem of blocky highlights.

Yeah, "disable alpha test" is a really bad idea. It's probably time to remove that option now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants