Skip to content

arkology/ShaderV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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