[FTEQW] Bandither - A "Retro" Dithering and Colorband Shader
[FTEQW] Bandither - A "Retro" Dithering and Colorband Shader
Bandither is a non-linear color banding and dithering shader for GZDoom, FTEQW, Doom 64, and ReShade. It quantizes each color channel similar to 3D graphics hardware of the 1990's (Sega Saturn, Playstation 1, Nintendo 64, Voodoo 1/2) and can be skewed for darker games. It has multiple dithering modes, which can be blended, and are adjustable from pure color bands to full dithering. The amount of colors and linearity of the banding can be adjusted too.
Download Here: https://github.com/Immorpher/Bandither/releases/
Screenshots:
All screenshots were taken at half resolution (to show off the dither better), with 8 color levels per channel (512 total colors), and a banding curve of 5 (which has more darker color levels). Color levels can be reduced to 2 per channel or increased much higher. Refer to the twitter post: https://twitter.com/immorpher64/status/ ... 0229944320
Videos:
It is hard to see the dither effects through the YouTube video compression. But you can catch glimpses of it in HD resolution.
Dither Type: Bayer 8x8, Dither Amount: 0.5 https://youtu.be/-wo27fVaBcE
Dither Type: Scanline, Dither Amount: 1 https://youtu.be/teG4uWo2Q10
Dither Type: Scanline, Dither Amount: 0.5 https://youtu.be/6ujS4py7pDw
Dither Type: Motion Noise, Dither Amount: 0.5 https://youtu.be/7ZElNXh4laI
Download Here: https://github.com/Immorpher/Bandither/releases/
Screenshots:
All screenshots were taken at half resolution (to show off the dither better), with 8 color levels per channel (512 total colors), and a banding curve of 5 (which has more darker color levels). Color levels can be reduced to 2 per channel or increased much higher. Refer to the twitter post: https://twitter.com/immorpher64/status/ ... 0229944320
Videos:
It is hard to see the dither effects through the YouTube video compression. But you can catch glimpses of it in HD resolution.
Dither Type: Bayer 8x8, Dither Amount: 0.5 https://youtu.be/-wo27fVaBcE
Dither Type: Scanline, Dither Amount: 1 https://youtu.be/teG4uWo2Q10
Dither Type: Scanline, Dither Amount: 0.5 https://youtu.be/6ujS4py7pDw
Dither Type: Motion Noise, Dither Amount: 0.5 https://youtu.be/7ZElNXh4laI
Last edited by Immorpher on Sun May 22, 2022 5:33 am, edited 1 time in total.
Re: [FTEQW] Bandither - A "Retro" Dithering and Colorband Shader
Wow! Awesome release.
I have nothing to add, besides perhaps suggesting that the install process is as simple as renaming the .zip from your Releases page on GitHub to a .pk3 extension and you can plop them whole thing into id1/ as-is! That's all. Cool work!
I have nothing to add, besides perhaps suggesting that the install process is as simple as renaming the .zip from your Releases page on GitHub to a .pk3 extension and you can plop them whole thing into id1/ as-is! That's all. Cool work!
Re: [FTEQW] Bandither - A "Retro" Dithering and Colorband Shader
I completely forgot that FTEQW had PK3 with its Quake 3 support. That will be easy to do!
I have also made a recent update to add more dither types as well: https://twitter.com/immorpher64/status/ ... 1604486144
I am still looking into ambient occlusion; I think I will start badgering more knowledgeable people haha.
I have also made a recent update to add more dither types as well: https://twitter.com/immorpher64/status/ ... 1604486144
I am still looking into ambient occlusion; I think I will start badgering more knowledgeable people haha.
Re: [FTEQW] Bandither - A "Retro" Dithering and Colorband Shader
Spike would probably know exactly where to start in regards to SSAO!
Re: [FTEQW] Bandither - A "Retro" Dithering and Colorband Shader
Oh I bet! I have pestered poor Spike so much in the past haha.
From my researching I will need a depth buffer, which from the shader showcase it seems to have. A "normal" buffer with angles will help too. But if not, normals can be calculated from the depth buffer.
Re: [FTEQW] Bandither - A "Retro" Dithering and Colorband Shader
Perhaps jumping the shark with this one! The latest Bandither update lets you blend dither styles. This is to quench my obsession to add a bit of noise to dithers. But also I found you could get some funky results by blending two unrelated style. Also the motion noise now varies with time, so you can add some time-varying noise to any dither. To make up for jumping the shark, I did clean some of the code! https://github.com/Immorpher/Bandither/releases/
I will eventually get the FTEQW shader in a pk3 as well, once I learn how to set some of the shader options as CVars. I seen you could do that in the GLSL showreel, just need to learn from that!
I will eventually get the FTEQW shader in a pk3 as well, once I learn how to set some of the shader options as CVars. I seen you could do that in the GLSL showreel, just need to learn from that!
Re: [FTEQW] Bandither - A "Retro" Dithering and Colorband Shader
For cvars in GLSL shaders, you can add something like:
At the top of the shader (after your samplers)
and then inside your functions:
Code: Select all
!!cvardf r_skipFoobar
and then inside your functions:
Code: Select all
#if r_skipFoobar == 0
// inactive
#else
// active
#endif
Re: [FTEQW] Bandither - A "Retro" Dithering and Colorband Shader
Nice that seems simple enough! Is there a way to set a default value for the cvar? Like... !!cvardf r_skipFoobar = 0Eukara wrote: ↑Thu May 12, 2022 6:36 pm For cvars in GLSL shaders, you can add something like:
At the top of the shader (after your samplers)Code: Select all
!!cvardf r_skipFoobar
and then inside your functions:
Code: Select all
#if r_skipFoobar == 0 // inactive #else // active #endif
I am going to see if I can find info on that.
Re: [FTEQW] Bandither - A "Retro" Dithering and Colorband Shader
On a google search I seen something like this
!!cvardf r_glsl_turbscale_reflect=1
So it looks like thats how its done! Ill get working on it
!!cvardf r_glsl_turbscale_reflect=1
So it looks like thats how its done! Ill get working on it
Re: [FTEQW] Bandither - A "Retro" Dithering and Colorband Shader
Cool! Can't wait to see what's next
Re: [FTEQW] Bandither - A "Retro" Dithering and Colorband Shader
Thanks for your suggestion Eukara as Bandither has been updated to 1.4! This does not add any more new features, rather better support for more software.
- ReShade support has been added, thus allowing it to be used for a lot more software. I had to convert the coding from GLSL to HLSL, thus I can leverage this for more application support in the future perhaps.
- Doom 64 Remaster (KEX engine) support has been added too! I recommend implementing it via ReShade as it takes a bit of extra effort to adjust its settings within the Doom 64 Remaster. It only compiles under OpenGL as well, but this is a proof of concept that future mods could use custom shaders in the KEX engine!
- FTEQW now has better support with console variable options and its nicely bundled as a pk3 now.
- ReShade support has been added, thus allowing it to be used for a lot more software. I had to convert the coding from GLSL to HLSL, thus I can leverage this for more application support in the future perhaps.
- Doom 64 Remaster (KEX engine) support has been added too! I recommend implementing it via ReShade as it takes a bit of extra effort to adjust its settings within the Doom 64 Remaster. It only compiles under OpenGL as well, but this is a proof of concept that future mods could use custom shaders in the KEX engine!
- FTEQW now has better support with console variable options and its nicely bundled as a pk3 now.