Commit Graph

169 Commits

Author SHA1 Message Date
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
9d650c98a1 Reimplemented node deletion 2019-08-19 16:37:17 +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
470e55b212 Added nodes removal & new node creation 2019-08-14 15:55:39 +02:00
Rodolphe Suescun
a8dffae7cf Fixed connecting/disconnecting generators 2019-08-14 09:02:38 +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
cfae489ad0 Started refactoring to build an export_plugin and separate UI from texture generation 2019-07-31 20:53:00 +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
4baba77243 New recent projects menu entry and paper sample texture. 2019-01-24 22:27:41 +01:00
RodZill4
b36d44eb06 Fixed problem in export node (failure when exporting) 2019-01-09 07:36: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
6ca982b692 Slightly modified the ptex file format
Parameters are now saved separately from other node attributes (type, name...). Old files can still be loaded.
2018-11-03 18:56:58 +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
41fdc5783e Added custom node example (mandelbrot) 2018-10-26 22:47:27 +02: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
9bdcb73411 Fixed problems in Material Maker addon for Godot
Icon and settings taken from the project
2018-09-12 19:21:42 +02:00
RodZill4
e4aebb9b1f Updated link to make it child of graph_edit control
Should fix problems under Linux
2018-09-11 21:43:40 +02:00
RodZill4
4a504b0bb5 Updated export presets 2018-09-11 20:13:07 +02:00
RodZill4
73ccaf32eb Updated screenshot 2018-09-11 19:47:04 +02:00
RodZill4
4ca96b5d8e Updated examples 2018-09-11 19:40:34 +02:00
RodZill4
d05631122c Added documentation for new nodes
Added documentation for Material, Export, Comment, Switch and Remote nodes.
Fixed missing "tool" attribute in editable_label script.
Reordered misc. nodes in base library.
2018-09-11 19:38:59 +02:00
RodZill4
d6527848d3 Added clipping when drawing links 2018-09-10 22:43:17 +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
RodZill4
746fd1b2fe Fixed crash upon copy/paste of Material node 2018-09-01 13:55:48 +02:00
RodZill4
92b647f0c8 Removed useless debug message 2018-09-01 11:32:36 +02:00
RodZill4
f1eb5a97e1 Fixed tab labels not updating when a filename changes 2018-09-01 11:09:45 +02:00
RodZill4
64ebbe6434 Doc updates
Added doc for AdjustHSV node
Corrected typos in other docs
2018-09-01 11:06:58 +02:00
Rodolphe Suescun
b50c07543b Minor fixes
Added size parameter to normal map
Fixed color of outputs in perlin and voronoi
Fixed keyboard shortcuts in graph editor (did not check modifiers)
2018-08-28 08:33:41 +02:00
Rodolphe Suescun
effa29e158 Added size parameter to emboss node 2018-08-27 19:31:00 +02:00
Rodolphe Suescun
ec645a06f4 Replaced the TabContainer with a Tabs control
- Load material can now load several materials
- the current tab now has a close button
2018-08-27 17:22:57 +02:00
Rodolphe Suescun
467ba24a5f Disabled menu items when they cannot be used. 2018-08-27 12:16:37 +02:00
Rodolphe Suescun
5184f6375e Cut/Copy/Paste fix
Fixed cut, copy and paste behavior when Material is selected (that node should not be deleted or copied, but connections should be pasted).
2018-08-27 12:15:57 +02:00
Rodolphe Suescun
0d2225d997 Disabled useless tex2view texture update in mesh painter 2018-08-27 08:50:46 +02:00
Rodolphe Suescun
1bbbd43596 Added AdjustHSV node
Added a node that adjusts hue, saturation and value.
Added support for HSlider as control in nodes.
2018-08-26 16:31:29 +02:00
Rodolphe Suescun
5669117b44 Added export size selection in Material and Export nodes 2018-08-26 16:22:42 +02:00
Rodolphe Suescun
76f588a00e Drag problem workaround... 2018-08-25 19:18:40 +02:00
Rodolphe Suescun
ddc8ae665c Doc: removed empty stuff in index 2018-08-25 08:33:31 +02:00
Rodolphe Suescun
b626f455fe Moved examples and documentation into the addon directory 2018-08-25 08:21:44 +02:00
Rodolphe Suescun
26720e74e9 Updated Transform, added Decompose and minor changes
Updated Transform so it accepts a greyscale input per parameter. For each pixel, the parameter is multiplied by 2*v-1 (v being the value of the input's pixel) which makes it possible to affect the strength of each transform using an input image. New effects such as whirl and color guided offsets are now possible.

Added Decompose node (does the opposite of combine).

Used another color for inputs/outputs that expect/generate a greyscale image.
2018-08-25 08:07:22 +02:00
Rodolphe Suescun
7e92831226 Correctly pass size when exporting textures 2018-08-23 17:01:24 +02:00
Rodolphe Suescun
01c9f044d8 Improved precision in paint tool
Added a new tex2view texture to store least significant bits of the position in view to solve the precision problem.
2018-08-22 07:39:32 +02:00
Rodolphe Suescun
eecc199427 New shortcuts and node groups in library
Updated library code to be able to store a group of nodes.
Added keyboard shortcuts:
- Del to delete selected nodes
- C to center the view
Modified paste action to paste at the center of the view.
New example (biohazard from webbzeug)
2018-08-22 07:33:50 +02:00
Rodolphe Suescun
ba016797e3 Refactoring, new noise node and blur updates
Added a noise node (paints randomly pixels in black or white).
Modified blur so direction can be selected (horizontal, verticla, or both).
Updated code to use string formats instead of conversion + concatenation.
2018-08-20 15:43:03 +02:00
Rodolphe Suescun
1d27344de2 Refactoring in the mesh paint tool 2018-08-19 15:24:01 +02:00
Rodolphe Suescun
ddbd69ea25 Added new patterns for bricks
Added a Running Bond variant, HerringBone, Basket Weave and Spanish bond patterns to the bricks generator.
Shader was refactored to make it easy to add new patterns made of axis-aligned bricks.
2018-08-19 15:23:11 +02:00
Rodolphe Suescun
0d0f862a99 Added support for cut/copy/paste in Material Maker 2018-08-19 02:11:52 +02:00
Rodolphe Suescun
27f6de16e9 Fixes in Perlin and Voronoi
Perlin and Voronoi have better randomness, and Voronoi color output is now tileable
2018-08-18 01:53:07 +02:00
Rodolphe Suescun
0191876430 Integrated as a button in toolbar, and added a simple mesh painting tool 2018-08-16 15:08:09 +02:00
Rodolphe Suescun
071273ff9d Updated screenshots 2018-08-14 22:15:28 +02:00
Rodolphe Suescun
d1b8f12b5b more refactoring, added combine, emboss, export nodes
- Added a combine node that assembles channels into colors
- Added an emboss node
- Added an export node that generates additional file when exporting the material
- Refactored convolution related code
2018-08-14 15:09:46 +02:00
Rodolphe Suescun
18015aec93 Implemented multi-pass nodes and fixed blur. Various other fixes.
* Added a "constant wave" in the pattern node
* Updated graphEdit to detect and forbid loops
* Modified code that renders to texture to update a texture instead of returning one (so we avoid updating everything and rely on everything being updated automatically wrt textures)
* base library is loaded from filesystem (instead of package) if available
2018-08-12 19:25:18 +02:00
Rodolphe Suescun
2f8be1a142 Minor changes for 0.2 tag 2018-08-11 15:11:39 +02:00
Rodolphe Suescun
f997fcf06f Added an about box + minor changes 2018-08-11 11:33:24 +02:00
Rodolphe Suescun
193ff43f69 Added ambient occlusion and parameters for the material node 2018-08-10 12:31:15 +02:00
Rodolphe Suescun
7033bf4a6e Added blur, transform node update, more blend types, UI fixes
* updated transform node (scale split into scale_x and scale_y, and added a repeat parameter)
* added blend modes (burn, dodge, lighten and darken)
* added a (very bad) blur node, based on generic convolution code
* rewrote normal_map node using convolution code
2018-08-09 22:19:27 +02:00
Rodolphe Suescun
a9e7442acc Added uniform color node
... and minor fixes
2018-08-08 10:50:48 +02:00
Rodolphe Suescun
312b7f74d2
Merge pull request #1 from TeddyDD/fix-colorize
Fix removing gradient steps from colorize node
2018-08-08 09:03:49 +02:00
Rodolphe Suescun
37eb661496 Basic library editing + shortcuts
Added simple functions to add nodes to the user library and save it.
Added keyboard shortcuts for main menu.
2018-08-07 23:21:12 +02:00
Rodolphe Suescun
0e1f891910 More UI progress...
Refactored preview stuff and updated new UI
2018-08-07 09:31:41 +02:00
Rodolphe Suescun
30c711920f Fixed pattern node
Triangle was stupidly named saw, sawtooth was missing
2018-08-07 09:24:48 +02:00
Daniel Lewan
582ed03293 Fix removing gradient steps from colorize node
also makes node a little bit bigger to contain
whole gradient editor
2018-08-06 22:05:26 +02:00
Rodolphe Suescun
63685f8771 Updated new UI and more refactoring 2018-08-05 18:46:23 +02:00
RodZill4
6f0eb8e8e1 Shrinked panoramas 2018-08-04 08:56:07 +02:00
RodZill4
126ac1b8f8 Started a new main window layout + bug fixes 2018-08-04 08:05:34 +02:00
RodZill4
507586cbec Updated bricks and voronoi nodes to provide several outputs
Updated base node class to support several outputs.
Now bricks support 2 outputs : greyscale depth map, and (random) brick color.
Now Voronoi supports 3 outputs : center distance, edge distance and cell color.
Updated bricks example to use brick color output.
2018-08-03 22:38:48 +02:00
RodZill4
a946206a34 Material export and usability improvements
Refactored rendering of textures for save and exporting material now saves all textures.
Added an option to start a clear the project, and proper "save" and "save as..." options.
Added support for disconnects.
2018-08-03 08:16:38 +02:00
RodZill4
0fda03ca42 Reimplemented normal map generation as 3x3 sobel 2018-08-02 08:45:46 +02:00