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

GS/HW: Natively downscale targets - General post processing #11337

Merged
merged 10 commits into from
Jun 17, 2024

Conversation

refractionpcsx2
Copy link
Member

@refractionpcsx2 refractionpcsx2 commented Jun 5, 2024

Description of Changes

Downscales targets when being shrunk for post processing/bloom reaosns

Rationale behind Changes

A lot of games do bloom effects which rely on bilinear filtering, when you upscale this filtering gets completely broken or becomes exponentially more intensive to compute (if we did so). This PR will downscale the target to native resolution before bilinearly shrinking it.

This won't fix everything magically, but it will improve some games.

Suggested Testing Steps

Test games which have horrible looking post processing at high resolution.

Keep in mind, this option is forced on in this PR but will become an upscaling fix later.

Screenshots from x8 or x3
Tomb Raider Legend:
Master:
image
PR:
image

Project Snowblind:
Master:
image
PR (SW looks like this too):
image

Valkyrie Profile 2:
Master:
image
PR:
image

Devil May Cry 3:
Master:
image
PR:
image

Tony Hawk Project 8:
Master:
image
PR:
image

Dragonball Z BT 3:
Master:
image
PR:
image

Yakuza:
Master:
image

PR;
image

Complete list of games affected by this PR are as follows:

.hack infection/fragment - Special texture (fixes Depth of field alignment)
Ace Combat 04 - Aggressive
Area 51 - Aggressive
B-Boy - Align native
Band Hero - Align to native
Barbie Horse Adventures - Riding Camp - Normal + Align to Native
Bee Movie - Aggressive + Align to Native
Bionacle Heroes - Aggressive
Black - Aggressive + special texture (align native is more correct but the low resolution lights look more obvious)
Brave - The Spirit Dancer - Normal + Align to Native
Burnout 2 onward - aggressive
Cat woman - Aggressive + special texture (Fixes post processing alignment) - keep AF and Tex in RT
Chronicles of Narnia - Prince Caspian - Normal + Special Texture
Colosseum - Road to Victory - Normal + Align Native - remove round sprite + CLUT Render
Corvette - Aggressive + align native (fixes reflections and post positioning)
Crimson Tears - Aggressive + Normal vertex (fixes post position) - remove round sprite + force even
DBZ - BT - Aggressive + align native, remove CPU CLUT
DBZ - BT2 - Aggressive + align native
DBZ - BT3 - Aggressive + align native, remove CPU CLUT
Def Jam - Normal + align native
Destroy All Humans! - Aggressive + Special Texture
Destroy All Humans! 2 - Aggressive + Special Texture
Devil May Cry 3 - Aggressive + Align to native, remove round sprite
Drakengard 2 - Aggressive + Align to Native
Driv3r - Special Texture - remove round sprite
Ed, Edd and Eddy - Aggressive + align native - fixes post processing
Fahrenheit - Aggressive + Align Native (Fixes lighting smoothness and positioning)
Fast and the Furious - Normal + Autoflush
Ford Racing 2 - Aggressive + Align Native (nice soft cloud shadow)
Ghost in the Shell - Normal + Align Native + AF 1 + Estimate Region - Remove Merge sprite
Gladitator - Road to Freedom - Normal + Align Native - remove round sprite + CLUT Render
Gladitator - Sword of Vengeance - Normal + Align Native - remove round sprite
Guitar Hero 3 onward - Normal + Align to native
Headhunter - Aggressive + Align native
Incredible Hulk, The - Ultimate Destruction - Normal + Align to Native
Incredibles - Aggressive + Align Native (fixes post effects and position)
Indiana Jones Emperors Tomb + Staff of Kings = aggressive + align native
Iron Man - Aggressive + Align to Native
Jojo no Kimyou na Bouken - Phantom Blood - Aggressive + Align to Native
Just Cause - Aggressive + (Special Texture)
Killzone - Aggressive + Align to Native
Kingdom Hearts II + Final Mix - Aggressive + Special Texture (ATN causes some glitches)
LEGO Batman - Normal + Align to Native - Remove CPU CLUT Render
LEGO Indiana Jones - Normal + Align to Native
LEGO Star Wars II - Normal + Align Native - Remove CPU CLUT Render
Lemony Snicket's Series of Unfortunate Events - aggressive + align native
Lord of the Rings - The Third Age - Aggressive + Align Native (post effect)
Madagascar - Aggressive - Removed round sprite
Malice - Normal + Align to Native
Matrix, The - Path of Neo - Aggressive
Mercenaries - Normal
Metal Gear Solid 3 - aggressive + align to native
Midnight club 3 - aggressive + align native
Monster House - aggressive + align native
Mortal Kombat - Deadly Alliance - Aggressive + align native (soft shadows) - keep round sprite
Narc - Aggressive + Align Native (fixes post positioning)
Naruto - All games - Aggressive + Special Texture (fixes post blending and alignment)
Okami - Aggressive + align native - Remove round sprite full
Onimusha - Dawn of Dreams - Aggressive + align native
Onimusha 2 - align native + round sprite full for text
Onimusha 3 - Aggressive + align native
Parappa the Rapper 2 - aggressive + align to native
Power Rangers - Super Legends - Aggressive + align native (fixes post process alignment)
Prince of Persia - Sands of Time - Aggressive + Align to Native
Prince of Persia - Two Thrones - Aggressive + Align to Native
Prince of Persia - Warrior Within - Aggressive + Align to Native
Project Snowblind - aggressive + Align Native
Ratatouille - aggressive + align native - remove even sprite (fixes post processing position)
Ratchet + Clank (all games) - Normal + align native
Resident Evil - Dead Aim / Gun Survivor 4 - Aggressive + Align to Native
Ridge Racer V - replace CLUT renderer with CSBW 1/1
Robots - Aggressive + Align to Native
RPM Tuning - Aggressive + Special Texture
Ruff Trigger - The Vanocore Conspiracy - Normal native scaling
Scarface - The World is Ours - Normal
Sega Rally 2006 - Aggressive + Align native (soft shadows)
Sega Superstar Tennis - Normal + Align native
Shadow of the Colossus - Aggressive
Shadow of Rome - Aggressive + Align to Native
Shadow the Hedgehog - Aggressive + Align to Native
Shadow Hearts - Covenant - No Native Scaling, just replacing hacks with Align to Native.
Shox - Aggressive (fixes window reflection) + Align Native (UI positioning)
Sniper Elite - Aggressive
Splinter Cell - aggressive + align native (fixes post processing) + recommend full blending to full to fix lighting effects (high barriers)
Spongebob - the movie - Aggressive + align native to fix post - Remove CLUT renderer
Springdale - Aggressive + Align Native (Fixes post alignment)
Spyro - The Eternal Night - Normal + Normal Vertex (fixes lighting post, aggressive makes shadows low res, ATN causes obvious edge garbage)
Spyro Dawn of the Dragon - remove CLUT and CSBW, add NS aggressive + align native
Star Ocean 3 - Aggressive + Align to Native
Star Wars Battlefront - Aggressive + Align Native
Star Wars Battlefront 2 - Aggressive + Align Native
Syphon Filter Dark Mirror - aggressive
Syphon Filter: Logan's Shadow - Aggressive
Tales of the Abyss - Normal + Align to Native
Tekken 5 - Normal
The Chikyuu Boueigun/Monster Attack - Align to Native
The Chikyuu Boueigun 2/Global Defence Force/Terra Defence Force - Normal + Align to Naitive
The Suffering - aggressive + align native (does get a small bit of top edge bleed in some cases)
Thrillville - Aggressive
Thrillville - Off the Rails - Aggressive + Align to Native
TOCA Race Driver 3 - Normal + Special + RS half - remove align sprite (V8 Supercars and DTM Race)
Tomb raider legend + underworld = normal
Tony Hawk games after 4 - Normal + Align native - remove merge sprites and force even
Total Overdose - Normal + Align Native
Toy Story 3 - aggressive + align native - remove even sprite (fixes post processing position)
Transformers - Revenge of the Fallen - Aggressive + Align to Native
Transformers - The Game - Normal + Special Texture
True Crime NYC - Aggressive
True Crime - Streets of LA - Align to Native
Valkyrie Profile 2 - aggressive (also change to align native)
Wakeboarding Unleashed - Aggressive (water reflections)
WALL-E - aggressive + align native - remove even sprite (fixes post processing position) - remove round sprite + CSBW
Wallace and Gromit - Curse of the were-rabbit - Normal + Align native
Wallace and Gromit - Project Zoo - special texture - native scaling is more right but low res makes it gross.
WRC 1, 2, 4 - Aggressive + special texture
Xenosaga Episode III - aggressive + change to align to native remove round sprite full - autoflush sprite only
Xenosage Episode I - change to align to native remove round sprite full - autoflush sprite only
Yakuza - Aggressive - maybe note ATN corrects the alignment but currently causes visual problems
Yakuza 2 - Aggressive - maybe note ATN and no align sprite corrects the alignment but currently causes visual problems
Yumeria - aggressive + special texture (fix post alignment and text alignment)
Zone of Enders 2nd runner - aggressive + normal vertex fix DoF

