Commit Graph

409 Commits

Author SHA1 Message Date
Rodolphe Suescun
be432c7223 Added documentation for all 3D signed distance functions nodes. 2019-12-24 15:42:09 +01:00
Rodolphe Suescun
97e923e781 Added types to ios nodes 2019-12-22 23:27:02 +01:00
Rodolphe Suescun
f0a22b593f Added new example with 3D SDF 2019-12-22 23:25:25 +01:00
RodZill4
d80e3caeb9 Added 2d arc node (also useful to create torus arcs) 2019-12-21 21:49:16 +01:00
RodZill4
9b961e50c5 Added all 3D SDF nodes in the base library. Updated thumbnails of 2D SDF nodes. 2019-12-21 10:11:39 +01:00
RodZill4
4b968cc63e More 3D SDF nodes 2019-12-21 07:44:44 +01:00
RodZill4
78891affae Added capsule and cylinder 2019-12-18 23:18:28 +01:00
RodZill4
b7fb257d4c Added more raymarching nodes and examples 2019-12-18 22:36:44 +01:00
RodZill4
864e4e9fe8 More signed distance functions nodes... 2019-12-15 16:21:15 +01:00
RodZill4
e919507f06 Added support for raymarching
- Added signed distance functions 2D and 2D input/output types
- Updated SDF2D nodes to used SDF2D inputs/outputs
- Added preview code for SDF2D and SDF3D
- Updates all SDF2D templates
- Added basic SDF3D nodes
2019-12-15 12:41:00 +01:00
RodZill4
2a51e3b726 Prepared function generation for inputs 2019-12-12 23:11:43 +01:00
RodZill4
69871b32f2 Removed in-editor Material Maker (now obsolete thanks to the import plugin) 2019-12-11 08:02:22 +01:00
RodZill4
9a4800883f updated 2d view to show texture as square with margins 2019-12-10 08:00:55 +01:00
RodZill4
52e2af231d Made background 3D preview independant 2019-12-10 06:54:10 +01:00
RodZill4
7ec31234db Moved 2D and 3D preview into separate tabs 2019-12-08 08:50:14 +01:00
RodZill4
fe03a4b28a Added swap channels node 2019-12-04 22:36:01 +01:00
RodZill4
256272a125 Merge branch 'master' into dev-new-nodes 2019-12-04 22:31:36 +01:00
RodZill4
8282ab24fe Compatibility fixes for Godot 3.1.2, updated switch to support more choices, and shader nodes to support inputs in enum values 2019-12-04 22:26:54 +01:00
RodZill4
8106811812 Added box and sphere node templates and an example 2019-12-04 21:20:59 +01:00
RodZill4
ebeb998333 Fix in convolution node and 4 new convolution node templates 2019-12-03 23:10:48 +01:00
RodZill4
f05c8a408b Added behive and generic truchet nodes, update bricks 2019-11-30 18:54:46 +01:00
RodZill4
e251cb3af6 Updated bricks and added indirect uv node
Bricks now have rounded corners, an UV map for each brick and an UV map for each brick corner.
2019-11-27 23:58:16 +01:00
RodZill4
8edd21e488 Added new examples to test splatter node and material workflow 2019-11-27 07:45:58 +01:00
RodZill4
b153b3306f (last?) changes for 0.7 2019-11-24 18:47:21 +01:00
RodZill4
cab8020b4d Tiny doc fix 2019-11-23 12:23:03 +01:00
RodZill4
22ccb6fd51 Documentation update 2019-11-23 12:18:34 +01:00
RodZill4
799f18cf3d Updated library with new nodes 2019-11-23 10:44:00 +01:00
RodZill4
431be88767 Doc and examples update 2019-11-23 09:08:48 +01:00
RodZill4
71edcfd72d Added missing library icons 2019-11-22 23:19:20 +01:00
RodZill4
f5a558e65f Updated new node templates 2019-11-22 23:07:34 +01:00
RodZill4
5b4aa0984b Examples update 2019-11-22 08:41:32 +01:00
RodZill4
bcd3855273 Added new node templates, updated old ones 2019-11-22 07:50:17 +01:00
RodZill4
2e06e9db9a Disabled window position/size save/restore in tool mode 2019-11-22 07:48:14 +01:00
RodZill4
8650a5ae40 Fixed a bug that allowed Material to be duplicated 2019-11-22 07:47:45 +01:00
RodZill4
4542c2d22e Minor ui changes 2019-11-22 07:46:23 +01:00
RodZill4
bb3aefeca8 Updated documentation 2019-11-21 08:55:13 +01:00
Hugo Locurcio
16a87e6f2b
Add .desktop and AppStream metadata files for Linux integration 2019-11-20 14:31:13 +01:00
RodZill4
d72f1f2055 Fixed problem when duplicating gradient (interpolation mode was not copied) 2019-11-19 07:16:09 +01:00
RodZill4
816a758652 More progress on documentation... 2019-11-19 07:08:36 +01:00
RodZill4
1db87750fb Documentation update 2019-11-18 08:47:31 +01:00
Rodz Labs
41622c8e34
Merge pull request #52 from Calinou/remember-window-position-size
Remember the window position and size across restarts
2019-11-17 07:56:44 +01:00
Rodz Labs
a65caf3728
Merge pull request #53 from Calinou/add-fullscreen-toggle
Implement fullscreen toggle by pressing F11 or Alt + Enter
2019-11-17 07:55:57 +01:00
RodZill4
960c87e49c Updated documentation
Everything not describing the nodes library, and the "Simple" section of the library should be ready now.
2019-11-17 07:42:44 +01:00
RodZill4
3ff862f446 minor changes and fixes
- Added an option to duplicate nodes
- Creating a subgraph will now show the contents of the subgraph (so it can be easily renamed)
- Fixed node preview updtae when the node's seed is modified
2019-11-17 07:40:50 +01:00
Hugo Locurcio
eda5e2f9d1
Implement fullscreen toggle by pressing F11 or Alt + Enter 2019-11-16 23:27:07 +01:00
Hugo Locurcio
89237ccbc4
Remember the window position and size across restarts 2019-11-16 23:23:36 +01:00
RodZill4
cfca689e3f Doc update (everything except nodes from the library) 2019-11-14 08:49:10 +01:00
RodZill4
2e97888437 Fixed float edit problem when max <= min 2019-11-14 08:48:16 +01:00
RodZill4
4d90c20493 Bug fixes
* In Material node, ORM was not rendered when a channel depended on a texture
* Missing HSlider in generic node broke the Switch
2019-11-14 08:47:21 +01:00
RodZill4
fd2064181e Updated the float editor so it stops when sliding to bounds 2019-11-10 22:51:03 +01:00
RodZill4
f0beafceb5 Added an icon for the remote node 2019-11-10 17:55:59 +01:00
RodZill4
ced53d01db Added an icon for the remote node 2019-11-10 17:45:03 +01:00
RodZill4
75be7358af Merge branch 'master' of https://github.com/RodZill4/godot-procedural-textures 2019-11-10 17:42:23 +01:00
RodZill4
5b457eb41a Started updating the documentation 2019-11-10 17:41:02 +01:00
Rodz Labs
587f5d85a3
Merge branch 'master' into remove-trailing-whitespace 2019-11-10 17:19:53 +01:00
RodZill4
40fa352dc6 Fixed icon name in saved library 2019-11-10 15:38:54 +01:00
RodZill4
85599c2fea Added menu to show nodes documentation and updated import plugin 2019-11-10 15:02:00 +01:00
Hugo Locurcio
fc3173b9b4
Remove trailing whitespace, add newlines at end of files
This results in less merge conflicts when using the
Text Editor > Files > Trim Trailing Whitespace editor setting.

