Godot N64 Shader Demo

Available on GitHub (MIT License)

A collection of shaders and materials for Godot engine that aim to recreate the following aspects of the N64 aesthetic:

  • 3-point texture filtering
  • Light anti-aliasing
  • Linear mip-map filtering
  • Horizontal blur across the screen
  • Limited color depth
  • Hardware dithering to hide color banding
  • Shiny chrome-like metallic surfaces
  • Billboard sprites
  • Fog to limit draw distance

Demo Controls

  • Space: Toggle camera and object movement
  • R: Reset scene

Tips for best results

  • Use very low poly models
    • Prefer smooth-shading over flat-shading wherever possible
  • Keep textures as low resolution as humanly possible
    • Huge blurry texels are the cornerstone of the N64 look
    • Make sure filtering is disabled - the filtering is handled in the shader
    • Make sure mip-maps are enabled
    • Rely on a mix of vertex colours and texture maps, instead of higher detailed texture maps wherever possible
  • Keep your internal resolution low
    • Resolution on N64 is a complicated affair. While the system would output to video at certain specific resolutions, games themselves would have their own separate internal resolutions
    • These internal resolutions could vary wildly between games, but 320x240 seems to be the most common choice
    • That being said, you can easily go widescreen by using a 16:9 resolution with similar height
  • Use as basic of a lighting set up as you can get away with
    • Modern lighting techniques are a very easy way to break the illusion of appearing like early 3D!
    • Where possible, prefer to use white ambient light, with vertex colours on geometry to fake lighting

Floor texture (available under CC-0): https://stealthix.itch.io/rpg-nature-tileset

StatusReleased
CategoryOther
PlatformsWindows, Linux, HTML5
Rating
Rated 5.0 out of 5 stars
(16 total ratings)
AuthorMenacingMecha
Tagsdemo, Godot, n64, Retro, Shaders, tech-demo

Download

Download
godot-n64-shader-demo-v1.x_windows.zip 15 MB
Version v1.0.3 Mar 14, 2023
Download
godot-n64-shader-demo-v2.x_linux.zip 25 MB
Version v2.0.1 Apr 13, 2023
Download
godot-n64-shader-demo-v2.x_html5.zip 7 MB
Version v2.0.1 Apr 13, 2023
Download
godot-n64-shader-demo-v2.x_windows.zip 25 MB
Version v2.0.1 Apr 13, 2023
Download
godot-n64-shader-demo-v1.x_linux.zip 16 MB
Version v1.0.3 Mar 14, 2023
Download
godot-n64-shader-demo-win.zip 13 MB
Version 1 Oct 28, 2021
Download
godot-n64-shader-demo-windows.zip 14 MB
Version v1.0.2 Jun 09, 2022
Download
godot-n64-shader-demo-linux.zip 15 MB
Version v1.0.2 Jun 09, 2022
Download
godot-n64-shader-demo-x11.zip 14 MB
Version 1 Oct 28, 2021
Download
godot-n64-shader-demo-html5.zip 4 MB
Version v1.0.2 Jun 09, 2022

Development log

Comments

Log in with itch.io to leave a comment.

Really cool tool! But I'm having a few issues. 

From what I understand, if I want to have an object be rendered in the scene I need to put it inside the N64 layer, childed under 'Sub Viewport', but if I want to do this with a character controller, it removes the ability to turn the camera.

I'm assuming I need a way to render the layer onto the player camera, but I'm not sure how I'd go about doing this.

I'm new to Godot so this might be a really simple fix and I'm just missing it.

this is quite epic. i might make a use of it, like a first person game most likely.