@bigol83
Copy link

bigol83 commented Jun 5, 2024

Ok, time to test this, that Valkyrie Profile 2 comparison really is amazing 😍

@DonelBueno
Copy link

DonelBueno commented Jun 5, 2024

Syphon Filter: Dark Mirror
Master:
PCSX2_2024_06_05_13_07_00_653

PR:
PCSX2_2024_06_05_13_07_01_790

Syphon Filter: Logan's Shadow
Master:
PCSX2_2024_06_05_13_14_10_120

PR:
PCSX2_2024_06_05_13_14_55_178

@refractionpcsx2
Copy link
Member Author

Looks like it helps the light glows in those games :)

@DonelBueno
Copy link

Looks like it helps the light glows in those games :)

Yeah, and look at the columns in Syphon Filter: Dark Mirror.

@RedDevilus
Copy link
Contributor

RedDevilus commented Jun 5, 2024

Master:
Casper - Spirit Dimensions_SLES-50647_20240605183255
Casper - Spirit Dimensions_SLES-50647_20240605183248
Casper - Spirit Dimensions_SLES-50647_20240605183234
SnapsCasperMaster.zip

PR:
Casper - Spirit Dimensions_SLES-50647_20240605182911
Casper - Spirit Dimensions_SLES-50647_20240605183058
Casper - Spirit Dimensions_SLES-50647_20240605183053
snapsPRCasper.zip

