Page 1 of 1

Pixelated Film Grain Shader

Posted: Tue Aug 13, 2019 1:19 am
by Nash


This is a port of the film grain shader from https://www.shadertoy.com/view/Mdj3zd but combined with the concept of a pixelated screen shader from https://gamedev.stackexchange.com/quest ... ion-shader

What makes this shader different from your typical film grain shader? Have you noticed that with usual film grain shaders, the effect becomes harder to see as your video resolution goes up? That is because the effect is applied per-pixel, so at 640x480, for example, the effect is very clear, but at 4k resolution, you almost can't see the effect because the pixels are too tiny. Then you compensate for this by cranking the "amount", but then it starts to look bad because you are just making the viewport harder to see.

With this shader, the size of one "grain" stays constant no matter resolution you're using. You can use the options to adjust the pixel size - lower number produces larger, blockier grains.

This shader is best understood by just running it and playing with the options, while changing resolutions. The film grain effect and intensity will remain consistent regardless of whatever resolution you set.

Have fun!

EDIT: Updated on 02/28/2020 - better random noise generator (fixes weird bug where the grain starts having zig-zag patterns after extended lengths of time)

Re: Pixelated Film Grain Shader

Posted: Tue Aug 13, 2019 4:33 pm
by Tormentor667
This is cool!

Re: Pixelated Film Grain Shader

Posted: Tue Aug 13, 2019 6:00 pm
by Nash
Thanks. Feel free to use in BoA if you want - I know you love shaders. ;)

Re: Pixelated Film Grain Shader

Posted: Wed Aug 14, 2019 2:22 pm
by Ozymandias81
Will check this and replace actual noise filter on BoA with this one :)

Re: Pixelated Film Grain Shader

Posted: Thu Aug 15, 2019 6:42 pm
by Ozymandias81
Aaaand it has been added, wonder if there are some fallbacks or issues since I kept zscript version at 3.7.2 as present on BoA instead of 4.2.0 (which generated a little pack of deprecated warnings not belonging only to Film Grain anyway)

Re: Pixelated Film Grain Shader

Posted: Thu Aug 15, 2019 8:20 pm
by Nash
ZScript version should be irrelevant, as far as I can tell, I didn't use any new ZScript-side features for this shader. :)

Re: Pixelated Film Grain Shader

Posted: Sat Aug 17, 2019 8:57 am
by Ozymandias81
Noticed it in the end... Thanks a lot for this shader!

Re: Pixelated Film Grain Shader

Posted: Tue Nov 19, 2019 9:21 pm
by XLightningStormL
Now all we need is a VHS shader lol

Re: Pixelated Film Grain Shader

Posted: Wed Nov 20, 2019 11:15 am
by MFG38
XLightningStormL wrote:Now all we need is a VHS shader lol
I do recall seeing one that at least comes close to that. "Old Video Shader" was its name, I believe.

Re: Pixelated Film Grain Shader

Posted: Fri Feb 28, 2020 3:16 am
by Nash
Updated on 02/28/2020 - better random noise generator (fixes weird bug where the grain starts having zig-zag patterns after extended lengths of time)

Re: Pixelated Film Grain Shader

Posted: Sat Feb 29, 2020 3:36 am
by Ozymandias81
Ah thanks for the update, need to fiddle it and export that on BoA later then

Re: Pixelated Film Grain Shader

Posted: Sat Feb 29, 2020 4:20 am
by Nash
You can just lift the updates from the shader (.fp) file - there are no changes to any of the other files. :)