Caution
4.2 comes with the functionality to have custom Visual Shader
drop-down options. This is only forward compatible so the 4.x
branch will
be 4.2+ compatible ONLY. For the 4.1 compatible version click here
A Visual Shader Node Add-On for the Godot Engine
The icon was kindly supplied by LucyLavend
- Blending Modes (taken from Krita Docs and other sources)
- Normal
- Dissolve
- Screen
- Overlay
- Hard Light
- Soft Light
- Burn
- Dodge
- Lighten
- Darken
- Difference
- Additive
- AddSub
- Linear Light
- Vivid Light
- Pin Light
- Hard Mix
- Exclusion
- Gamma Illumination
- Gammma Light
- Gamma Dark
- Luminosity
- Linear Burn
Please refer to the documentation of MaterialMaker for explanation about the different blend modes.
- Procedural
- Checkerboard
- PSRD Noise 2D
- PSRD Noise 3D
- Radial Gradient
- Shapes (Signed Distance Fields)
- Box
- Circle
- Rounded Box
- Rotated Box
- Trapezoid
- Triangle
- Rhombus
- Parallelogram
- Hyperbolic Cross
- Precise Hyperbolic Cross
- UV
- UV Twirl
- UV Flipbook
- UV Tiler
- UV Rotate
- Wave (click on the links for more detail about the patterns)
To integrate the Visual Shader nodes library into your poject, copy the VisualShaderExtras folder inside your addons folder. If the addons folder doesn't exist yet, create one. There's no further steps or activation through the project settings necessary.
There are already two major Visual Shader add-on solutions. ShaderV is mainly focused on CanvasItem shaders though and Godot-Visual-Shader-Node-Library has run stale.
Furthermore, I have plans to work on another add-on (or perhaps a GDExtension) that will utilize the signed distance shapes Shaders for User Interface Design which would make more custom interfaces possible. This idea is heavily inspired by the awesome Unity asset Shapes by Freya Holmér.
You can contribute by:
- giving feedback
- reporting issues
- creating PRs to solve standing issues
- adding more nodes that you find useful (refer to the Contribution Guidelines)
- using the library and spreading the word 📰
This branch is only meant to be used with Godot 4.2 and higher