For this game it looks worse, but 3D games generally looks better.

@Kazeira
Copy link

Kazeira commented Jun 5, 2024

Well I think it looks better when it looks better, otherwise it's really bad.
I think that excluding opaque textures may be a good test ?

Tomb Raider Legend (Binoculars)
Master:
Tomb Raider - Legend_SLES-53908_20240605184033

PR:
Tomb Raider - Legend_SLES-53908_20240605183949
Trust me it's really bad in motion
RAD mode is broken by the way, only the left part of the screen goes green, but it's not related to this pr.

@refractionpcsx2 refractionpcsx2 force-pushed the gs_downscalepost branch 2 times, most recently from eec17e5 to ba4d945 Compare June 5, 2024 16:57
@crashGG
Copy link
Contributor

crashGG commented Jun 5, 2024

This issue seems to have been resolved
#11054
master:
Def Jam - Fight for NY_SLUS-21004_20240408150139
pr:
Def Jam - Fight for NY_SLUS-21004_20240605195936

@DonelBueno
Copy link

Sega Rally 2006
Master (HPO Allign to native):
PCSX2_2024_06_05_14_31_20_492

PR (HPO Allign to native)::
PCSX2_2024_06_05_14_30_55_383

Also helps Sega Rally 2006 soft shadows. BTW, the recommended blending level for this game is no loger high (maybe medium or basic), it should be updated in the Game DB file.

@crashGG
Copy link
Contributor

crashGG commented Jun 5, 2024

Well I think it looks better when it looks better, otherwise it's really bad. I think that excluding opaque textures may be a good test ?

I noticed that in the PC version , when using RAD, the center is clear and the edges are fuzzy.Perhaps this is by design.

@refractionpcsx2
Copy link
Member Author

Sega Rally 2006 Master (HPO Allign to native):
PR (HPO Allign to native)::

Also helps Sega Rally 2006 soft shadows. BTW, the recommended blending level for this game is no loger high (maybe medium or basic), it should be updated in the Game DB file.

wow yeah those shadows look a lot more natural

@refractionpcsx2
Copy link
Member Author

