A procedural textures addon for Godot
Go to file
2018-08-23 17:01:24 +02:00
addons/procedural_material Correctly pass size when exporting textures 2018-08-23 17:01:24 +02:00
doc Documentation for remaining nodes 2018-08-23 17:00:28 +02:00
examples New shortcuts and node groups in library 2018-08-22 07:33:50 +02:00
test Integrated as a button in toolbar, and added a simple mesh painting tool 2018-08-16 15:08:09 +02:00
.gitignore Started documentation 2018-08-23 10:39:27 +02:00
default_env.tres More nodes and load/save 2018-07-22 23:25:05 +02:00
export_presets.cfg more refactoring, added combine, emboss, export nodes 2018-08-14 15:09:46 +02:00
generated_image.png.import Material export and usability improvements 2018-08-03 08:16:38 +02:00
icon.png Added ambient occlusion and parameters for the material node 2018-08-10 12:31:15 +02:00
icon.png.import First version 2018-07-22 17:20:27 +02:00
LICENSE Initial commit 2018-07-22 17:08:24 +02:00
project.godot New shortcuts and node groups in library 2018-08-22 07:33:50 +02:00
README.md Update README.md 2018-08-14 23:06:38 +02:00

This is a tool based on the Godot game engine that can be used to create textures procedurally. It can also be used as a Godot addon (but there's no good reason for not using it as a standalone tool).

Its user interface is based on Godot's GraphEditor: textures are described as interconnected texture generators and operators.

Screenshot

Generators

Image

This node reads a bitmap from disk

Pattern

This generator creates a greyscale image by mixing an horizontal and a vertical pattern. Patterns can either be based on a sine, triangle, square, saw or "constant" waveform (i.e. the color as function of the x or y coordinate). The frequency (number of waves per unit) can be configure for both axes. Mix functions can also be configured.

Pattern

Bricks

This generator creates bricks greyscale patterns.

The Bricks generator has 5 parameters:

  • the number of brick rows
  • the number of bricks per row
  • the offset between even and odd rows
  • the mortar space between bricks
  • the bevel at the edge of the bricks

The bricks generator has 2 output:

  • the first one will show mortal as black and bricks as white (bevel being shown as a gradient). It can be used as mask to mix brick and mortar, or to generate depth and normal textures
  • the second one will just show a different color for each brick. It can be used to affect the brick's colors (and will be used in the future to offset textures).

Bricks pattern

Perlin Noise

The Perlin Noise generator creates a greyscale pattern and has 4 parameters:

  • the horizontal and vertical scale of the first iteration
  • the number of iteration
  • the persistence (the weight ratio between 2 iterations)

Perlin Noise

Voronoi Noise

The Voronoi Noise generator creates greyscale patterns based on Voronoi diagrams and has 3 parameters:

  • the horizontal and vertical scale (the number of feature points)
  • the "intensity" of the noise (used to adjust the generated color)

The Voronoi generator has 3 outputs:

  • The first output shows a greyscale image where intensity depends on the distance to the cell centers
  • The second output shows a greyscale image where intensity depends on the distance to the cell edges
  • The third output shows a different color for each cell.

Voronoi Noise

Filters

Colorize

This filter accepts a greyscale image as input and is configured using a gradient. The output image is obtained by applying the gradient to the greyscale image (the example below shows a colorized perlin noise).

Colorize

Blend

This filter accepts 2 inputs and an optional mask and blends the 2 images according to the selected blend algorithm.

Blur

This node applies a Gaussian blur to the input image.

Combine

This node accepts 3 greyscale images as inputs (one for each R, G and B channels) and combines them into a single image. It is useful to create textures that combine distinct features (for example Metallic and Roughness for Godot's Spatial materials).

Emboss

This node creates a lighting effect from a greyscale image, with a configurable light direction.

Emboss

Normal map

This node creates a normal map from a greyscale height map.

Transform

This node applies a transform (translation, rotation, and scale) to its input image. Whether the input image is clamped or repeated when downsizing is configurable.

This can be combined with the pattern node to create a great variety of shapes.

Warp

This node deforms an input image according to the gradient of another image (generally perlin noise).

Warp

Miscellaneous

Material

This node defines the material shown in the 3d preview. It accepts textures for a subset of the PBR lighting model as implemented in the Godot engine. When exporting the material, each texture will be saved as a PNG file named after the project's name and a suffix for each material node input.

Export

This node can be used to export extra PNG files (for example a combined PNG to be used with Godot materials).