diff --git a/doc/images/node_blend.png b/doc/images/node_blend.png new file mode 100644 index 0000000..da6e7a3 Binary files /dev/null and b/doc/images/node_blend.png differ diff --git a/doc/images/node_blur.png b/doc/images/node_blur.png new file mode 100644 index 0000000..0adac39 Binary files /dev/null and b/doc/images/node_blur.png differ diff --git a/doc/images/node_colorize.png b/doc/images/node_colorize.png new file mode 100644 index 0000000..9de86a4 Binary files /dev/null and b/doc/images/node_colorize.png differ diff --git a/doc/images/node_combine.png b/doc/images/node_combine.png new file mode 100644 index 0000000..1de6c20 Binary files /dev/null and b/doc/images/node_combine.png differ diff --git a/doc/images/node_emboss.png b/doc/images/node_emboss.png new file mode 100644 index 0000000..d4981f0 Binary files /dev/null and b/doc/images/node_emboss.png differ diff --git a/doc/images/node_normal_map.png b/doc/images/node_normal_map.png new file mode 100644 index 0000000..3de3ad0 Binary files /dev/null and b/doc/images/node_normal_map.png differ diff --git a/doc/images/node_transform.png b/doc/images/node_transform.png new file mode 100644 index 0000000..90de06b Binary files /dev/null and b/doc/images/node_transform.png differ diff --git a/doc/images/node_warp.png b/doc/images/node_warp.png new file mode 100644 index 0000000..76911b0 Binary files /dev/null and b/doc/images/node_warp.png differ diff --git a/doc/node_blend.rst b/doc/node_blend.rst new file mode 100644 index 0000000..5c6efdb --- /dev/null +++ b/doc/node_blend.rst @@ -0,0 +1,40 @@ +Blend node +~~~~~~~~~~ + +The blend node blends two inputs using an optional opacity. It performs a blend operation +defined by the blend mode between both inputs, and mixes the result with the bottom input +using the opacity (defines by the *opacity* parameter, or the optional greyscale input). + +.. image:: images/node_blend.png + +Inputs +++++++ + +The blend node accepts three inputs: + +* The first input is the top layer. + +* The second input is the bottom layer. + +* The third input is an optional mask that will be use instead of the opacity parameter. + +Outputs ++++++++ + +The blend node outputs the result of the blend operation. + +Parameters +++++++++++ + +The blend node has two parameters: + +* The blend mode, that can be one of the following: Normal, Dissolve, Multiply, Screen, + Overlay, Hard Light, Soft Light, Burn, Dodge, Lighten, Darken, Difference. + +* The opacity used when mixing the result of the blend operation with the bottom input + when the corresponding input is not connected. + +Notes ++++++ + +The *opacity* input will be considered (and implicitly converted to) greyscale if it is a color texture. \ No newline at end of file diff --git a/doc/node_blur.rst b/doc/node_blur.rst new file mode 100644 index 0000000..ddcf1e9 --- /dev/null +++ b/doc/node_blur.rst @@ -0,0 +1,32 @@ +Blur node +~~~~~~~~~ + +The blur node applies a Gaussian blur algorithm to its inputs. + +.. image:: images/node_blur.png + +Inputs +++++++ + +The blur node has a single input. + +Outputs ++++++++ + +The blur node outputs the result of the blur operation. + +Parameters +++++++++++ + +The blur node has three parameters: + +* The grid size defines the size of the output image. + +* The direction specifies if the blur algorithm is applied horizontally, vertically or both. + +* The sigma parameter defines how smooth the output will be. + +Notes ++++++ + +This node outputs an image that has a fixed size. \ No newline at end of file diff --git a/doc/node_colorize.rst b/doc/node_colorize.rst new file mode 100644 index 0000000..22d2cca --- /dev/null +++ b/doc/node_colorize.rst @@ -0,0 +1,30 @@ +Colorize node +~~~~~~~~~~~~~ + +The colorize node applies a user-defined gradient to a greyscale image: black pixels +will be colored with the leftmost color of the gradient and white pixels will take +the rightmost color. + +.. image:: images/node_colorize.png + +Inputs +++++++ + +The colorize node requires a greyscale input texture. + +Outputs ++++++++ + +The image node provides a single color texture. + +.. image:: images/colorize.png + +Parameters +++++++++++ + +The image node has a single parameter that defines the gradient to be applied to the input image. + +Notes ++++++ + +The input will be considered (and implicitly converted to) greyscale if it is a color texture. \ No newline at end of file diff --git a/doc/node_combine.rst b/doc/node_combine.rst new file mode 100644 index 0000000..375ed7b --- /dev/null +++ b/doc/node_combine.rst @@ -0,0 +1,16 @@ +Combine node +~~~~~~~~~~~~ + +The combine three greyscale inputs into a color output texture. + +.. image:: images/node_combine.png + +Inputs +++++++ + +The combine node has 3 inputs, one for each (read, green and blue) channel. + +Outputs ++++++++ + +The combine node outputs a color image. diff --git a/doc/node_emboss.rst b/doc/node_emboss.rst new file mode 100644 index 0000000..c01ee5e --- /dev/null +++ b/doc/node_emboss.rst @@ -0,0 +1,26 @@ +Emboss node +~~~~~~~~~~~ + +The emboss node generates an image that simulates lighting on its input. + +.. image:: images/node_emboss.png + +Inputs +++++++ + +The emboss node has a single input. + +Outputs ++++++++ + +The emboss node outputs the result of the emboss operation. + +Parameters +++++++++++ + +The emboss node has a single parameter that defines the position of the light source used for the emboss effect. + +Notes ++++++ + +This node outputs an image that has a fixed size. diff --git a/doc/node_normal_map.rst b/doc/node_normal_map.rst new file mode 100644 index 0000000..bcca899 --- /dev/null +++ b/doc/node_normal_map.rst @@ -0,0 +1,26 @@ +Normal map node +~~~~~~~~~~~~~~~~ + +The normal map node generates a normal map from its input. + +.. image:: images/node_normal_map.png + +Inputs +++++++ + +The normal map node accepts a single greyscale image as input. + +Outputs ++++++++ + +The normal map node outputs the generated normal map. + +Parameters +++++++++++ + +The normal map node has a single parameter that defines the strength of the normal map effect. + +Notes ++++++ + +This node outputs an image that has a fixed size. diff --git a/doc/node_perlin.rst b/doc/node_perlin.rst index ad4e3cd..53cb22a 100644 --- a/doc/node_perlin.rst +++ b/doc/node_perlin.rst @@ -1,7 +1,8 @@ Perlin noise node ~~~~~~~~~~~~~~~~~ -The Perlin noise node outputs a Perlin noise texture. +The Perlin noise node outputs a texture generated as a sum of Perlin noise functions +with increasing frequencies and decreasing amplitudes. .. image:: images/node_perlin.png @@ -26,8 +27,8 @@ The Perlin noise node accepts the following parameters: * *Iterations* is the number of iterations -* *Persistance* is the weight ratio between 2 subsequent iterations. Lower values of persistance - generate smoother noise. +* *Persistance* is the ratio between the amplitude of subsequent iterations. Lower values + of persistance generate smoother textures. Notes +++++ diff --git a/doc/node_transform.rst b/doc/node_transform.rst new file mode 100644 index 0000000..7ab094b --- /dev/null +++ b/doc/node_transform.rst @@ -0,0 +1,35 @@ +Transform node +~~~~~~~~~~~~~~ + +The transform node applies a scale operation, a rotation and a translation to the input image. + +.. image:: images/node_transform.png + +Inputs +++++++ + +The transform node accepts a single image as input. + +Outputs ++++++++ + +The transform node outputs the transformed image. + +The input image is first rotated around its center, then the scale operation is applied and +finally the translation. + +Using the scale operation to zoom on a detail of the input image is only recommended if the +input does not rely on resolution dependant nodes. + +Parameters +++++++++++ + +The transform node has the following parameters: + +* *Translate X* and *Translate Y* define the translation. + +* *Rotate* define the rotation expressed in degrees. + +* *Scale X* and *Scale Y* define the scale operations along the X and Y axes. + +* If *Repeat* is checked, zooming out will repeat the image, otherwise it will be clamped. diff --git a/doc/node_warp.rst b/doc/node_warp.rst new file mode 100644 index 0000000..87aa2ea --- /dev/null +++ b/doc/node_warp.rst @@ -0,0 +1,25 @@ +Warp node +~~~~~~~~~ + +The warp node deforms an input image according to the derivative of the second input image. + +.. image:: images/node_warp.png + +Inputs +++++++ + +The warp node accepts two inputs: + +* The *Source* inputs is the image to be deformed. + +* The *Displace* input is a greyscale image whose derivative will be used to deform the source. + +Outputs ++++++++ + +The warp node outputs the deformed image. + +Parameters +++++++++++ + +The warp node has the a single parameter that will be used to scale the warp effect. diff --git a/doc/nodes.rst b/doc/nodes.rst index bf6b6b2..9fb1b84 100644 --- a/doc/nodes.rst +++ b/doc/nodes.rst @@ -6,3 +6,4 @@ This section describes all nodes that can be used in a procedural material. .. toctree:: nodes_generators + nodes_filters diff --git a/doc/nodes_filters.rst b/doc/nodes_filters.rst new file mode 100644 index 0000000..ab7182c --- /dev/null +++ b/doc/nodes_filters.rst @@ -0,0 +1,15 @@ +Filter nodes +------------ + +The generator nodes are nodes that do not accept any input and generate one or several images. + +.. toctree:: + + node_colorize + node_blend + node_blur + node_combine + node_emboss + node_normal_map + node_transform + node_warp \ No newline at end of file