Material Maker 0.8 was just released. Material Maker is a free procedural texture generation software that was built on top of the Godot game engine. We previously covered Material Maker in this video. The 0.8 release brings several new features including several new nodes and examples.
Details from the itch.io page:
Regressions and incompatibilities
Bad news come first, as always:
- 2D SDF nodes do not output greyscale information and cannot be directly connected to greyscale/color/RGBA inputs anymore. you will have to use the sdShow Node
- the 2D and 3D previews are now in separate tabs
- the 3D preview in the background of the graph pane can now be shown and hidden using the “cube” button at the bottom left of the graph view and controlled independently,
- the 2D preview now shows a tiled version of the selected node (so it’s easy to check the result is seamless)
- the 2D preview now has controls that can be associated to (float) node parameters (this applies mainly to shape/transform nodes)the UI will now be dimmed when exiting the application (this change was contributed by Calinou)
Nodes and code generation
- 2 new types of node inputs/outputs have been added for 2D and 3D signed distance functions. Both types have a custom preview (distance field for 2DSDF and shaded scene for 3DSDF)
- shader nodes inputs now have a “function” attribute. When this option is selected, the input is generated as a function and is usable in instance Functions. This feature made all 3D SDF nodes possible.
- a few problems in convolution nodes have been fixed
New and improved nodes
- all 2D signed distance functions have been modified to use the 2DSDF inputs/outputs (that are shown in orange). The sdShow node is now the only way to generate an image. Added 2DSDF transform and morph nodes.
- the new 3D signed distance functions nodes can be used to describe 3D shapes. Many shapes (sphere, box, capsule, torus, cylinder…), transforms (translate, rotate, scale), operators (boolean, repeat, extrusion, revolution…) are provided and the Render node can be used to generate a height map and a normal map from 3DSDF information. All this is based on ray marching and can be used to describe 3D objects that can then be spread on the textures, as demonstrated in the “skulls” and “pile_of_bricks” examples.
- the new 3D box and a sphere nodes are not based on 3DSDF and just output a height map
- the new “workflow” nodes can be used to define base materials and mix them using height/orientation/offset maps, and to ultimately create complex materials without drawing spaghetti monsters in the graph view. A few simple base materials are provided in the node library as templates. The new “marble” and the updated “medieval_wall” examples show how to use all those nodes.
- the bricks node has been improved with round brick corners and output UV information for each brick and each brick corner. Also added an output that gives brick orientation.
- the new CustomUV node uses one of its input as coordinates to read the other input and can thus be used to implement psychedelic image transforms
- the new generic truchet node tiles its input, randomly flipping it horizontally, vertically or both
- the beehive node just outputs hexagonal tiles
- the new convolution nodes are 3 edge detectors and a sharpen filter
- the normal map node has a new option to disable its input buffer. The buffer should still be used when the input is complex, but disabling it will generate smoother normal maps
- the new greyscale node converts color input to greyscale with a choice of 5 algorithms
- the new swap channels node replaces all channels (R, G, B, A) of its output with 0, 1 or a (optionnally inverted) channel of its input