Moved handling of the "global" definitions of shaders into main shader generation code.
Added group creation (does not create inputs yet, and remotes should be cleaned).
updated all preview meshes (to fix problems with depth).
- Added support for inputs and alternate syntax for parameters ($foo instead of $(foo))
- Added support for default input values ($uv can be used for non uniform defaults)
Added initial support for alpha channel (in combine, decompose and blend nodes). Textures with alpha channels can be exported using the material node albedo input.
Updated node editor with a simple editor for enumerated parameters.
Updated all nodes so parameters are located in a "parameters" variable.
Started writing a generic node model whose behavior is defined in a json file. Should be able to replace all generators so far.
Wrote json files for bricks and noise nodes.
Started preparing a custom node.
Now linking new controls to a linked_control will check compatibility (same control type and parameters).
Linked control labels are now editable.
Modified the Switch node layout so it is easier to understand.
Updated the bricks example to use the switch and remote nodes.
Added a class for gradient (that handles serialization and shader generation), and updated the GradientEditor.
Added a "Types" class that handles values serialization.
Updated linked_control and config_control to link to GradientEditors.
Started adding the "remote" node, that can control important parameters of the graph and save/restore configurations of groups of parameters. This should help creating easily configurable materials.
Added new "mosaic" example
Exporting a material will now create a SpatialMaterial. The Material graph node
now generates different textures when used as a Godot addon (metallic, roughness
and ambient occlusion are merged into a single texture).
Rendering code (that was in graph_edit and node_base scenes) is now in a single "renderer scene" attached to the main window.