Reference

Yeah I'm aware of Casper, I think the problem is it does the same thing as snowblind engine games, renders massive, then shrinks it down to normal size, and I'm detecting this as a "downsample", so I probably need to detect that

@AmyRoxwell
Copy link

Ratchet Deadlocked:

Master Defaults:

Ratchet - Deadlocked_SCUS-97465_20240605133148

Master Align Sprite:

Ratchet - Deadlocked_SCUS-97465_20240605132723

PR Align Sprite:

Ratchet - Deadlocked_SCUS-97465_20240605132726

Software:

Ratchet - Deadlocked_SCUS-97465_20240605132736

GSdump:
Ratchet - Deadlocked_SCUS-97465_20240605132736.zip

Master Defaults:

Ratchet - Deadlocked_SCUS-97465_20240605133043

Master Align Sprite:

Ratchet - Deadlocked_SCUS-97465_20240605133005

Pr Align Sprite:

Ratchet - Deadlocked_SCUS-97465_20240605133012

Software:

Ratchet - Deadlocked_SCUS-97465_20240605133022

GSdump:
Ratchet - Deadlocked_SCUS-97465_20240605133022.zip

@refractionpcsx2
Copy link
Member Author

Okay Casper (and the snowblind engine games) should be fine now.

@refractionpcsx2
Copy link
Member Author

Well I think it looks better when it looks better, otherwise it's really bad. I think that excluding opaque textures may be a good test ?

Binoculars in Tomb Raider are kinda broken, they don't work correctly (though it's not overly obvious there)

@AmyRoxwell
Copy link

Removes garbage from RC3 cutscenes that use the full 4:3 area at the bottom (Only one seems to be the intro cutscenes after booting the game) + Bloom closer to software

Master:

Screenshot_06_05_2024-30

Pr with align Sprite:

Screenshot_06_05_2024-31

Master:
Screenshot_06_05_2024-32

Pr with Align Sprite:
Screenshot_06_05_2024-33

Bloom:

Master Defaults:

Ratchet   Clank - Up Your Arsenal_SCUS-97353_20240605150350

Master with Align Sprite:

Ratchet   Clank - Up Your Arsenal_SCUS-97353_20240605150717

Pr with Align Sprite:

Ratchet   Clank - Up Your Arsenal_SCUS-97353_20240605150352

software:

Ratchet   Clank - Up Your Arsenal_SCUS-97353_20240605150357

GSdump: (only bloom, the garbage line doesn't show up on dumps)
Ratchet & Clank - Up Your Arsenal_SCUS-97353_20240605150357.zip

@RedPanda4552
Copy link
Contributor

A little more subtle, but SWBF2 seems to have received a little bit of a face lift. The game in general just looks a little... Chunky, when you upscale it, but this definitely took a bite out of some of the blocky bloom crap that used to smear the screen. The most obvious case in this example is if you look at the distant spires in the horizon.

Master:
image

PR:
image

@TheTechnician27
Copy link
Contributor

TheTechnician27 commented Jun 5, 2024

Just tested on Thrillville. Current master it's optimal to use special aggressive, but on this PR, it's optimal to use normal vertex.

Master special aggressive 8x upscale:

Thrillville_SLUS-21413_20240605160033

PR normal vertex 8x upscale:

Thrillville_SLUS-21413_20240605154843

Master native scale:

Thrillville_SLUS-21413_20240605155711

@DonelBueno
Copy link

DonelBueno commented Jun 5, 2024

Burnout 2
Master:
PCSX2_2024_06_05_18_14_18_574

PR:
PCSX2_2024_06_05_18_14_26_661

Software:
PCSX2_2024_06_05_18_12_19_940

Burnout 3
Master:
PCSX2_2024_06_05_18_23_55_643

PR:
PCSX2_2024_06_05_18_24_29_977

@refractionpcsx2
Copy link
Member Author

oh nice :) It helps with the "whoosh" blur in the later burnouts too :)

@DonelBueno
Copy link

oh nice :) It helps with the "whoosh" blur in the later burnouts too :)

Yes, I was about to post a comparison here. Updated my last post.

Copy link
Contributor

@stenzek stenzek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work :D

