Commit Graph

65 Commits

Author SHA1 Message Date
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
RodZill4
0c062563c1 Project load fix and translate in transform
Added missing OptionButtons update when loading a project
Added translation to transforms
Added an example using transform
2018-08-02 06:32:08 +02:00
RodZill4
5b20a189f9 New pattern node
Replaced the sin node with a pattern node similar to NeoTextureEdit's FunctionPattern
2018-08-01 07:50:58 +02:00
RodZill4
6b9b954526 Fixed load/save dialogs and refactoring
now load/save dialog use the non-editor classes (thus usable when running the project).

Refactored graphedit and node code (mainly load/save and adding and removing nodes).
2018-07-30 08:45:19 +02:00
RodZill4
279b0e0103 Improved SpatialMaterial support
Now the material node is aimed at Godot's SpatialMaterial. Textures are generated and passed to the SpatialMaterial (and not generated as shaders anymore).
Rendering textures requires a Timer (to wait for the viewport to be rendered). There has to be a better solution...
Added a couple more examples.
2018-07-29 23:43:24 +02:00