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
, andCompatibility
) (1.1.0+)
Documentation:
Extensive documentation can be found on GitHub.
Credits:
- MenacingMecha
- 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"
Yo this is huge