pcsx2/GS/Renderers/HW/GSRendererHW.cpp Outdated Show resolved Hide resolved
pcsx2/GS/Renderers/HW/GSRendererHW.cpp Outdated Show resolved Hide resolved
pcsx2/GS/Renderers/HW/GSRendererHW.cpp Outdated Show resolved Hide resolved
pcsx2/GS/Renderers/HW/GSRendererHW.cpp Outdated Show resolved Hide resolved
pcsx2/GS/Renderers/HW/GSTextureCache.cpp Outdated Show resolved Hide resolved
@refractionpcsx2
Copy link
Member Author

refractionpcsx2 commented Jun 6, 2024

Okay I added some new changes to catch upscales, this improves

Guitar Hero 3 bloom positioning
Sega Superstar Tennis (the bloom on the star)
Headhunters (bloom)
True Crime New York City (depth of field)

These changes look better with align to native, and this will likely become the new standard setting, with an option to disable it.

The following games will need it disabled in the GameDB as the effect is negative on the game:

Forbidden Siren 2 (the post is very strong and you can see the nativeness)

@Kazeira
Copy link

Kazeira commented Jun 6, 2024

To reduce the "gross/nativeness" look you're talking about, wouldn't it be better if the targets where downscaled with a better filter (something that gives a sort of anti-aliasing) ?

@bigol83
Copy link

bigol83 commented Jun 18, 2024

I don't have any resolution patch on Dragon Quest VIII. I don't know if you have the game @refractionpcsx2 but it's easy to reproduce. Start the game, turn ON Aggressive Scaling you will see the game renders correctly but as soon as it reaches a battle transition it becomes pixelated. Pressing F9 to switch from hardware rendering to software rendering and then F9 again to go back to hardware rendering it returns at upscaled resolution. It's difficult to make a gsdump of the issue because the battle transition in DQVIII is quite long and the file size is too big for Github or even Discord.

@refractionpcsx2
Copy link
Member Author

@bigol83 okay, I'm trying some changes which will probably affect Dragon Quest 8 (it's actually my test case) and that will likely resolve that.

@bigol83
Copy link

bigol83 commented Jun 18, 2024

@bigol83 okay, I'm trying some changes which will probably affect Dragon Quest 8 (it's actually my test case) and that will likely resolve that.

Thanks for your great work, it's really appreciated.

@Alezuma
Copy link

Alezuma commented Jun 18, 2024

Can you go in to the Settings then Graphics, then the OSD tab and enable the "Show Statistics" option.

Then if you load your game until it's showing in native resolution (like the PS2) and take a screenshot with Alt + Print Screen buttons, if you could then paste with Ctrl + V here, that should post the screenshot, it might give me some indication of what's going on

1 -This is when the resolution drops to the native one:
1

2 - Here, when I press select, the resolution goes back to 3X:
2

3 - I returned to controlling the character and it remained at 3X:
3

Thanks again :)

@refractionpcsx2
Copy link
Member Author

refractionpcsx2 commented Jun 18, 2024

okay, can you do a multi frame GS dump from the point where it starts in 3x and then drops to native? (hold the buttons for the whole time you go through the problem bit)

Don't worry about the pressing select bit.

@Alezuma
Copy link

Alezuma commented Jun 18, 2024

okay, can you do a multi frame GS dump from the point where it starts in 3x and then drops to native? (hold the buttons for the whole time you go through the problem bit)

Don't worry about the pressing select bit.

I am sending two GS from different places: Asgard and Hall of Valhalla

VP2GS.zip

Thanks :)

@refractionpcsx2
Copy link
Member Author

You need to start recording earlier, that's too late, it all looks native resolution to me.

@Alezuma
Copy link

Alezuma commented Jun 18, 2024

You need to start recording earlier, that's too late, it all looks native resolution to me.

Valkyrie Profile 2 - Silmeria - GS.zip

I hope I did it right this time :)

@BParks21
Copy link

@DiegcD
Copy link

DiegcD commented Jun 19, 2024

Can you fix Saint Seiya The Hades with this PR? The aura that characters have is duplicated at higher resolution scaling. The game didn't release on US only PAL and Japan.

@JordanTheToaster
Copy link
Member

Can you fix Saint Seiya The Hades with this PR? The aura that characters have is duplicated at higher resolution scaling. The game didn't release on US only PAL and Japan.

