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
Rodz Labs
6481d1b9b4
Merge pull request #43 from Calinou/optimize-images
...
Optimize images losslessly using `oxipng -o6 --strip --zopfli`
2019-10-21 20:56:04 +02:00
Hugo Locurcio
5c28b4f617
Display a disabled item if no recent materials were found in Open Recent
2019-10-21 15:54:15 +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
Rodz Labs
5e81f9d616
Merge pull request #37 from Calinou/preview-material-double-sided
...
Make the preview material double-sided for better visibility
2019-10-20 23:01:04 +02:00
Rodz Labs
ede29a90ca
Merge pull request #38 from Calinou/tweak-texture-size-limits
...
Tweak texture size limits for consistency, set default size to 1024x1024
2019-10-20 23:00:47 +02:00
Rodz Labs
93dd1ca1f0
Merge pull request #40 from Calinou/small-textures-disable-filtering
...
Disable filtering for small textures in the material preview
2019-10-20 23:00:24 +02:00
RodZill4
d376aa22f8
Updated convolution node and added gaussian blur
2019-10-20 22:37:42 +02:00
Hugo Locurcio
c00a77eaa4
Disable filtering for small textures in the material preview
...
This makes previewing materials with a pixel art style
closer to the intended result.
2019-10-20 21:16:20 +02:00
Hugo Locurcio
893e5446f8
Tweak texture size limits for consistency, set default size to 1024x1024
...
- The maximum allowed size is now 4096x4096 for all textures.
- The material texture size can now be set as low as 16x16.
- The default material texture size is now 1024x1024, which matches
modern expectations better.
Note that this will change the output size of existing material files.
This can be solved by changing the output size and saving the material
again.
2019-10-20 20:20:28 +02:00
Hugo Locurcio
a249ebb5f4
Make the preview material double-sided for better visibility
...
This makes the material still render if the camera "enters"
the preview mesh. This can reduce disorientation when moving
the camera around.
2019-10-20 19:30:51 +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
Rodolphe Suescun
80f8071d7b
Started updating convolution for computed matrices
2019-10-20 17:28:06 +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
159ee7678b
Added subgraph navigation popup
2019-10-20 11:33:33 +02:00
Rodolphe Suescun
66790ed86d
Moved the "About" box to a separate directory and added itch.io link
2019-10-20 11:21:02 +02:00
Rodolphe Suescun
b44160b582
Moved preview stuff to a new directory. Slightly updated environments as described in #29
2019-10-20 08:50:32 +02:00
Rodolphe Suescun
c8414f47df
Updated switch node and refactored generator edit feature.
2019-10-20 00:59:51 +02:00
Hugo Locurcio
f91f85d005
Enable 16× anisotropic filtering in the 3D preview
...
This improves rendering quality, especially when viewing the texture
at an oblique angle.
2019-10-19 22:40:28 +02:00
Rodolphe Suescun
3076b279bd
Updated HTML5 export options and added code to copy examples to a browsable location.
2019-10-19 14:20:18 +02:00
Rodolphe Suescun
85e20dcb1d
Added icons for switch and buffer
2019-10-19 13:04:34 +02:00
Rodz Labs
49f5d54acf
Merge pull request #28 from Calinou/filter-shortcut-select-all
...
Select the text in the filter LineEdit when pressing the shortcut
2019-10-19 06:40:54 +02:00
Rodz Labs
4f03bf120e
Merge pull request #27 from Calinou/improve-user-manual-button
...
Improve the "User manual" button
2019-10-19 06:40:40 +02:00
Hugo Locurcio
dd8eeb2835
Select the text in the filter LineEdit when pressing the shortcut
2019-10-19 02:01:30 +02:00
Hugo Locurcio
40ff89846b
Improve the "User manual" button
...
The new behavior of `show_doc()` is as follows:
- Try to open packaged documentation first.
- If the above fails, try to open locally-built documentation
(useful during development).
- If it still fails, try to open the online version.
This also improves path handling to be smarter.
2019-10-19 01:46:25 +02:00
Rodz Labs
94213e7a1d
Merge pull request #26 from Calinou/improve-library-filter
...
Improve filtering in the library
2019-10-19 01:34:45 +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
Hugo Locurcio
d6bfbab92a
Improve filtering in the library
...
The filter box is now located at the top of the library tree,
as most search boxes are placed above the elements they search in.
Pressing Ctrl + F will now focus the filter box as well.
2019-10-19 00:38:02 +02:00
RodZill4
d3e34d42cb
Updated examples and added new ones
2019-10-18 08:36:25 +02:00
RodZill4
53c5fd4f56
Fixed shader generation problems revealed by Godot 3.2
2019-10-18 08:35:54 +02:00
RodZill4
b7a54b3242
Updated the plugin with an option to register/unregister the importer, and added an option to skip .ptex imports.
2019-10-18 07:22:40 +02:00
RodZill4
1186cd44ca
improved kaleidoscope so it copies the centered top part of its source
2019-10-18 07:20:38 +02:00
Rodz Labs
45670c4d7a
Merge pull request #23 from Calinou/fix-mixed-indent-2
...
Fix recently added mixed indent in `main_window.gd`
2019-10-18 06:49:31 +02:00
Hugo Locurcio
d7b16b8126
Improve the camera zoom behavior
...
- Invert the scroll wheel action to be more consistent with
most 3D programs out there (Godot, Blender, …).
- Clamp the camera distance to reasonable values.
2019-10-18 00:43:30 +02:00
Hugo Locurcio
0bb1fb3537
Fix recently added mixed indent in main_window.gd
2019-10-18 00:27:54 +02:00
Rodz Labs
31a84fcc86
Merge branch 'export_plugin' into keys
2019-10-17 22:29:16 +02:00
Rodz Labs
02107023a4
Merge pull request #20 from Calinou/add-window-margins
...
Add margins to the window
2019-10-17 22:28:03 +02:00
Rodz Labs
90f57f7b4f
Merge pull request #19 from Calinou/enable-msaa
...
Use 4× MSAA for the 3D viewports
2019-10-17 22:27:31 +02:00
Rodz Labs
ab9c5ddac6
Merge branch 'export_plugin' into add-basic-hidpi-support
2019-10-17 22:23:45 +02:00
Rodz Labs
4212dee2a3
Merge pull request #17 from Calinou/set-minimum-window-size
...
Define a minimum window size when supported
2019-10-17 22:22:18 +02:00
jack perkins
5cdc5e5b55
Add view menu, move C to center command to view menu, add ctrl+0 to reset zoom to view menu
2019-10-17 19:03:18 +02:00
jack perkins
738ec515c9
Make menu code swap control for command on mac OSX
2019-10-17 17:29:17 +02:00
jack perkins
e23a1eb00d
let KEY_BACKSPACE also delete selected nodes, for mac UX consistency
2019-10-17 16:36:43 +02:00
Hugo Locurcio
b0f47f9061
Add margins to the window
...
This prevents text from being next to the window borders,
which looks ugly and is difficult to read when in fullscreen mode.
2019-10-17 15:08:01 +02:00
Hugo Locurcio
880babaa03
Use 4× MSAA for the 3D viewports
...
This makes them look better thanks to reduced aliasing.
2019-10-17 14:55:42 +02:00
Hugo Locurcio
865c45b54c
Implement basic hiDPI support
...
This basic implementation simply upscales the viewport if needed.
This ensures crisp display regardless of the OS, and ensures
OS-specific fallbacks don't interfere with the program.
A proper hiDPI implementation will be needed to have better-looking
fonts and rendering.
This partially addresses #8 .
2019-10-17 14:47:38 +02:00
Hugo Locurcio
7d2ee73a1a
Define a minimum window size when supported
...
This prevents UI elements from collapsing when resizing the window.
2019-10-17 14:28:46 +02:00
Hugo Locurcio
7f9808a415
Fix mixed indentation in gen_switch.gd
...
Mixed indentation is no longer allowed in Godot's `master` branch.
This change allows Material Maker to run without script errors
when using the `master` branch.
2019-10-17 14:16:59 +02:00
RodZill4
854b0c8b98
Fixed size of gradient popup (which could change when resizing the main window)
2019-10-17 07:39:36 +02:00
RodZill4
e573a78fd6
Updated Godot integration
2019-10-16 23:15:11 +02:00
jack
44ee81e351
Add button to turn on rotation animation in preview window
2019-10-16 15:08:21 +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
f66cd9a71b
Added preview icons and filter to library pane
2019-10-08 22:17:33 +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
8ed10ccd02
Display value on slider and import improvements (support for ORM textures)
2019-10-01 23:15:36 +02:00
RodZill4
8c06cd3aa8
Updated import, preview and slider widgets
2019-10-01 08:34:08 +02:00
RodZill4
b861cf446d
3d preview can now be rotated manually
2019-09-29 21:53:32 +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
caf682de88
updated generator naming in shaders and added basic convolutions
2019-09-16 20:45:47 +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
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