can’t wait to test out the lvl4 shader. It looks really nice!
The translation for shader paradigm will be a hell lot harder! Because performance is a big issue for these two new levels. While LV1 and LV2 do not interpolate beyond their pixel borders, lv3 and lv4 bleed their interpolations beyond the center pixel. They bleed into their pixel neighbors. So it adds a new level of complexity to implement.
Ah well I hope you can make it happen someday. In the mean time, is your test program still publicly available? I’d like to try them out on a few pictures if so.
This is a only 4x version of the LV4 I just developed:
Hi Hyllian, I don’t know if you’re checking pms in this forum. I have a request regarding the standalone exe you released a while back in the zdoom forum. since It’s probably not too interesting for others here I thought it would be better to discuss it in private.
xBR LV3 added to the repo:
https://github.com/libretro/common-shaders/tree/master/xbr/xbr-lv3-multipass
Its the first complete xBR LV3 I
ve ever done.
EDIT: Only tested on PS3. It`s working flawless.
Sweet man, I just saw it almost as soon as you posted it. Just converted it to glsl so I can try it kms. Can’t wait to test it out. Thank you!
edit both the cg and glsl version seem to have some glitches in linux with glx and kms driver. Can’t really test in windows since I got rid of it but it probably works better there, lol.
I think maister will have some more work on his cg2glsl script.
I already posted this on byuu’s forum, but it may be helpful to repeat: I had problems with it on my radeon card using the OpenGL driver, but using the D3D driver in Windows works great. So, probably chalk it up to weirdness with AMD’s OpenGL shader compiler.
Try this 3xBRLV4 No Blend standalone app: https://anonfiles.com/file/ca64833f5adb4bd6bb1a9aa6e8ddb62c
Original:
3x:
wow, thank you very much. state of the art xbr right here
I’ll compare it to the one I used before.
btw… where did you find dat dragon? this sprite is awesome.
You know, I’ve never been able to get this working properly on Windows. Using the GL video driver on a GTX 570 with the latest WHQL NVidia driver (320.49). I load it in my config file with video_shader = “./Shaders/xbr-lv3-multipass/xbr-lv3.cgp” and this is the output I get: http://abload.de/img/retroarch-0919-230603ind1u.png
I’m not usually a fan of smoothing filters like this anymore, but I’d at least like to try it out since this seems better than what I used years ago, HQ4X. hq4x.cg just crashes RetroArch for me, btw.
@Awakened have you tried it with the D3D driver? On my AMD system, it works fine with D3D but OpenGL looks similar to your screenshot.
Can’t seem to get the d3d9 driver to work anymore. I tried disabling stuff that only works with the GL driver like hard sync and turning off the shader in my config, but I always get this:
RetroArch [WARN] :: [D3D9]: Failed to init device with hardware vertex processin
g (code: 0x8876086c). Trying to fall back to software vertex processing.
RetroArch [ERROR] :: [D3D9]: Failed to init D3D9 (Failed to init device, code: 0
x8876086c).
RetroArch [ERROR] :: Cannot open video driver ... Exiting ...
RetroArch [ERROR] :: Fatal error received in: "init_video_input()"
Edit: Huh, got d3d9 to work by setting windowed fullscreen to false. The shader works with that driver. Thanks for the suggestion!
I really can’t remember where I got this.
But when I need a pixel art for tests, I’m used to search in www.pixeljoint.com
Great you got it running thanks to hunter’s tip.
I really don’t know why there are some much incompatibilities among GL shader treatment by different drivers. It’s a paing in the ass.
But, I intend to buy a new notebook to investigate and turn my shaders more compatible.
have a question about the xBR LV3 cg implementation. I usually prefer to activate bilinear filtering in retroarch to soften the rough edges of interpolation shaders, but in this case it makes no difference. which makes me think that the output resolution is a fixed multiply (which is probably higher than my monitor), at least the scale paramter in the cgp seems to have no effect. I tried to add bicubic-normal.cg as a third step, but I can’t get it to work right. any ideas?
This multipass LV3 xBR is scale agnostic. You don’t need a third shader to soften it.
But, if you think the edges aren’t soften enough, you can change this line in the last pass vertex shader:
co.delta = float2(IN.video_size.x/IN.output_size.x, 0.5*IN.video_size.x/IN.output_size.x); // Delta is the thickness of interpolation
What it does, for example, it grabs the inverse of output resolution, considering the input. So, if you are scaling by 4x, then delta becomes float2(1/4; 1/8). You can put a constant in that equation and try bigger values, which will soften more the output. For you information, SABR uses float2(0.4, 0.4) in any scale. You can adjust it for your tastes. But beware, 0.5 is too soft! and 0.1 is too rough! So, use the range [0.1;0.5] to find your sweet spot.
meh, not quite what I’m looking for. I don’t know, just looks a little bit crispy at some areas, which bilinear filtering usually takes care of. here is an example of what I mean (its turtles4 on the snes) and how it’s supposed to be with softening (used a graphic tool):
would like to soften it up a bit maybe with a third shader. didn’t see much change with the delta parameter.
Then, what you need is a blur shader.
Try those in mudlord folder. Inside them there’s a parameter you can change to control the level of blur.