Post a gs dump of it please.

@DiegcD
Copy link

DiegcD commented Jun 19, 2024

Can you fix Saint Seiya The Hades with this PR? The aura that characters have is duplicated at higher resolution scaling. The game didn't release on US only PAL and Japan.

Post a gs dump of it please.

Look the golden shoulder and the golden forearm Between software and hardware upscaled.

Captura_de_pantalla_35
Captura_de_pantalla_36
Saint_Seiya_-_The_Hades_SLES-54162_20240320002335
Saint_Seiya_-_The_Hades_SLES-54162_20240320002335.gs.zip

@JordanTheToaster
Copy link
Member

Look the golden shoulder and the golden forearm Between software and hardware upscaled.

Will be fixed in my PR when it goes in.

image

@DiegcD
Copy link

DiegcD commented Jun 19, 2024

Look the golden shoulder and the golden forearm Between software and hardware upscaled.

Will be fixed in my PR when it goes in.

image

Thanks for the quick fix. Will try when it merges to nightly 👍

snip

@RedPanda4552
Copy link
Contributor

@DiegcD Do not discuss piracy. Only warning.

@BParks21
Copy link

BParks21 commented Jun 19, 2024

Shadow Hearts 2 broken shadows with ATN HPO:
Shadow Hearts - Covenant  Disc 2 of 2 _SLUS-21044_20240619172835

With Special HPO:
Shadow Hearts - Covenant  Disc 2 of 2 _SLUS-21044_20240619172851

Game also needs Round Sprite Full. Without:
Shadow Hearts - Covenant  Disc 2 of 2 _SLUS-21044_20240619172912

With:
Shadow Hearts - Covenant  Disc 2 of 2 _SLUS-21044_20240619172921

Unless there is a way to make shadows work with ATN I'd say go back to Special.

@Parotaku
Copy link

Parotaku commented Jun 20, 2024

Hey @refractionpcsx2, nice work!!
I think it might help in "Nightmare Before Christmas" and many other Capcom effect-intensive games (like Demento/Haunting Ground) which have misplaced bloom/glow in higher res and needed some manual Texture Offsets fix before...

Master Hardware rendering:
n-hw

Master Software rendering:
n-sw

GS dump:
Nightmare Before Christmas_SLPM-65739_20240620095850.zip

EDIT:
Sorry, didn't notice it was already available... anyway, Aggressive looks nice but glow is sometimes obscured by black "stuff" (compare right pumpkin's smile with the software rendering):
Master Hardware Aggressive rendering:
agr

@BParks21
Copy link

BParks21 commented Jun 23, 2024

So ATN HPO breaks shadows pretty bad in Prince of Persia Warrior Within and The Two Thrones. It used to also break the shadows in Sands of Time but doesn't seem to anymore, or at least I can't find an area where it does. For WW and TT it breaks shadows in quite a few areas. Special does not break shadows. Here's multi frame dumps for both games.

Prince of Persia - Warrior Within_SLUS-21022_20240622201144

https://drive.google.com/file/d/1zDDiA_1zvzm3KQ98h0l9vUv-vHuj21Ox/view?usp=sharing

@chrisleigh-stack
Copy link

Hardware Download Mode settings disappeared on settings list.

@refractionpcsx2
Copy link
Member Author

Still there for me
image

be sure you're looking per-game, it hasn't been global for probably over a year now

@Kazeira
Copy link

Kazeira commented Jun 27, 2024

Hey @refractionpcsx2 excuse me for the late reply, It's not perfect but looks way better of course.

