PCSX2 / pcsx2

PCSX2 - The Playstation 2 Emulator
https://pcsx2.net
GNU General Public License v3.0
11.69k stars 1.62k forks source link

xBRZ texture scaling and multi-pass CPU-based filter framework with Super xBR support. #800

Closed ADormant closed 2 years ago

ADormant commented 9 years ago

Would something like that be possible to implement in GSDX? http://sourceforge.net/projects/xbrz/files/xBRZ/ https://github.com/gonetz/GLideN64/commit/daf18efabbae16454c83562456a6cc19b53255a1 https://github.com/gonetz/GLideN64/commit/5bf7a4e4dea9bc7f1b0cb68db5781b386a5470b7 https://github.com/gonetz/GLideN64/commit/65f29beba6f32f6887647baf28bdae07ad515b96 https://github.com/gonetz/GLideN64/commit/b81c8404fed4a1eb62d3c7354fb7151d1be9508b https://github.com/gonetz/GLideN64/commit/58c48a8f60e06b77c2dd5133f94b43f7a34218cd https://github.com/gonetz/GLideN64/commit/663b5d1f5e930d755b157a68fc804f0372622584 https://github.com/Tinob/Ishiiruka/commit/d2fb92518f50c6154f33f05be39128e48d6b83be https://github.com/Tinob/Ishiiruka/commit/84f96aec7b2c52fda401e9d2419ab9a8787b349a https://github.com/Tinob/Ishiiruka/commit/6bf5062b7656d9d1d026478a2a639497cad2357b https://github.com/PeterTh/gedosato/tree/master/ext/xbrz http://sourceforge.net/projects/xbrz/files/xBRZ/ https://github.com/libretro/common-shaders/tree/master/xbr https://github.com/nagadomi/waifu2x http://forum.doom9.org/showthread.php?t=170727 https://github.com/tapcio/PeteOpenGL2Tweak/tree/master/gpuPeteOpenGL2Tweak/xBRZ

https://github.com/citra-emu/citra/pull/5017/files https://github.com/citra-emu/citra/pull/5166/files https://github.com/hrydgard/ppsspp/pull/15109/files https://github.com/hrydgard/ppsspp/pull/14789/files https://github.com/hrydgard/ppsspp/pull/13235/files https://github.com/hrydgard/ppsspp/pull/10393/files https://github.com/hrydgard/ppsspp/pull/7449/files https://github.com/hrydgard/ppsspp/pull/1599/files https://github.com/hrydgard/ppsspp/pull/10845/files https://github.com/hrydgard/ppsspp/pull/383/files

https://github.com/Tinob/Ishiiruka/commit/d2fb92518f50c6154f33f05be39128e48d6b83be https://github.com/Tinob/Ishiiruka/commit/ae0669573dd4fabf90477a45139f1dd5bf89ddd9

refractionpcsx2 commented 9 years ago

I think this has been discussed on the forum however I can't remember if the developers had much say on the matter. I guess it's entirely possible, but it's where we use it, do we limit it to 2d sprites, put it on all 3d textures? I dunno. Texture quality on 3d textures is pretty ass on the PS2 :P

karasuhebi commented 9 years ago

but it's where we use it, do we limit it to 2d sprites, put it on all 3d textures?

I'd leave it up to the user, sort of like how billinear filtering is done.

SirFancyBacon commented 9 years ago

Second leaving it up to the user, in some cases I'd like it on GUI elements and not textures, and in other cases I'd like it on both, i'm not sure which version ppsspp uses, but there is now a v1.4 of the codebase: http://sourceforge.net/projects/xbrz/files/xBRZ/

I know that Hyllian is working on a Super-XBR that is supposed to overcome many of his original works drawbacks, however i cannot seem to find the code for it.

refractionpcsx2 commented 9 years ago

There's some code here: https://github.com/libretro/common-shaders/tree/master/xbr

nnedi3 also looks interesting.

SirFancyBacon commented 9 years ago