.ptex, .mmg and .json files generated weren't modified
as these are saved by Material Maker. These files could be made
to end with a newline automatically on save in a future commit.
2019-11-10 01:21:11 +01:00
RodZill4
d37fc835f9 Updated library export to generate unique icon names 2019-11-07 08:25:57 +01:00
RodZill4
46c2c1b684 Fixed randomness condition on groups 2019-11-06 23:55:09 +01:00
RodZill4
8f4a525107 Added missing return types (#30) 2019-11-06 23:49:26 +01:00
RodZill4
f4a1681fc8 Added new samples 2019-11-06 22:34:23 +01:00
RodZill4
bbfe288b15 Preloaded renderer, support for subsurface scattering, minor fixes 2019-11-06 22:33:01 +01:00
RodZill4
e7a70af690 Filtered unwanted mouse events in float editor and updated shader parameter editor 2019-11-06 08:31:38 +01:00
RodZill4
1c4e904a22 Added singed distance function nodes 2019-11-06 08:30:36 +01:00
RodZill4
5141b3e297 Added new float_edit widget to replace the spinbox and the hslider 2019-11-05 22:28:55 +01:00
RodZill4
e341e25e7f updtaed preview refresh code to avoir queueing many refreshes when tweaking parameters 2019-11-05 22:28:01 +01:00
RodZill4
df07cfab06 Added an option to save the library and updated the library 2019-11-05 20:00:28 +01:00
RodZill4
c121f7c00a Updated loader and random seed handling (#15)
Loader is not a lot more generic and deserialization code moved to generators.

There is now a small dice button on nodes that create random patterns that can be used to freeze the seed. Frozen nodes can thus be moved without affecting the seed.
Graph nodes can also transmit their seed to their children (this behavior can be enabled/disabled using the dice button at the top right of the graph pane).
2019-11-04 07:58:17 +01:00
Rodolphe Suescun
c466d20229 Preoared random seed lock button 2019-11-03 10:04:23 +01:00
Rodolphe Suescun
f136046082 Added support for shader materials and added a tesselated sphere in preview shapes 2019-11-02 22:58:29 +01:00
Rodolphe Suescun
3bd0cf228a Updated noise node and added color_noise 2019-11-02 22:56:14 +01:00
Rodolphe Suescun
2c606a2b1e Disabled import in the library directory 2019-11-02 22:51:17 +01:00
Rodolphe Suescun
bfa1306b0e Added export and debug nodes 2019-11-02 08:43:54 +01:00
Rodolphe Suescun
9e0d384730 Fixed grid in graph editor 2019-11-01 13:04:38 +01:00
RodZill4
5430f96f29 Removed useless debug output in convolution 2019-11-01 06:21:28 +01:00
RodZill4
e598f0867d Updated convolution (support for sparse matrix content to override matrix function) and added emboss node 2019-10-31 22:14:18 +01:00
RodZill4
5a7e093eef Added Studio environment provided by @tinmanjuggernaut (issue #29) 2019-10-31 20:58:46 +01:00
RodZill4
972da9407b Added support for drag and drop between gradient editors 2019-10-30 23:20:18 +01:00
RodZill4
f664a54e4b Updated gradient with a choice of 4 interpolation options 2019-10-30 22:57:51 +01:00
RodZill4
47fa19c65f fix in convolution node (incorrect behavior near edges) 2019-10-29 22:12:53 +01:00
RodZill4
c375c7e23e Added an output and a parameter to support LOD in buffer 2019-10-29 22:12:14 +01:00
RodZill4
c7c1e61597 Removed old blur node 2019-10-29 22:11:29 +01:00
RodZill4
8b9084f72b Fixed gradient editor (Cursors not updtaed when color was modified) 2019-10-29 22:10:54 +01:00
RodZill4
4c2274104b Made IOs node editable (can add/remove ports) 2019-10-29 22:10:08 +01:00
RodZill4
cd08666123 Fixed image node so the image is displayed the node is duplicated 2019-10-27 15:22:14 +01:00
RodZill4
46d0e0f5cd Updated switch to update connections when changing the number of choices/outputs and added tooltips 2019-10-27 14:48:35 +01:00
RodZill4
f07e4475a2 JSON files are now pretty-printed 2019-10-27 14:36:16 +01:00
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
Rodz Labs
675c0ac8ff
Merge pull request #48 from Calinou/environment-increase-radiance-size
Increase the environments' radiance size to 512×512
2019-10-27 12:49:43 +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
Hugo Locurcio
cf86111b81
Increase the environments' radiance size to 512×512
This makes reflections more detailed, which is especially noticeable
on smooth materials.
2019-10-27 11:26:13 +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
b60085edd1 Updated shader editor so parameters, inputs and outputs can be reordered 2019-10-26 13:51:15 +02:00
RodZill4
f17cf65f29 Added scratches generator 2019-10-26 13:50:15 +02:00
RodZill4
4c9ada6249 Fixes in remote node 2019-10-26 13:49:35 +02:00
RodZill4
26f083cd3d Updated remote and group creation 2019-10-24 09:00:31 +02:00
RodZill4
4246673c85 Updated the gradient editor 2019-10-22 22:48:00 +02:00
RodZill4
aaa2adc046 Updated the graph tree to handle the editable attribute correctly 2019-10-22 08:28:24 +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
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