Commit Graph

140 Commits

Author SHA1 Message Date
Rodz Labs
1a8cfca668
Merge pull request #49 from Calinou/add-svg-image-format
Add SVG as a loadable image format
2019-10-27 12:50:31 +01:00
Hugo Locurcio
e7a46b73a9
Add SVG as a loadable image format
This makes use of Godot's SVG importer to load SVGs and rasterize them.
2019-10-27 11:33:32 +01:00
RodZill4
6013148778 Fixed parameter order in normal map to remain compatible with previous version 2019-10-27 10:25:49 +01:00
RodZill4
e41c509e9f Updated normal map generator and fixed bugs 2019-10-27 10:12:03 +01:00
RodZill4
f17cf65f29 Added scratches generator 2019-10-26 13:50:15 +02:00
RodZill4
26f083cd3d Updated remote and group creation 2019-10-24 09:00:31 +02:00
RodZill4
4fc7c11a29 Updated size parameter handling and resized all examples to 2048x2048
Also added a base class for all graph nodes, fixed issues with graph/remote interactions.
2019-10-21 23:58:14 +02:00
Rodz Labs
448287d2c9
Merge pull request #34 from Calinou/add-return-type-hints
Add return type hints to all scripts
2019-10-21 20:56:30 +02:00
Hugo Locurcio
2e3a212bb8
Optimize images losslessly using oxipng -o6 --strip --zopfli 2019-10-21 15:43:16 +02:00
Hugo Locurcio
f225c57cdd
Use the Unicode multiplication symbol for size OptionButtons 2019-10-21 00:39:51 +02:00
Rodz Labs
27aa683786
Merge branch 'export_plugin' into add-return-type-hints 2019-10-20 23:05:26 +02:00
Rodz Labs
1eeb3113cc
Merge pull request #35 from Calinou/add-more-image-formats
Add support for loading additional image formats
2019-10-20 23:01:31 +02:00
Rodz Labs
0750994269
Merge pull request #36 from Calinou/tweak-gitignore
Tweak `.gitignore` and include `.import` files in version control
2019-10-20 23:01:17 +02:00
RodZill4
d376aa22f8 Updated convolution node and added gaussian blur 2019-10-20 22:37:42 +02:00
Hugo Locurcio
f40248b5e6
Tweak .gitignore and include .import files in version control
`.import` files (not to be confused with the `.import/` directory)
should be included in version control as they contain important
metadata, such as whether a texture should be filtered or not.

A `.gdignore` file was added to the `doc/` folder of the add-on,
which prevents Godot from importing any files inside.
This also speeds up the initial editor import step.
2019-10-20 19:25:31 +02:00
Hugo Locurcio
a15ed1cf04
Add support for loading additional image formats
This also makes it possible to load JPEG images if they have a
`.jpeg` extension.
2019-10-20 19:07:45 +02:00
Hugo Locurcio
93c84650cd
Add return type hints to all scripts
This also simplifies some functions.