Found a video showcasing Super XBR-2p and another scaler called "NEDI" https://www.youtube.com/watch?v=olz9Br7Ajdo I feel Super XBR has more detail, but NEDI has a smoother image. i'm not sure if this is the "nnedi3" you mentioned though.

refractionpcsx2 commented 9 years ago

yeh i found that video NEDI is a typo, you won't find anything on that in google, you have to search for nnedi3

http://avisynth.nl/index.php/Nnedi3

gregory38 commented 9 years ago

Please stop spamming people. I check regularly the tracker.

ADormant commented 8 years ago

Multi-pass cpu filter framework is required for a cpu based version of Super xBR which can work directly on textures. https://github.com/libretro/common-shaders/tree/master/xbr https://drive.google.com/file/d/0B_yrhrCRtu8GYkxreElSaktxS3M/view?pref=2&pli=1 https://github.com/PeterTh/gedosato/tree/master/ext/xbrz Here are screenshots of RE Remake on GC with Super xBR applied with RetroArch's image viewer core. Super xBR on textures looks phenomenal on digitized games and games with pre-rendered backgrounds. retroarch-0104-045603c2lwi retroarch-0104-045626t3yf9 retroarch-0104-050239cgzx3 retroarch-0104-050309hrlvx retroarch-0104-045826iplny

ADormant commented 8 years ago

http://pastebin.com/cbH8ZQQT

refractionpcsx2 commented 8 years ago

Super xBR does look good on that game, but Gamecube generally has much better textures than the PS2, I'm not sure how well it would translate for us, also what is the performance impact?

ADormant commented 8 years ago

@refractionpcsx2 I think that fast version of Super xBR is slightly slower that xBRZ. Though I believe Hylian still working on it. If PS2 has worse textures then effect should be even more visible. In Ishiiruka xBRZ/Super xBR can even be used for upscaling dumped textures and loading them back at higher resolution.

refractionpcsx2 commented 8 years ago

It would be interesting to take a ps2 texture (@gregory38 ? :P ) and run it through a Super xBR filter just to see how it comes out.

ADormant commented 8 years ago

@refractionpcsx2 @gregory38 Not a PS2 game but a PS1 game RE3 so even worse textures. super xbr re3 2 super xbr re3 super xbr re3 3 super xbr re3 4 super xbr re3 5

refractionpcsx2 commented 8 years ago

They were static backgrounds, so the image quality was pretty good on them, same as with FFX in shops and buildings, there was a lot of static backgrounds with cleverly placed collision points to make it feel like it was really there.

If you can find a PS1 game that wasn't using static background images, Gran Turismo 2 for example, and it looks that good, then I'll be impressed!

Also those images could be the PC version :P

ADormant commented 8 years ago

https://www.dropbox.com/sh/7f78x2czhknfrmr/AADhXhA0b8EIcCyejITS697Ca?dl=0 Jinc2-Sharper in my opinion looks better than xBRZ yet is faster than Super xBR.

refractionpcsx2 commented 8 years ago

Jinc2-Sharper looks a very subtle effect, not sure how much it will help.

ADormant commented 8 years ago

Jinc looks sharpest. First is bicubic, second xbrz and third jinc bicubic xbrz jinc2-sharper

Eignar17 commented 8 years ago

@ADormant is good graphics 3 good sharpen :3 :+1:

refractionpcsx2 commented 8 years ago

I don't like how his jacket looks in jinc, the rust on the van is good, but the jacket is too sharp, i actually prefer BRZ for that (even though it looks barely different to bicubic in these pictures)

ADormant commented 8 years ago

the rust on the van is good, but the jacket is too sharp

That's probably because jinc makes little details more visible which isn't always needed but in theory both can be implemented.

ADormant commented 2 years ago

@stenzek Hi, greak job with texture replacement. Thank you. Any chance you could implement xBRZ texture upscaling in PCSX2 like in Duckstation?

https://github.com/PCSX2/pcsx2/issues/10

refractionpcsx2 commented 2 years ago

Please don't harass people in to implementing the crap you want.

lightningterror commented 2 years ago

Closing as low priority/trivial, if anyone wishes they can tackle the request.