ShaderV - 2D Visual Shader Node Library (Godot 4) screenshot 1
A

Publisher

arkology11

ShaderV - 2D Visual Shader Node Library (Godot 4)

FX
Visual Shader Effects 2D Graphics Customizable Blur Shapes

Adds many premade 2D effects (such as noise, blur, emboss, zoom, custom shapes, etc.) to build-in VisualShader editor. You can find basic usage examples in the "addons/shaderV/examples" folder. Copy the contents of "addons/shaderV" into the same folder in your project. Custom visual shader nodes work the same way as standard visual shader nodes. As all shaders sources are .gdshaderinc files, it is also possible to use this plugin with usual text shaders.

👉 3.x

ShaderV - VisualShader plugin for Godot Engine 4.x

Adds many premade 2D effects (such as noises, blur, emboss, zoom, custom shapes, etc.) to build-in VisualShader editor. You can find basic usage examples in the addons/shaderV/examples folder. Note that plugin can work freely without examples folder, so this folder can be deleted. Copy the contents of addons/shaderV into the same folder in your project. No activation needed. Custom visual shader nodes work the same way as standart visual shader nodes.

List of provided nodes:

Color changing nodes (rgba folder):

Blur nodes:

BlurBasic - Basic 8-directional blur with 9 samples BlurCustom - Custom 8-directional blur with ([amount]*2+1)^2 samples ZoomBlur

Shapes generation:

CheckerboardShape - Creates checkerboard pattern CircleShape - Circle creation with adjusted position, scale, inner/outer radius, hardness and color CircleShape2 - Circle creation with adjusted position, scale, radius inner/outer width, and color RegularPolygonShape - Regular N-gon with 3+ sides SpiralShape - Spiral creation with adjusted position, size, lines amount, softness, speed and color GridShape - Creates 2D grid ScanLinesSharpShape - Sharp moving scanlines RandomStripesShape - Random horizontal lines creation

Glow:

InnerGlow - Adds inner glow to color OuterGlow - Adds outer glow to color InnerGlowEmpty - Same as InnerGlow but without original texture (only contours) OuterGlowEmpty - Same as OuterGlow but without original texture (only contours) GlowEmpty - Combination of InnerGlowEmpty and OuterGlowEmpty

Noise:

Fractal noise:
  
  FractalGenericNoise2D - Fractal GenericNoise using hash random function
  FractalPerlinNoise2D/3D/4D - Fractal 2D/3D/4D Perlin Noise
  FractalSimplexNoise2D/3D/4D - Fractal 2D/3D/4D Simplex Noise
  FractalWorleyNoise2D/3D - Fractal 2D/3D Worley (Voronoi) Noise
  
GenericNoise2D - GenericNoise using hash random function
PerlinNoise2D - Classic 2d perlin noise with ability to set period
PerlinNoise3D - Classic 3d perlin noise
PerlinPeriodicNoise3D - Classic 3d perlin noise with ability to set period
PerlinNoise4D - Classic 4d perlin noise
SimplexNoise2D/3D/4D - 2D/3D/4D simplex noise
WorleyNoise2D/2x2/2x2x2/3D - 2D/2x2/2x2x2/3D worley noise

BCSAdjustment - Full analog of BCS adjustment of environment in Godot BlackAndWhite - Turns color to black and white BlendAwithB - Blends colors basing on fade Bloom ChromaticAberration - Basic Chromatic Aberration with red and blue channels offset ClampAlphaBorder - Clamp alpha to border vec4(0, 0, 1, 1) UV ColorCorrectionAdjustment - Full analog of color correction adjustment of environment in Godot Emboss - Emboss filter FireFX - 3-step fire based on perling noise Gradient4Corners - Generates gradient based on corners colors GradientMapping - Remaps colors based on average color value using [gradient] GrayscalePlus - Improved grayscale with gray factor Hue - Outputs an RGB color given a HUE InverseColor - Inverse color basing on intensity MaskAlpha - Color masking based on mask alpha NormalFromHeightmap - Create normal map from heightmap texture. You should provide actual size of heightmap (in pixels). Posterize - Rounds values based on the value coming through [steps] ShiftHSV - Changes hue, saturation and value of input color. ShineFX - Adds shine effect in form of line SobelEdge - Sobel edge filter. Returns detected edges as scalar. TintRGBA - Tints RGBA with tint color (same as modulate property in editor) Tonemap TurnCGA4Palette - Swaps color to CGA 4-color palette TurnGameBoyPalette - Swaps color to GameBoy palette

UV changing nodes (uv folder):

Animated:

DistortionUVAnimated - Animated wave-like UV distortion
DoodleUV - Doodle UV effect
RotateUVAnimated - Animated UV rotation by angle in radians relative to pivot point
SwirlUV - Swirl UV effect
TilingAndOffsetUVAnimated - Animated UV tiling with given [offset] speed

DistortionUV - Wave-like UV distortion FlipUV - Flip UV horizontal and/or vertical LensDistortionUV - Lens distortion effect. PixelateUV - Pixelate UV by size factor RotateUV - Rotate UV by angle in radians relative to pivot vector ScaleUV - Scale UV relative to pivot point SphericalUV - Makes UV look like a sphere. Can be used to make 2d planets TileUV - Tile UV can be used to get UV position of tile within a tilemap TilingAndOffsetUV - Tiles UV with given offset TransformUV - Performs offset, scale and rotation of UV with custom pivots. Rotation is set in radians. TwirlUV - Twirl UV by value relative to pivot point

Tools nodes (tools folder):

Random:

HashRandom1d - Hash func with scalar input and scalar output
HashRandom2d - Hash func with vector input and scalar output
HashRandom2dVec - Hash func with vector input and vector output
RandomFloat - Returns random float based on input value. UV is default input value.
RandomFloatImproved - Improved version of classic random function. Classic random can produce artifacts. This one - doesn't.
RandomGoldRatio - Random float based on golden ratio
RandomFloat4D - Returns random float value based on 4D input vector

Coordinates transformation:

CartesianToPolar - Cartesian (x, y) -> Polar (r, theta). By default (x, y) is UV
CartesianToSpherical - Cartesian (x, y, z) -> Spherical (r, theta, phi). By default (x, y, z) is UV
PolarToCartesian - Polar (r, theta) -> Cartesian (x, y)
SphericalToCartesian - Spherical (r, theta, phi) -> Cartesian (x, y, z)

ScaledTIME - Returns [scale] * TIME Relay - Outputs its input, may be useful for organizing node connections. Works with booleans, vectors and scalars. Also can be used as preview node Remap - Remaps input value from ( [inMin], [inMax] ) range to ( [outMin], [outMax] ). UV is default input value. SinTIME - Returns [amplitude] * sin([speed] * TIME) vec2Compose - Makes 2d vector from length and angle (in radians)