This partially addresses #30.
2019-10-20 16:35:45 +02:00
Rodolphe Suescun
c8414f47df Updated switch node and refactored generator edit feature. 2019-10-20 00:59:51 +02:00
Rodolphe Suescun
885b74a845 Detect loops when connecting nodes and make sure Material cannot be deleted 2019-10-19 01:30:25 +02:00
RodZill4
1186cd44ca improved kaleidoscope so it copies the centered top part of its source 2019-10-18 07:20:38 +02:00
RodZill4
74959637bd Size parameter fix and better preview UI 2019-10-14 20:42:11 +02:00
RodZill4
477eec692b Fixed normal map and updated 3d preview 2019-10-13 22:06:13 +02:00
RodZill4
28654f3eba Updated base library and added truchet generator 2019-10-13 10:14:43 +02:00
RodZill4
4dbfd6be75 Added comment nodes 2019-10-12 08:30:46 +02:00
RodZill4
8006f07e04 Updates in transform and voronoi, and compatibility fix
- Fixed compatibility with v0.5 files
- Added a randomness parameter to voronoi
- Changed tranform order (translate applies first so rotate and scale are relative to the center of the source)
2019-10-12 07:10:25 +02:00
RodZill4
19b9d804b9 Fixed control label edition in remote 2019-10-10 22:43:34 +02:00
RodZill4
825d98e0fe Added main code section to shader generators 2019-10-10 07:42:38 +02:00
RodZill4
3adeffe23c Fixed preview update problem 2019-10-09 20:39:08 +02:00
RodZill4
ad2de4a52e Updated code editors and added a menu to create all elementary generators 2019-10-07 20:41:57 +02:00
RodZill4
a7f371e142 icons cleanup 2019-10-06 14:07:49 +02:00
RodZill4
d024688511 Added a runes generator and a detailed edit for gradients 2019-10-06 10:02:09 +02:00
RodZill4
4cfd8fbc1e Fixed generic node update and added weave generator 2019-10-05 22:24:00 +02:00
RodZill4
8651569f2b Fixed problem with preview and generic node update 2019-10-05 19:50:44 +02:00
RodZill4
b58770c2a0 Added preview, rendering fixes, better grouping 2019-10-05 11:04:50 +02:00
RodZill4
57cb3b4a14 Fixed preview problem, and seeds now depend on node position 2019-10-02 23:06:20 +02:00
RodZill4
8c06cd3aa8 Updated import, preview and slider widgets 2019-10-01 08:34:08 +02:00
RodZill4
ff191538f6 Added group creation and refactoring.
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).
2019-09-29 10:07:32 +02:00
RodZill4
101de7f32b Removed useless print calls and started adding the "create subgraph" command 2019-09-27 08:28:33 +02:00
RodZill4
f512b977c6 Remote related fixes 2019-09-26 22:32:49 +02:00
RodZill4
027a311554 More remote node updates (only serialize is missing I guess...) 2019-09-25 23:29:06 +02:00
RodZill4
bd24b3e87e More progress on remote, bug fixes, cleanup and changes for standalone release 2019-09-25 08:04:36 +02:00
RodZill4
201f911f75 More progress on remote and various fixes 2019-09-24 22:25:46 +02:00
RodZill4
8af2c04f91 Mmore progree on remotes and hierarchy 2019-09-22 22:17:26 +02:00
Rodolphe Suescun
afb84a85cf Started implementing remote node 2019-09-20 20:43:57 +02:00
RodZill4
ac4a5c39b6 Added support for hierrachical navigation 2019-09-19 07:56:32 +02:00
RodZill4
07273fdd04 fixed rotation in transform, started implementing hierrachy 2019-09-17 08:12:53 +02:00
RodZill4
f2807f4eff Implemented lazy buffers update and started refactoring material node. 2019-09-14 09:14:27 +02:00
RodZill4
d643cecebb Fixed 3d preview and added warp generator 2019-09-13 08:07:46 +02:00
RodZill4
9834571c4a Fixed shader generation and added transform, mirror and skew
Fixed shader generation with nested usage of inputs (process code until no further input substitution is possible)
2019-09-12 21:16:07 +02:00
RodZill4
59dced1c09 Updated generic layout and implemented blend generator
Preview is now resized with a single click.
2019-09-11 23:13:10 +02:00
RodZill4
82f83ca482 More fixes and cleanup 2019-09-11 07:53:06 +02:00
RodZill4
be2e7f6e59 Updated generic node layout (added input names) and all .mmg files 2019-09-10 22:51:49 +02:00
RodZill4
bd8becaf75 Removed old generator model file format 2019-09-10 21:25:08 +02:00
RodZill4
34349c98ca Minor fixes and cleanup 2019-09-10 21:01:08 +02:00
RodZill4
27d5ddbe97 Implemented save and shader generator editing... 2019-09-09 22:00:18 +02:00
Rodolphe Suescun
0bcdbb2204 More refactoring and added image "generator" 2019-08-25 23:27:07 +02:00
Rodolphe Suescun
d8d9aaa9b4 More refactoring and added buffer generator 2019-08-18 16:28:50 +02:00
Rodolphe Suescun
e9a21454c1 More refactoring on rtexture generation 2019-08-17 17:35:48 +02:00
Rodolphe Suescun
b614ab50ed Reimplemented generator instanciation 2019-08-15 11:53:21 +02:00
Rodolphe Suescun
049250e073 Added graph node initialization 2019-08-13 13:38:11 +02:00
Rodolphe Suescun
57c28993db Refactored basic load and preview functions in graph editor 2019-08-12 15:58:42 +02:00
Rodolphe Suescun
bcdac09cd7 More progress on refactoring and more
Basic import plugin works.
Added gradient parameter to custom node.
hsv_adjust now supports alpha channel.
Remove deprecated scenes.
2019-08-09 08:16:24 +02:00
RodZill4
66f88f3f46 More shader generation refactoring 2019-08-02 08:17:32 +02:00
RodZill4
6984088b78 Fixed generation of transparent images. Now in tools menu instead of a button in the toolbar. 2019-04-13 19:44:37 +02:00
RodZill4
0b7a36282e Fixed issues #5 and #7 2019-01-27 09:00:30 +01:00
RodZill4
65a08b4650 Added an Apply button to the node editor window 2018-11-20 07:46:51 +01:00
RodZill4
3bb9dd50db Generic node updates
- 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)
2018-11-19 23:09:22 +01:00
RodZill4
f06ffaf9f7 Added support for inputs in generic node and rewrote AdjustHSV as generic. 2018-11-11 19:18:26 +01:00
Rodolphe Suescun
7f4cc79a47 Fixed a few problems reported by Godot 3.1a2 2018-11-04 15:43:02 +01:00
Rodolphe Suescun
59add0d468 Updated transform and blend nodes to support alpha. Removed obsolete scenes. 2018-11-03 19:35:18 +01:00
Rodolphe Suescun
c624e0f6ee Added support for alpha channel in colorize node 2018-11-03 17:43:32 +01:00
RodZill4
ade213921c Rewrote pattern, uniform and voronoi nodes using generic node. 2018-10-31 22:22:41 +01:00
RodZill4
0a4e84ec06 Implemented color, perlin and shape as generic nodes. 2018-10-29 22:22:35 +01:00
Rodolphe Suescun
78bb4551a8 Color parameters and RGBA generic outputs
Also added default value to float, boolean and enum parameters
2018-10-28 17:06:42 +01:00
Rodolphe Suescun
5d80d9db63 Refactored custom node parameters editor 2018-10-28 16:26:37 +01:00
RodZill4
bf4a125386 Node editor updates and support for alpha channel
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.
2018-10-26 22:44:47 +02:00
RodZill4
938397f3f6 More node editor progress, support for globals in generic nodes 2018-10-13 17:31:37 +02:00
RodZill4
0d85cd5aef Updated custom node and associated editor
Custom nodes now support outputs and basic (float) parameters, and are serialized/deserialized correctly.
2018-10-09 07:24:44 +02:00
RodZill4
ee0bc96f30 Added a generic node type
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.
2018-10-02 07:46:20 +02:00
RodZill4
ab9ae4ce5d Reorganized nodes (1 directory per node) 2018-09-22 08:12:33 +02:00
RodZill4
fafa5fbb1b Added a "Rays" shape and a radiations logo example 2018-09-21 08:14:20 +02:00
RodZill4
e2e1a67b7e Added star shape in Shape generator 2018-09-20 08:32:30 +02:00
RodZill4
d9b98693da Added a simple shape generator
Can be used to create a circle, a polygon or a curved star
2018-09-19 08:21:48 +02:00
RodZill4
1a5ddae226 Added comment node 2018-09-10 21:59:52 +02:00
RodZill4
cb03131b85 Added control link check and editable labels
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.
2018-09-10 08:00:03 +02:00
RodZill4
f116aa0e22 Added switch node
Added node that can select between 2x2 inputs to generate 2 outputs
2018-09-09 15:20:01 +02:00
RodZill4
9dc6d4b18a Gradient and serialization related updates
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.
2018-09-09 12:09:05 +02:00
RodZill4
95a737029a Started adding the "remote node"
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
2018-09-08 12:25:28 +02:00
RodZill4
2621ff4b46 Improved integration in Godot
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.
2018-09-04 21:45:14 +02:00
RodZill4
1c56fc60d8 Cleanup and renaming
Moved Material Spray to another repository.
Renamed the addon directory to material_maker
2018-09-03 21:35:44 +02:00