Giter VIP home page Giter VIP logo

shaderv's Introduction

๐Ÿ‘‰ 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)

shaderv's People

Contributors

alexeybond avatar arkology avatar clemens-tolboom avatar grifdail avatar paddy-exe avatar thomasgauthier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shaderv's Issues

Feature Proposal: Transform Conversion node(s)

In my opinion in would be very useful to have a Transform space conversion node or probably rather plural nodes for transform space conversions (object/model space to world space and vice versa etc.)

This would enable more beginners to start experimenting with visual shaders and since Unity has a similar node, it would attract some of them as well

Godot crash when trying to load the sample scene

Afternoon :) ,
When trying to load the sample scene in an open project to get a handle on setup etc. Godot full crashes. If I try to load it from the project selection window through the project.godot file that was uploaded it doesn't load and goes right back to the selection screen. I'm running Godot_v3.2.3-stable_x11.64 on Linux Mint 19.3.

Plugin not detected/installable?

When I place the plugin into my addons folder, it isn't being detected by Godot. I'm using Godot 4.2.2 stable.

Screenshot 2024-08-08 at 10 27 20โ€ฏAM

(It seems to be missing plugin.gd and plugin.cfg that PhantomCamera has, not sure if that's it?)

Colors in Spherical UV look bleak

Spherical UV is a cool effect, but sadly, colors of Texture in the Spherical UV look pretty much bleaker and duller, than just texture in sprite.

3D Noise functions only make use of two coordinates. How to make them actually 3D?

The 3D noise functions, such as the 3D simplex noise, 3D fractal simplex noise, etc. seem to only use the first two channels of the uv, period, and offset/shift vectors. I thought the purpose of a 3D noise function was to take 3D position input and give smoothly varying scalar output. Am I misunderstanding how these are used or is this a bug?

Plans for the future of this repository

Hey there,
I've been wanting to create a Shader Node Library myself when stumbling on this repository. First of all: Thank you very much for creating this repository in the first place! Now that Godot 4.0 is on the horizon my question is if there are plans to update the repository to accomodate new functionality such as Vector4s in the Visual Shader Editor.
This project hasn't been updated recently and I would very much like to contribute some more nodes. However if not desirable, I would otherwise fork this repo and update it in my fork or copy the nodes (and put in the license from here of course) and credit you in the new repository.

Looking forward to your answer!

Noise output isn't normalized

The basic Perlin and Simplex noise shaders are outputting values between -1 and 1, so the result is clamped to mostly black. Half of the gradient is missing.

half_noise

The last line of perlin2d.gdshaderinc should be:

return (2.3 * n_xy + 1.0) * 0.5;

Then the noise has the full normalized range, and looks the way it's supposed to:

fixed_noise

Bunded with Godot?

This seems like a key component of an artist's workflow. Shouldn't this tool be bundled with Godot by default?

Godot 4.0 support

Is this in the plans for ShaderV?

Could help out if PR are welcome.

Shift Hue with red colors

I can't shift the hue of pure red colors in my png files. Saturation and value works but not hue. It does work for other colors though. Why is that ? Thanks

[Bug] ShineFx in-game doesnt match editor

2021-01-28_07-59-10.mp4

Ive change the shine speed with sintime and saved the shader,but when game opens, it doesnt match. (made the same steps with sphereUV and worked well)

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.