/GodotRetro

A pack of retro shaders to Godot!

Primary LanguageGLSLOtherNOASSERTION

💜 Godot Retro 💜

Old-school shader pack

Logo

Summary

About

Godot Retro is a collection of shaders for godot, with various ports of shaders from ShaderToy, Unity and The Book Of Shaders.

License

  • Shaders

All shaders are licensed under CC0, with the exception of the Glitch and the NTSC Basic shaders, which are licensed under MIT.

  • Example Scenes

Models, scripts, textures and sounds are all under CC0.

The shrWind shader, used in map 4, was made by Maujoe and licensed under MIT.

Shaders

  • Glitch

  • NTSC Basic

  • Grain

  • Simple Grain

  • Jpeg Compression

  • Dithering

  • Lens Distortion

  • NTSC

  • Simple Glitch

  • TV

  • VHS

  • VHS Pause

  • Accurate CRT

  • B&W

  • Better CC

  • Blur

  • Color Precission

  • Sharpness

  • Hello World

  • Hello World 2

Recommendation

The shaders look their best when they are used together!

Example :

This scene uses the following combination : Lens Distortion + Grain + TV

And this scene uses this combination : Lens Distortion + Sharpness + NTSC

  • Tip 1 : Sharpness is a must have when using any of the TV, VHS or the NTSC shaders for getting a more realistic retro effect!

  • Tip 2 : Lens Distortion and a high FOV looks like the old MTV 2000 blumbers aesthetics if used correctly!

  • Tip 3 : Be careful with Grain! It can get very messy if you aren't careful!

  • Tip 4 : All shaders can be used beyond their default range values, just open the shader code and adjust the numbers inside the hint_range() function in the variables section.

  • Tip 5 : ALWAYS check the headers of the shaders you are using, there's information about the compatibility, credits and licensing!

Installation

How to use a shader included in this collection in your projects :

  1. Copy the GodotRetro folder to your project (can be added anywhere in the filesystem)

For normal shader :

  1. Just add the shader to a ShaderMaterial.

For screen space shaders :

  1. Create a ColorRect and make it a FullRect in the Layout options

  2. Assign the preferred shader to the ShaderMaterial property of the ColorRect.

Example :

example

You have successfully applied your first shader!! Have fun!

DISCLAMER :

  • To use 2 or more shaders at the same time, you gotta use a BackBufferCopy set as Viewport for each shader.
  • For UI, make sure to set it above the shaders for them to be affected by the shaders for more uniformity and immersion.

Examples

5 free and easy to learn example scenes are included in this collection.

General controls:

ESC
Quit Game

Map 1 controls:

W A S D E Q Shift
Foward Turn Left Backwards Turn Right Walk Left Walk Left Run

Map 4 controls:

A D
Move Left Move Right

Features

  • 22 easy to use godot shaders

  • 5 well done example projects

Limitations

Unfortunately, some shaders arent 100% perfect.

  • Some shaders may not work in GLES2, please check the respective shader's header inside the shader code tab for more information!

Credits

Shaders ported by : Ahopness (@ahopness)

B&W shader was originally made by : demofox (ShaderToy)

Color Precission shader was originally made by : abelcamarena (ShaderToy)

Jpeg Compression shader was originally made by : paniq (ShaderToy)

Better CC shader was originally made by Wunkolo(ShaderToy)

Lens Distortion shader was originally made by jcant0n(ShaderToy)

Sharpness shader was originally made by Nihilistic_Furry(ShaderToy)

Grain shader was originally made by spl!te(GitHub) & martinsh(Personal Blog)

Simple Grain shader was originally made by : juniorxsound (ShaderToy)

TV shader was originally made by : ehj1 (ShaderToy)

VHS shader was originally made by : FMS_Cat (ShaderToy)

VHS Pause shader was originally made by : caaaaaaarter (ShaderToy)

NTSC shader was originally made by : ompuco (ShaderToy)

NTSC Basic shader was originally made by : keijiro (Github)

Glitch shader was originally made by : keijiro (GitHub)

Simple Glitch shader was originally made by : Gaktan (ShaderToy)

Blur shader was originally made by : jcant0n (ShaderToy)

Hello World and Hello World 2 shaders were originally made by : Patricio Gonzalez Vivo