Not exposed somewhere in the UI yet, but users can now add custom dithering pattern as images in "user://dither_matrices". Right now only used for gradient generation.
Making it consistent with its image effect counterpart. The code inside ShaderLoader.gd keeps getting uglier and uglier, it might be worth a refactor at some point.
ShaderLoader now gets the VisualShaderNodeTextures of the VisualShader into account, allowing for visual shaders that are being loaded to have default textures.
Used for shaders that need noise textures.
Still WIP. needs the nodes to set their appropriate values when setting a noise texture. Which means I'll probably have to re-write the whole thing, yay :D
Simply add `uniform float PXO_time;` in the shader's uniforms, and replace all instances of `TIME` with `PXO_time`. This will make the shader animate per frame.
* experimental support for texture changes
* fix some typos
* formatting + some improvements
* Some final touches, i think it's ready now
* moved a function to the shaderloader
* formatting
* add a void