slang-shaders/xbr
2020-10-30 14:22:42 -05:00
..
shaders add Hyllian's xbr updates and anime4k port 2020-10-30 14:22:42 -05:00
2xBR-lv1-multipass.slangp remove 1x scaling caused by #104's fix 2019-06-02 22:12:28 -05:00
README.md add super-xbr shaders and presets 2017-04-06 15:42:27 -05:00
super-2xbr-3d-2p.slangp add super-xbr shaders and presets 2017-04-06 15:42:27 -05:00
super-2xbr-3d-3p-smoother.slangp add super-xbr shaders and presets 2017-04-06 15:42:27 -05:00
super-4xbr-3d-4p.slangp add super-xbr shaders and presets 2017-04-06 15:42:27 -05:00
super-4xbr-3d-6p-smoother.slangp add super-xbr shaders and presets 2017-04-06 15:42:27 -05:00
super-8xbr-3d-6p.slangp add super-8xbr-3d shaders and preset 2017-09-07 13:11:53 -05:00
super-xbr-2p.slangp add super-xbr shaders and presets 2017-04-06 15:42:27 -05:00
super-xbr-3p-smoother.slangp add super-xbr shaders and presets 2017-04-06 15:42:27 -05:00
super-xbr-6p-adaptive.slangp add super-xbr-6p-adaptive 2017-09-15 12:08:33 -05:00
super-xbr-6p-anime4k.slangp add Hyllian's xbr updates and anime4k port 2020-10-30 14:22:42 -05:00
super-xbr-6p-small-details.slangp add Hyllian's xbr updates and anime4k port 2020-10-30 14:22:42 -05:00
super-xbr-6p.slangp add super-xbr shaders and presets 2017-04-06 15:42:27 -05:00
super-xbr-deposterize.slangp add some more xbr-related shaders and presets 2017-06-30 14:33:49 -05:00
xbr-hybrid.slangp fix a few more stragglers 2019-06-03 10:20:05 -05:00
xbr-lv2-3d.slangp add xbr-lv2-3d shader and preset 2017-09-14 16:02:33 -05:00
xbr-lv2.slangp remove 1x scaling caused by #104's fix 2019-06-02 22:12:28 -05:00
xbr-lv3-multipass.slangp remove 1x scaling caused by #104's fix 2019-06-02 22:12:28 -05:00
xbr-lv3.slangp remove 1x scaling caused by #104's fix 2019-06-02 22:12:28 -05:00
xbr-mlv4-multipass.slangp add xbr-mlv4-multipass finally working w00t 2017-11-16 21:23:39 -06:00

xBR Shaders

These shaders uses the xBR algorithm to scale. xBR (scale by rules) works by detecting edges and interpolating pixels along them. It has some empyrical rules developed to detect the edges in many directions. There are many versions implemented and they differs basically by the number of directions considered and the way interpolations are done.

xbr-lvl1-noblend.cg

The most basic xBR shader. Level 1 means it only detects two edge directions (45º and 135º). The interpolation doesn't blend pixel colors. It uses the most similar color from one of its neighbors. So, the final result uses the original color palette. And because of that, it only works properly at odd scale factors (3x, 5x, 7x...).

Recommended sampling: Point Recommended scale factors: multiple odd scale factors

xbr-lvl2-noblend.cg

An evolution from last shader. Level 2 means it can detect four edge directions, which shows as better rounded objects on screen. The interpolation doesn't blend pixel colors. It uses the most similar color from one of its neighbors. So, the final result uses the original color palette. And because of that, it only works properly at odd scale factors (3x, 5x, 7x...).

Recommended sampling: Point Recommended scale factors: multiple odd scale factors

xbr-lvl2.cg

It can detect four edge directions, which shows as better rounded objects on screen. The interpolation blends pixel colors, so that the final image is smoother than the noblend versions. It works well in any integer scale factor.

Recommended sampling: Point Recommended scale factors: Integer multiples

xbr-lvl2-multipass.cg

It's the same as the last one. But this one divides the calculations among multiple shaders. So, this one is faster than the single versions.

Recommended sampling: Point Recommended scale factors: Integer multiples

xbr-lvl2-fast.cg

This is a simplified lvl2 implementation. Much faster than the standard version, though it sacrifices some quality.

Recommended sampling: Point Recommended scale factors: Integer multiples

xbr-lvl3-noblend.cg

Level 3 means it can detect six edge directions, which shows as better rounded objects on screen. The interpolation doesn't blend pixel colors. It uses the most similar color from one of its neighbors. So, the final result uses the original color palette. And because of that, it only works properly at odd scale factors (3x, 5x, 7x...).

Recommended sampling: Point Recommended scale factors: multiple odd scale factors

xbr-lvl3.cg

It can detect six edge directions, which shows as even better rounded objects on screen than the lvl2. The interpolation blends pixel colors, so that the final image is smoother than the noblend versions. It works well in any integer scale factor.

Recommended sampling: Point Recommended scale factors: Integer multiples

xbr-lvl3-multipass.cg

It's the same as the last one. But this one divides the calculations among multiple shaders. So, this one is faster than the single versions.

Recommended sampling: Point Recommended scale factors: Integer multiples

xbr-mlv4-multipass.cg

This shader is the latest evolution of the standard xBR algorithm. It can can detect eight edge directions, which shows as better rounded objects on screen. Besides, it has a non-greedy selection of edges internally, which means it doesn't automatically chooses to interpolate along the steeper edge. The interpolation blends pixel colors, so that the final image is smoother than the noblend versions. It works well in any integer scale factor.

Recommended sampling: Point Recommended scale factors: Integer multiples

xbr-hybrid.cg

This shader combines xBR with reverse-aa. It's recommended for games with smooth color gradients.

Recommended sampling: Point

super-xbr-2p.cg

Super-xBR uses parts of the xBR algorithm and combines with other linear interpolation ones. It is intended for games with smooth color gradients. Compared to the hybrid ones, Super-xBR provides a much better image, without discontinuities.

Recommended sampling: Point Recommended scale factors: Integer multiples

super-xbr-3p-smoother.cg

The same as the last one with an additional step to increase smoothness. This one provides even better image quality, though a bit slower.

Recommended sampling: Point Recommended scale factors: Integer multiples