Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/menacingmecha/godot-n64-shader-demo
Demo project featuring a collection of N64 style shaders and materials for Godot engine.
https://github.com/menacingmecha/godot-n64-shader-demo
90s game-development game-engine gamedev godot low-poly n64 retro shaders
Last synced: 17 days ago
JSON representation
Demo project featuring a collection of N64 style shaders and materials for Godot engine.
- Host: GitHub
- URL: https://github.com/menacingmecha/godot-n64-shader-demo
- Owner: MenacingMecha
- License: mit
- Created: 2021-10-28T13:31:08.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-07-07T00:05:40.000Z (4 months ago)
- Last Synced: 2024-10-11T11:08:56.420Z (about 1 month ago)
- Topics: 90s, game-development, game-engine, gamedev, godot, low-poly, n64, retro, shaders
- Language: GDScript
- Homepage:
- Size: 380 KB
- Stars: 213
- Watchers: 9
- Forks: 12
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Godot N64 Style Demo
![Godot Version](https://img.shields.io/badge/godot-v4.0-blue)
[![License](https://img.shields.io/github/license/MenacingMecha/godot-n64-shader-demo)](https://github.com/MenacingMecha/godot-n64-shader-demo/blob/master/LICENSE)[Play demo in browser!](https://menacingmecha.itch.io/godot-n64-shader-demo)
A collection of shaders and materials for Godot engine that aim to recreate the aesthetics and quirks of the N64
![Example Screenshot](./readme-assets/screenshot.png)
## Features
- 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
- 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
- Prefer additive blending to transparent blending## Changes from v1.x
### Major version change
This version is for Godot 4.x only.
Please refer to the v1.x branch for Godot 3.x support.### Fog
Godot 4.0 changed how environmental fog worked, the key part being the removal of the "start distance" and "end distance" properties.
While a manual workaround could be implemented, there is work being done to restore this functionality in a later version.### Runtime options
In order to release working Godot 4 shaders as soon as possible, runtime options for the demo will be re-implemented at a later date.
## Credits
Floor texture (available under CC-0): https://stealthix.itch.io/rpg-nature-tileset