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

by arkology11

994

👉 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)

Version

1.3

Engine

3.5

Category

Shaders

Download

Version1.3
Download Now

Support

If you need help or have questions about this plugin, please contact the author.

Contact Author