Ultimate Retro Shader Collection for Godot 4

Ultimate Retro Shader Collection (URSC) is a unification and enhancement of various “retro-3D” shaders sourced from the Godot community. These shaders are essential for creating authentic graphics reminiscent of the PlayStation (PSX) or Nintendo 64 (N64).

Because this is a collection of shaders, not a single shader file, you’ll need to head to GitHub, itch.io, or the Godot Asset Library to download it. If you’d like to get a feel for what the collection has to offer, a demo exists, which you can play right in your browser on itch.io!

Shader Features:

  • Vertex snapping (a.k.a. vertex jitter)
  • Affine texture mapping (a.k.a. texture warping)
  • 3-point texture filtering (as seen on N64)
  • Special “metallic/reflective” and “shiny/glossy” effects
  • Distance-based texture LOD (as seen in some PSX games) (1.2.0+)
  • Distance-based, per-vertex fog (1.3.0+)
  • Single-image, flat sky (1.2.0+)
  • Screen-reading color reduction with dithering and additive/subtractive fade effects
  • Customization through a wide range of uniforms and macros
  • Support for all rendering methods (Forward+Mobile, and Compatibility) (1.1.0+)

Documentation:

Extensive documentation can be found on GitHub.

Credits:

  • MenacingMecha
    • This collection derives from his PSX and N64 shaders. If you need inspiration for creating your own retro-3D game, definitely have a look at his work!
  • Zacksly
    • The “shiny” effect (on the gem and chocolate in the cover image) is adapted from their PSX Pickup Shader for Godot 3.
  • tentabrobpy
    • The “flat sky” effect is adapted from their N64 Style Skybox shader, found here on Godot Shaders.
Shader code
// The collection provides plenty of ready-to-go shaders, 
// but when you want to make some advanced customizations, 
// like disabling lighting, you can create your own shader file, 
// define a few macros, and include the main file: common.gdshaderinc. 
// To learn more, read the documentation on the GitHub repository. 
// Here's an example file:
shader_type spatial;

// Use vertex_snap_resolution global uniform instead of vertex_snap_intensity
#define OVERRIDE_VERTEX_SNAP_RESOLUTION

// Disable light from Light3D nodes
#define UNSHADED

#include "res://path/to/ursc/common.gdshaderinc"
Tags
90s, N64, nintendo 64, playstation, ps1, psx, retro
The shader code and all code snippets in this post are under MIT license and can be used freely. Images and videos, and assets depicted in those, do not fall under this license. For more info, see our License terms.

Related shaders

Ultimate Terrain Maker

Retro TV shader

Retro Sun 2D

Subscribe
Notify of
guest

1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Charlie Batten
3 months ago

Yo this is huge