GSdx, bloom and offsets (bug?)
#1
Game: Tales of the Abyss
Info: PCSX2 r1888 public beta, GSdx SSSE3 DX9 & DX10-Hardware modes
Windowed @ 640x480 and 4:3
Using double internal resolution (1024x896) but is present on all but native mode.
NOT using the pixoff_x or pixoff_y in the GSdx.ini


I did notice the other posts about the improperly placed bloom effect, which is also how I learned of the pixoff ini setting.
While getting a value to use I discovered that the bloom changes position randomly(?) upon reloading the game (press esc>Execute). You don't even have to change a single thing to find a new positioned bloom when you reload.
If it happens to get the correct location, it will only be temporary. This leads me to believe there is a bug with the plug in causing it to change the position at the last moment, becuase it DOES calculate the correct location every now and then. Unfortunetly this is just temporary and changes when the game tells the plugin to recalculate the effect.

There is also stretching that happens to these bloom effects.
Any bloom effect, that would appear on software mode, at the bottom and/or right sides of the will get stretched. If near the bottom, they get stretched vertically, and if near the right its horizontally.
On my 640x480 window the stretching always happens on the 3rd pixel, row or column, from the edge of the screen. Any bloom effect on the first or second pixel row or column from the edge are not stretched.

In the horizontal stretching image below, the bloom SHOULD appear on top of the lamp. The 3rd pixel column on the lamp is the same area the bloom is getting stretched in.
*As a test, I temporarily used and increased the offset a bit via pixoff_x. This just increased the distance of the stretch and not where it starts if the bloom was in the correct location*




Heres a few shots I took from just reloading the game. Didn't bother uploading the many different positions of the bloom, as all but one were in the wrong location. Left screen is the correct location for the bloom, while the other two are wrong.
[Image: correctr.th.jpg][Image: wrong01w.th.jpg][Image: wrong02.th.jpg]

Here's two shots of the stretching.
Internal resolution is 4096x4096, with the higher quality bloom, makes it easy to locate where the stretching starts and stops.
[Image: stretchingbottom.th.jpg][Image: stretchingright.th.jpg]

I would take screens of other games, but I have no others that have this problem. Possibly Star Ocean 3, but the disk is waaaay to scratched to make a useable iso out of it.



Now, my question is, which is the bug? The improperly placed blooms, or the randomly correctly placed ones?
Reply

Sponsored links

#2
Yes, the old problem.
All these cases are the bug, HW rendering is just too imprecise to fix them all.
Reply
#3
So both cases are bugs? That is unexpected. It makes no sence to me, how restarting the game causes the bloom to appear with different offsets most of the time and every now and then appear in the proper location.
Not once did the bloom appear slightly wrong, it was either all over the place or right where it belongs so you atleast know the plugin is calculating it right sometimes. The stretching never happened on the properly placed bloom either, so I'm lead to believe that stretching area is the cause of the offset position.

I don't know how rendering works in ps2/GSdx, but I would assume the bloom is a post processing type effect. Or atleast one of the last things rendered as text boxes are able to overlap the bloom, nor are they effected by it.

Someone mentioned that the increased resolution is done in a hackish way. Would it be possible to seperate normal and post-processing's resolutions?
Ex: native res = 512x448. have the plugin render@ 1024x796, then downscale the image to 512x448 (kinda like MSAA x2) then finish calculations for post-process effects using the native resolution. Then, assuming ps2 behavior, your display device (tv in the ps2's case) would stretch the image to 640x480.



If someone would be so kind as to explain the rendering process, for either the ps2 or GSdx (perhaps even both?) would help in understanding whats going on and what one should expect the final image to look like. Or atleast point me towards a source of information to satisfy my curiosity.

--------------------------------EDIT---------------------------------


I got curious and took some screens while using pixoff in the GSdx.ini
Adjusted the pixoff values for 2x native resolution (still using Tales of the Abyss which is 512x448 as mentioned earlier)
pixoff_x=-7
pixoff_y=-5

As in the screenshots of the original post, you can see that increasing the internal resolution also effects the bloom by making it sharper and less bloomy. Any time the plugin gave the bloom the proper position, it would not get scaled to the internal resolution but instead to the native resolution(this is what I was trying to ask if it was possible before this edit).

If you look at the screens below, you will notice the bloom is in the exact position and looks exactly the same between 1024x796 and 4096x3584. If these shots did not have any pixoff value the bloom would be in the correct location.

I don't know if these will help, but here are the screenshots.
Again, please note that they all have the pixoff values listed above.
Top row = correct placement if no pixoff value used
Bottom row = the location while using pixoff values
Left = 4096x3584 (8x native)
Right = 1024x796 (2x native)

[Image: 4096correct.th.jpg][Image: 1024correct.th.jpg]
[Image: 4096pixoff.th.jpg][Image: 1024pixoff.th.jpg]


Sorry for the wall of text/spam posts I make Laugh
Reply




Users browsing this thread: 2 Guest(s)