It seems a driver problem. Maister was investigating it and developed that cg2xml scritpt to help people with these problems. I don’t have the knowledge to address driver issues, I only make shaders and test it on PS3 (my main and only test platform).
It’s an issue I have even on PS3 (not exatly the same bug). But I can’t use .cgp files properly on PS3 by now. Squarepusher is already aware of this.
About the xBR description, well, what I wrote are the base ideas behind it. From there to now, I’ve just improved implementations and combinations with other algorithms (like ReverseAa, for example). The core idea is the edge direction calculation.
Retroarch provides hardware filtering (GPU builtin), like linear or point. Linear interpolation uses the bilinear algorithm. Point interpolation uses the nearest neighbor algorithm.
It seems a question of taste. As I display my games in a Plasma TV and 2 meters away, I don’t see those changes distracting. Though I recognize if you’re playing with your PC monitor, it’s very easy to see those imperfections.
To solve this, you have many options to use as second shader. From the sharper to the blurrer you can use this:
1- ReverseAA.cg
2- double pass (use the same as the first xBR-Hybrid)
3- Lanczos16.cg
4- Bicubic-Sharper.cg
5- ddt.cg
The first shader acts over the Image Geometry and Depth. The second shader is more suitable to control Image Sharpness and Blurriness.
I have just tried your xBR-hybrid-beta4 shader. While it works perfectly in Direct3D compared to SABR (which doesn’t for me), i must say it is not as sharp as SABR and even shows some artifacts.
I am using your suggested setup with:
Shader 1: xBR-hybrid-beta4.cg
Shader 2: xBR-hybrid-beta4.cg
Comparing to SABR+AA and xBR-hybrid-beta4+AA and xBR-hybrid-beta4+xBR-hybrid-beta4. While i cannot see a difference between xBR-hybrid-beta4+AA and xBR-hybrid-beta4+xBR-hybrid-beta4 the difference compared to SABR is there.
If you look at Ifrits body for example and compare that (the guy sitting in the middle), he has a small white spot in his chin. But also the art decoration surrounding the text, here you can clearly see some artifacts with xBR while SABR doesn’t (tiny white spots where the blue line is supposed to be). I hope this will help you a bit on your way.
Anyway, other then that it seems to work great, so thanks a lot for another great shader and keep up the great work. I will be monitoring this thread to see what you come up with next.
Actually, xBR-hybrid and SABR aren’t comparable. They have distinct goals. You should compare it with xBR pure (3.8 versions).
The hybrid means it uses two algorithms to filter. It compares the results between ReverseAA and xBR and chooses what’s more suitable to give a depth feel to a 2D image.
Pure xBR and SABR are specialized in 2D flat images only, while ReverseAA was designed to highlight depth of a 2D image in perspective. The weak point of xBR is the strong point of ReverseAA and vice-versa. They complement each other. That’s why I’m developing this hybrid.
So, the transition between xBR and ReverseAA algorithms isn’t completely seamless yet. My task now is to minimize these small transitions.
For you to have an idea of 2d depth, play Donkey Kong Country or Killer Instinct with xBR 3.8 or SABR and then with xBR-hybrid. You’ll see more depth on textures.
Actually, xBR-hybrid and SABR aren’t comparable. They have distinct goals. You should compare it with xBR pure (3.8 versions).
The hybrid means it uses two algorithms to filter. It compares the results between ReverseAA and xBR and chooses what’s more suitable to give a depth feel to a 2D image.
Pure xBR and SABR are specialized in 2D flat images only, while ReverseAA was designed to highlight depth of a 2D image in perspective. The weak point of xBR is the strong point of ReverseAA and vice-versa. They complement each other. That’s why I’m developing this hybrid.
So, the transition between xBR and ReverseAA algorithms isn’t completely seamless yet. My task now is to minimize these small transitions.
For you to have an idea of 2d depth, play Donkey Kong Country or Killer Instinct with xBR 3.8 or SABR and then with xBR-hybrid. You’ll see more depth on textures.[/quote]
I see, didn’t know that, very interesting, i would love to see some more depth in 2d games, and only the more reason for me to keep watch on this. A question, you said, and i quote:
Retroarch provides hardware filtering (GPU builtin), like linear or point. Linear interpolation uses the bilinear algorithm. Point interpolation uses the nearest neighbor algorithm.
Where exactly is that option enabled in RetroArch?
Speaking only for the PS3 version, those options are available in the video options (the same screen where you choose shaders). For PC or other systems, I don’t know. Ask maister or Squarepusher.
On PC/Mac/Linux, under Settings > Video, you can check/uncheck a box to enable/disable bilinear filtering. Bilinear is enabled by default, but if it is disabled, RetroArch will use point filtering instead.
There is a second bilinear box for the 2-pass/FBO option in the shader settings. It functions the same but applies only to the second shader.
Individual shaders can also override those settings if they are designed to work with one or the other.
It’s in PSD format, but GIMP should open it, too, if you don’t have Photoshop. Toggle the visibility of the top layer, which is crt1 and it will make the background layer, crt2, visible with circles drawn around some of the problem spots.