I have an alternative idea, instead of downscaling the targets why not use some sort of gaussian blur filter proportional to the upscaling (since they are already downscaled but from the internal/upscaled resolution if I'm not wrong)?
The concept behind this idea is that downscaling and then bilinearly stretch the same image is technically a cheap way to make a blur filter, so why not make it high quality. For example, a gaussian blur with a radius of (2 * upscaling - 1) gives a result similar to a downscale, but in high resolution.
It will be a little less accurate of course but it will also remove the shimmering effect and still resolve most of non-downscaled issues, the hardest part will be to implement a real time algorithm like that.

@refractionpcsx2
Copy link
Member Author

it's not just as simple as that, unfortunately, a lot of these games after shrinking achieve this effect by moving the image around by 1 pixel at a time over itself, and at upscaled qualities you're going going to get this effect strongly at all.

But another problem is the positioning, which seems to get messed up when upscaled, and I don't think just doing the filtering upscaled will achieve this as it'll be readying incorrectly from the source position (which can be out by like 7 pixels which then gets blown up to 4x the size, so now you're 24 pixels out.

So yeah, it's not perfect, you're right, but it's kind of the best of a bad situation. Trying to handle this upscaled will be a whole new can of worms and heuristics to try and maintain, and the HW renderer is already a pain in the neck :D

@Kazeira
Copy link

Kazeira commented Jun 28, 2024

Oh okay, I thought the pixel offset was already handled by the half-pixel offset hack.
So I guess the last possible solution would be to use a smooth bicubic downscaling algorithm to have some sort or anti-aliasing...

@refractionpcsx2
Copy link
Member Author

that's what we have now, a box filter

@Kazeira
Copy link

Kazeira commented Jul 1, 2024

Then what b/c values are used? Because there's a huge difference between b=0 & c=0.5 being sharp (somewhat aliased) and b=1 & c=0 being smooth (somewhat blurry), I think b=c=1/3 is a good compromise but maybe other values could be even better

@refractionpcsx2
Copy link
Member Author

It's supposed to be blurry, the whole idea of the effect is to cause a blur.

@Skan743
Copy link

Skan743 commented Jul 28, 2024

Hi, I spent the whole morning looking for which update changed the depth of field effect of DBZ BT3, it bothers me to see that it is very blurry (for my taste). The screenshots were taken with the default emulator settings, only the rendering was changed to DX11 and the internal resolution to 3x. Is there any way I can disable this setting myself?. This affects even the current stable version 2.0.2

This happens with "manual hardware renderer fixes" on automatic.

Notice how the structure of the time room and somewhat distant objects in other maps look very blurry.

Ver: pcsx2-v1.7.5910-windows-x64-Qt
Dragon Ball Z - Budokai Tenkaichi 3_SLUS-21678_20240728093411
Dragon Ball Z - Budokai Tenkaichi 3_SLUS-21678_20240728093459

Ver:pcsx2-v1.7.5911-windows-x64-Qt
Dragon Ball Z - Budokai Tenkaichi 3_SLUS-21678_20240728093713
Dragon Ball Z - Budokai Tenkaichi 3_SLUS-21678_20240728093744

I spent the whole morning looking for which update "broke" the DBZ BT3 distance display, I'm upset to see that it's very blurry. The screenshots were taken with the default emulator settings, only the rendering was changed to DX11 and the internal resolution to 3x. Is there any way I can disable this setting myself?. This affects even the current stable version 2.0.2

This happens with "manual hardware renderer fixes" on automatic.

Notice how the structure of the time room and somewhat distant objects in other maps look very blurry.

Ver: pcsx2-v1.7.5910-windows-x64-Qt
Dragon Ball Z - Budokai Tenkaichi 3_SLUS-21678_20240728093411
Dragon Ball Z - Budokai Tenkaichi 3_SLUS-21678_20240728093459

Ver:pcsx2-v1.7.5911-windows-x64-Qt
Dragon Ball Z - Budokai Tenkaichi 3_SLUS-21678_20240728093713
Dragon Ball Z - Budokai Tenkaichi 3_SLUS-21678_20240728093744

@JordanTheToaster
Copy link
Member

Hi

It's not "broken" it's a depth of field effect you can turn it off if you do not like it.

@Skan743
Copy link

Skan743 commented Jul 28, 2024

Hi

It's not "broken" it's a depth of field effect you can turn it off if you do not like it.

Thanks for the explanation. When you activate "manual hardware renderer fixes" the OSD indicates that automatic parameters are not being applied.

So, from this version DBZ BT3 runs automatically with these parameters.
Graphics->Upscaling Fixes
Half Pixel Offset: Align To Native
Native Scaling: Aggressive

In previous versions with:
Graphics->Hardware Fixes
Software CLUT render: (1 normal)
Graphics->Upscaling Fixes
Native Scaling: Aggressive

I mention this in case anyone else dislikes the effect produces in this specific game, thanks for answering ^^

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

Successfully merging this pull request may close these issues.