Added documentation for Material Maker

This commit is contained in:
Rodolphe Suescun 2018-08-27 18:38:35 +02:00
commit 7bce83908d
162 changed files with 24595 additions and 0 deletions

4
doc/.buildinfo Normal file
View File

@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 2ee82dcf896cce09addbf54afbb9b86a
tags: 645f666f9bcd5a90fca523b33c5a78b7

BIN
doc/_images/bricks.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/bricks.png-a76a5a085b230c53a49bbf6c8105bf02.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/bricks.png"
dest_files=[ "res://.import/bricks.png-a76a5a085b230c53a49bbf6c8105bf02.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
doc/_images/colorize.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/colorize.png-6bd4655f94998cb530e071534d1121a6.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/colorize.png"
dest_files=[ "res://.import/colorize.png-6bd4655f94998cb530e071534d1121a6.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 KiB

BIN
doc/_images/create_node.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
doc/_images/node_blend.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/node_blend.png-11fb75a33c775e2bed32598b9fa61f5b.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/node_blend.png"
dest_files=[ "res://.import/node_blend.png-11fb75a33c775e2bed32598b9fa61f5b.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
doc/_images/node_blur.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/node_blur.png-07d094d41f2e4cf0d5eca57c2ae72988.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/node_blur.png"
dest_files=[ "res://.import/node_blur.png-07d094d41f2e4cf0d5eca57c2ae72988.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
doc/_images/node_bricks.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/node_bricks.png-1be6703526f771ee5973fe2914e76478.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/node_bricks.png"
dest_files=[ "res://.import/node_bricks.png-1be6703526f771ee5973fe2914e76478.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/node_colorize.png-140044906bc37b41c0d8fba1cdad5e27.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/node_colorize.png"
dest_files=[ "res://.import/node_colorize.png-140044906bc37b41c0d8fba1cdad5e27.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/node_combine.png-0d5e78401b0fc2c0ec173eaaa9675da7.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/node_combine.png"
dest_files=[ "res://.import/node_combine.png-0d5e78401b0fc2c0ec173eaaa9675da7.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/node_decompose.png-67e4df5bc2d9ffa9958f6c2c2fcc9d68.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/node_decompose.png"
dest_files=[ "res://.import/node_decompose.png-67e4df5bc2d9ffa9958f6c2c2fcc9d68.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
doc/_images/node_emboss.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/node_emboss.png-3884f4609b35cd3d8d63266bde93bb88.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/node_emboss.png"
dest_files=[ "res://.import/node_emboss.png-3884f4609b35cd3d8d63266bde93bb88.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
doc/_images/node_image.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/node_image.png-5290bb8f79ef4f21936aaa0fb8cb0b04.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/node_image.png"
dest_files=[ "res://.import/node_image.png-5290bb8f79ef4f21936aaa0fb8cb0b04.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
doc/_images/node_noise.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/node_noise.png-3509d0126af7af059094c4fc733ead96.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/node_noise.png"
dest_files=[ "res://.import/node_noise.png-3509d0126af7af059094c4fc733ead96.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/node_normal_map.png-317353be7f026b2c77ecb3e8ce96c8b7.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/node_normal_map.png"
dest_files=[ "res://.import/node_normal_map.png-317353be7f026b2c77ecb3e8ce96c8b7.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/node_pattern.png-2d95996fe31af01df83d4947ec528537.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/node_pattern.png"
dest_files=[ "res://.import/node_pattern.png-2d95996fe31af01df83d4947ec528537.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
doc/_images/node_perlin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/node_perlin.png-95d11fa8b3d3e95d5d36ddf89f25bca8.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/node_perlin.png"
dest_files=[ "res://.import/node_perlin.png-95d11fa8b3d3e95d5d36ddf89f25bca8.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/node_transform.png-c386a20c030ad2baced5e6276eccea42.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/node_transform.png"
dest_files=[ "res://.import/node_transform.png-c386a20c030ad2baced5e6276eccea42.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/node_uniform.png-68f2d35c0597ec540707de1e26c0370f.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/node_uniform.png"
dest_files=[ "res://.import/node_uniform.png-68f2d35c0597ec540707de1e26c0370f.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/node_voronoi.png-72ffdd912da85776830dff990f2e0871.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/node_voronoi.png"
dest_files=[ "res://.import/node_voronoi.png-72ffdd912da85776830dff990f2e0871.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
doc/_images/node_warp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/node_warp.png-7cf965eb3a29d4fa260a9bc7606aa3d3.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/node_warp.png"
dest_files=[ "res://.import/node_warp.png-7cf965eb3a29d4fa260a9bc7606aa3d3.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
doc/_images/noise.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/noise.png-b28f27c286d674a14dea9d36e7feabc3.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/noise.png"
dest_files=[ "res://.import/noise.png-b28f27c286d674a14dea9d36e7feabc3.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
doc/_images/pattern.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/pattern.png-268de6114c9e37de224b745a48c0f711.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/pattern.png"
dest_files=[ "res://.import/pattern.png-268de6114c9e37de224b745a48c0f711.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
doc/_images/perlin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/perlin.png-b7fe4ab3fc7353292d21d0749adbeae7.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/perlin.png"
dest_files=[ "res://.import/perlin.png-b7fe4ab3fc7353292d21d0749adbeae7.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
doc/_images/screenshot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/screenshot.png-4da308e3412f39b740dc4c2ba15e7cab.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/screenshot.png"
dest_files=[ "res://.import/screenshot.png-4da308e3412f39b740dc4c2ba15e7cab.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
doc/_images/voronoi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/voronoi.png-b4002b2f1c1964e10c199b4d646eddfc.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_images/voronoi.png"
dest_files=[ "res://.import/voronoi.png-b4002b2f1c1964e10c199b4d646eddfc.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

View File

@ -0,0 +1,14 @@
.. Material Maker documentation master file, created by
sphinx-quickstart on Wed Aug 22 07:12:09 2018.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to Material Maker's documentation!
==========================================
.. toctree::
:maxdepth: 2
intro
user_interface
nodes

View File

@ -0,0 +1,23 @@
Introduction
============
Material Maker is a procedural material editor based on the Godot Engine.
It can be used to describe the textures that define a material by interconnecting basic
nodes that generate, transform or combine seamless textures in a graph.
* Generator nodes describe configurable patterns that can be used to create the basic shapes
and textures of the material.
* Transform nodes change the colors and shapes of their input images to create a more complex
texture.
* Combine nodes use several input images to generate a new one.
Many nodes in Material Maker are resolution independant, which makes it possible to use transforms
to zoom on an image detail without affecting the generated texture quality. Only a few nodes such
as the image generator and convolution filters (blur, emboss, normal map generation) will limit
the resolution of their output.
.. image:: images/screenshot.png

View File

@ -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.

View File

@ -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.

View File

@ -0,0 +1,53 @@
Bricks node
~~~~~~~~~~~
The bricks node outputs two related bricks pattern textures.
.. image:: images/node_bricks.png
Inputs
++++++
The bricks node does not accept any input.
Outputs
+++++++
The bricks node provides the following textures:
* The first one is a greyscale image where bricks are shown in white and mortar in black.
* The second one is a color image where all bricks are drawn using a random uniform color.
Both images can be used together to create complex materials that show for example bricks
of different colors.
.. image:: images/bricks.png
Parameters
++++++++++
The Bricks node accepts the following parameters:
* the "Pattern" parameter defines the bricks pattern that will be generated.
* the "Repeat" parameter defines the number of patterns on the horizontal and vertical
axes of the texture.
* the "Rows" parameter defines the number of brick rows in a single pattern of the texture.
* the "Columns" parameter defines the number of brick rows in a single pattern of the texture.
* the "Offset" parameter defines the offset of odd rows of the pattern. This parameter
only applies to the "Running bond" patterns.
* the "Mortar" parameter defines the relative thickness of mortar in patterns.
* the "Bevel" parameter defines the relative thickness of brick bevel in patterns.
Notes
+++++
As with all random nodes, the seed is held by the node's position, so moving the node in the graph
will modify the texture, and the outputs will remain the same if its position and parameters
are not changed.

View File

@ -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.

View File

@ -0,0 +1,16 @@
Combine node
~~~~~~~~~~~~
The combine node combines three greyscale inputs into a color output texture.
.. image:: images/node_combine.png
Inputs
++++++
The combine node has 3 inputs, one for each (red, green and blue) channel.
Outputs
+++++++
The combine node outputs a color image.

View File

@ -0,0 +1,16 @@
Decompose node
~~~~~~~~~~~~~~
The decompose node decomposes a color input into three greyscale outputs.
.. image:: images/node_decompose.png
Inputs
++++++
The decompose node has a single color input.
Outputs
+++++++
The decompose node outputs 3 greyscale images, one for each (red, green and blue) channel.

View File

@ -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.

View File

@ -0,0 +1,22 @@
Image node
~~~~~~~~~~
The image node outputs a single texture based on an image file.
.. image:: images/node_image.png
Inputs
++++++
The image node does not accept any input.
Outputs
+++++++
The image node provides a single color texture.
Parameters
++++++++++
The image node has a single parameter that defines the image file the node provides.
It can be modified by clicking the thumbnail and selecting a new image file.

View File

@ -0,0 +1,36 @@
Noise node
~~~~~~~~~~
The Noise node outputs a randomly generated black and white texture.
.. image:: images/node_noise.png
Inputs
++++++
The Noise node does not accept any input.
Outputs
+++++++
The Noise node provides a black and white noise texture.
.. image:: images/noise.png
Parameters
++++++++++
The Noise node accepts the following parameters:
* *Grid size* is the number of rows and columns in the texture.
* *Density* is the likelihood for each cell to be white.
Notes
+++++
As with all random nodes, the seed is held by the node's position, so moving the node in the graph
will modify the texture, and the outputs will remain the same if its position and parameters
are not changed.
Although this node has a grid size, it generates a resolution independant texture.

View File

@ -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.

View File

@ -0,0 +1,42 @@
Pattern node
~~~~~~~~~~~~
The Pattern node outputs a pattern texture generated from common waveform shapes.
.. image:: images/node_pattern.png
Inputs
++++++
The Pattern node does not accept any input.
Outputs
+++++++
The Pattern node provides a grayscale texture obtained by mixing a horizontal and a vertical pattern.
Many different patterns can be created using this node, do not hesitate to experiment.
.. image:: images/pattern.png
Parameters
++++++++++
The Pattern node accepts the following parameters:
* the *X* and *Y* parameters define the pattern and their number of repetitions
that will be propagated along the X axis and Y.
The following patterns are available:
* Sine: the value follows a sinus waveform
* Triangle: the value follows a triangle waveform (changes linearly from 0 to 1 and from 1 to 0)
* Square: the value follows a square waveform (stays constant at 0, then 1)
* Sawtooth: the value follows a sawtooth waveform (hanges linearly from 0 to 1, then jumps back to 0)
* constant: the value is 1
* the *Combiner* parameter is the function used to combine the *X* and *Y* patterns. The available
functions are *multiply*, *add*, *max*, *min*, *xor* and *pow*

View File

@ -0,0 +1,38 @@
Perlin noise node
~~~~~~~~~~~~~~~~~
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
Inputs
++++++
The Perlin noise node does not accept any input.
Outputs
+++++++
The Perlin noise node provides a greyscale Perlin noise texture.
.. image:: images/perlin.png
Parameters
++++++++++
The Perlin noise node accepts the following parameters:
* *Scale X* and *Scale Y* are the subdivisions of the first iteration
* *Iterations* is the number of iterations
* *Persistance* is the ratio between the amplitude of subsequent iterations. Lower values
of persistance generate smoother textures.
Notes
+++++
As with all random nodes, the seed is held by the node's position, so moving the node in the graph
will modify the texture, and the outputs will remain the same if its position and parameters
are not changed.

View File

@ -0,0 +1,41 @@
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 color image as input.
It also accepts a greyscale input image for each transform parameter. In that case,
instead of applying a uniform transform to the input image, the transform parameter
will, for each pixel, be multiplied by a value from -1 to 1 that depends linearly
on the corresponding greyscale input image (a black pixel will multiply the parameter
by -1, a white pixel will not change the parameter, a grey50 pixel will set it to 0).
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.

View File

@ -0,0 +1,21 @@
Uniform node
~~~~~~~~~~~~
The uniform node outputs a single uniform image whose color is configurable.
.. image:: images/node_uniform.png
Inputs
++++++
The uniform node does not accept any input.
Outputs
+++++++
The uniform node provides an output that generates a uniform color image.
Parameters
++++++++++
The uniform node has a single *color* parameter that defines the color of the output image.

View File

@ -0,0 +1,40 @@
Voronoi noise node
~~~~~~~~~~~~~~~~~~
The Voronoi noise node outputs Voronoi noise textures.
.. image:: images/node_voronoi.png
Inputs
++++++
The Voronoi noise node does not accept any input.
Outputs
+++++++
The Voronoi noise node provides three outputs:
* a greyscale Voronoi noise texture that shows the distance to the feature points.
* a greyscale texture that shows the distance to the closest segment bisector of all feature points pairs.
* a color Voronoi partition.
.. image:: images/voronoi.png
Parameters
++++++++++
The Voronoi noise node accepts the following parameters:
* *Scale X* and *Scale Y* define the number of feature points that define the noise
* *Intersity* is a factor applied to the first output of the node.
Notes
+++++
As with all random nodes, the seed is held by the node's position, so moving the node in the graph
will modify the texture, and the outputs will remain the same if its position and parameters
are not changed.

View File

@ -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.

View File

@ -0,0 +1,9 @@
Available nodes
===============
This section describes all nodes that can be used in a procedural material.
.. toctree::
nodes_generators
nodes_filters

View File

@ -0,0 +1,16 @@
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_decompose
node_emboss
node_normal_map
node_transform
node_warp

View File

@ -0,0 +1,14 @@
Generator nodes
---------------
The generator nodes are nodes that do not accept any input and generate one or several images.
.. toctree::
node_uniform
node_image
node_pattern
node_bricks
node_noise
node_perlin
node_voronoi

View File

@ -0,0 +1,115 @@
User interface
==============
Overview
--------
Material Maker mainly consists of 3 panes:
* The top left pane is the library, that contains all available nodes that can be used
to create materials. Library items are shown in a tree view
* The bottom left pane is the preview, that shows at the same time the currecnt material
applied to a sample mesh in a sample environment, and the texture generated by the
currently selected node
* The right pane contains the graph editors where materials are described for current
projects
First steps with the user interface
-----------------------------------
When opening Material Maker, a new empty project is created and shown in the right pane.
An empty project simply consists of a material node where textures for all elements of
the material should be connected.
To create a new node, simply choose one (for example "bricks") from the library (the
top left pane) and drag it into the graph editor. Depending on the selected library
item, a preview or a simple description will be displayed while dragging.
.. image:: images/create_node.gif
Selecting this new node (by clicking on it) shows it in the preview pane. The very small
2d preview of the preview pane can be maximized by double cliking on it. This will hide
the 3d preview but is useful when working on the different textures of the material.
To connect a node output to an input of another node, simply drag one to the other.
For example we can drag the first output of the Bricks node to the albedo input of
the Materials node. This will automatically assign the simple Bricks texture to the
albedo element of the material, and the 3d preview will immediately be updated (if
you maximized the 2d preview it can be minimized by double-clicking on it again).
.. image:: images/connect_nodes.gif
Nodes can easily be configured by modifying their parameters, and previews are updated
automatically.
Since each input can be connected to a single output, reconnecting an input will
automatically remove the previous connection.
Main menu
---------
The main menu is organized in 4 sections:
* the *File* menu contains actions to create, load, save and export materials
* the *Edit* menu has common edit actions cut, copy and paste
* the *Tools* menu has actions to add items to the user library
* the *Help* menu can be used to find more information and submit feedback about the software
File menu
^^^^^^^^^
* *New material* creates a new material and opens a tab in the right pane to edit it
* *Load material* opens a file dialog to select a procedural material (.ptex) file. If
a material file is selected, it will be open in a new tab in the right pane. If the current
tab contains an empty material (about material that only consists of a Material node), the
material will be loaded into this tab.
* *Save material* saves the current material. If it was not previously saved, a file dialog
will be displayed to select a location and file name.
* *Save material as* prompts for a location and file name and saves the current material.
* *Save all materials* saves all currently open materials. Materials that were not already
saved ae ignored.
* *Export material* generates PNG image files for all elements of the material. File names are
defined using the path of the material and their role (albedo, metallic...) in the material.
* *Close material* closes the current material.
* *Quit* closes the software.
Edit menu
^^^^^^^^^
* *Cut* Copies the selected nodes to the clipboard and removes them from the current material.
* *Copy* Copies the selected nodes to the clipboard
* *Paste* Copies the clipboard into the current material. Note that the nodes will be added to
the center of the view, so it is advised to scroll to the correct location before pasting.
Pasting also unselects all previously selected nodes and selects all newly created nodes,
so they can easily be moved around.
Tools menu
^^^^^^^^^^
* *Add selected node to user library* first prompts for an item name. If a name is entered and
confirmed, the selected nodes in the current material will be added to the user library under
that name. Don't forget to use the *Save user library* item, otherwise the newly created library
not be available anymore when the software is restarted.
* *Save user library* saves the user library.
Help menu
^^^^^^^^^
* *Report a bug* opens a web browser on the Issues page of Material Maker's GitHub project. Please
do not hesitate to use it to suggest improvements for Material Maker.
* *About* Shows the about dialog.

BIN
doc/_static/ajax-loader.gif vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 B

665
doc/_static/basic.css vendored Normal file
View File

@ -0,0 +1,665 @@
/*
* basic.css
* ~~~~~~~~~
*
* Sphinx stylesheet -- basic theme.
*
* :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
/* -- main layout ----------------------------------------------------------- */
div.clearer {
clear: both;
}
/* -- relbar ---------------------------------------------------------------- */
div.related {
width: 100%;
font-size: 90%;
}
div.related h3 {
display: none;
}
div.related ul {
margin: 0;
padding: 0 0 0 10px;
list-style: none;
}
div.related li {
display: inline;
}
div.related li.right {
float: right;
margin-right: 5px;
}
/* -- sidebar --------------------------------------------------------------- */
div.sphinxsidebarwrapper {
padding: 10px 5px 0 10px;
}
div.sphinxsidebar {
float: left;
width: 230px;
margin-left: -100%;
font-size: 90%;
word-wrap: break-word;
overflow-wrap : break-word;
}
div.sphinxsidebar ul {
list-style: none;
}
div.sphinxsidebar ul ul,
div.sphinxsidebar ul.want-points {
margin-left: 20px;
list-style: square;
}
div.sphinxsidebar ul ul {
margin-top: 0;
margin-bottom: 0;
}
div.sphinxsidebar form {
margin-top: 10px;
}
div.sphinxsidebar input {
border: 1px solid #98dbcc;
font-family: sans-serif;
font-size: 1em;
}
div.sphinxsidebar #searchbox input[type="text"] {
float: left;
width: 80%;
padding: 0.25em;
box-sizing: border-box;
}
div.sphinxsidebar #searchbox input[type="submit"] {
float: left;
width: 20%;
border-left: none;
padding: 0.25em;
box-sizing: border-box;
}
img {
border: 0;
max-width: 100%;
}
/* -- search page ----------------------------------------------------------- */
ul.search {
margin: 10px 0 0 20px;
padding: 0;
}
ul.search li {
padding: 5px 0 5px 20px;
background-image: url(file.png);
background-repeat: no-repeat;
background-position: 0 7px;
}
ul.search li a {
font-weight: bold;
}
ul.search li div.context {
color: #888;
margin: 2px 0 0 30px;
text-align: left;
}
ul.keywordmatches li.goodmatch a {
font-weight: bold;
}
/* -- index page ------------------------------------------------------------ */
table.contentstable {
width: 90%;
margin-left: auto;
margin-right: auto;
}
table.contentstable p.biglink {
line-height: 150%;
}
a.biglink {
font-size: 1.3em;
}
span.linkdescr {
font-style: italic;
padding-top: 5px;
font-size: 90%;
}
/* -- general index --------------------------------------------------------- */
table.indextable {
width: 100%;
}
table.indextable td {
text-align: left;
vertical-align: top;
}
table.indextable ul {
margin-top: 0;
margin-bottom: 0;
list-style-type: none;
}
table.indextable > tbody > tr > td > ul {
padding-left: 0em;
}
table.indextable tr.pcap {
height: 10px;
}
table.indextable tr.cap {
margin-top: 10px;
background-color: #f2f2f2;
}
img.toggler {
margin-right: 3px;
margin-top: 3px;
cursor: pointer;
}
div.modindex-jumpbox {
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
margin: 1em 0 1em 0;
padding: 0.4em;
}
div.genindex-jumpbox {
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
margin: 1em 0 1em 0;
padding: 0.4em;
}
/* -- domain module index --------------------------------------------------- */
table.modindextable td {
padding: 2px;
border-collapse: collapse;
}
/* -- general body styles --------------------------------------------------- */
div.body {
min-width: 450px;
max-width: 800px;
}
div.body p, div.body dd, div.body li, div.body blockquote {
-moz-hyphens: auto;
-ms-hyphens: auto;
-webkit-hyphens: auto;
hyphens: auto;
}
a.headerlink {
visibility: hidden;
}
h1:hover > a.headerlink,
h2:hover > a.headerlink,
h3:hover > a.headerlink,
h4:hover > a.headerlink,
h5:hover > a.headerlink,
h6:hover > a.headerlink,
dt:hover > a.headerlink,
caption:hover > a.headerlink,
p.caption:hover > a.headerlink,
div.code-block-caption:hover > a.headerlink {
visibility: visible;
}
div.body p.caption {
text-align: inherit;
}
div.body td {
text-align: left;
}
.first {
margin-top: 0 !important;
}
p.rubric {
margin-top: 30px;
font-weight: bold;
}
img.align-left, .figure.align-left, object.align-left {
clear: left;
float: left;
margin-right: 1em;
}
img.align-right, .figure.align-right, object.align-right {
clear: right;
float: right;
margin-left: 1em;
}
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left;
}
.align-center {
text-align: center;
}
.align-right {
text-align: right;
}
/* -- sidebars -------------------------------------------------------------- */
div.sidebar {
margin: 0 0 0.5em 1em;
border: 1px solid #ddb;
padding: 7px 7px 0 7px;
background-color: #ffe;
width: 40%;
float: right;
}
p.sidebar-title {
font-weight: bold;
}
/* -- topics ---------------------------------------------------------------- */
div.topic {
border: 1px solid #ccc;
padding: 7px 7px 0 7px;
margin: 10px 0 10px 0;
}
p.topic-title {
font-size: 1.1em;
font-weight: bold;
margin-top: 10px;
}
/* -- admonitions ----------------------------------------------------------- */
div.admonition {
margin-top: 10px;
margin-bottom: 10px;
padding: 7px;
}
div.admonition dt {
font-weight: bold;
}
div.admonition dl {
margin-bottom: 0;
}
p.admonition-title {
margin: 0px 10px 5px 0px;
font-weight: bold;
}
div.body p.centered {
text-align: center;
margin-top: 25px;
}
/* -- tables ---------------------------------------------------------------- */
table.docutils {
border: 0;
border-collapse: collapse;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
table caption span.caption-number {
font-style: italic;
}
table caption span.caption-text {
}
table.docutils td, table.docutils th {
padding: 1px 8px 1px 5px;
border-top: 0;
border-left: 0;
border-right: 0;
border-bottom: 1px solid #aaa;
}
table.footnote td, table.footnote th {
border: 0 !important;
}
th {
text-align: left;
padding-right: 5px;
}
table.citation {
border-left: solid 1px gray;
margin-left: 1px;
}
table.citation td {
border-bottom: none;
}
/* -- figures --------------------------------------------------------------- */
div.figure {
margin: 0.5em;
padding: 0.5em;
}
div.figure p.caption {
padding: 0.3em;
}
div.figure p.caption span.caption-number {
font-style: italic;
}
div.figure p.caption span.caption-text {
}
/* -- field list styles ----------------------------------------------------- */
table.field-list td, table.field-list th {
border: 0 !important;
}
.field-list ul {
margin: 0;
padding-left: 1em;
}
.field-list p {
margin: 0;
}
.field-name {
-moz-hyphens: manual;
-ms-hyphens: manual;
-webkit-hyphens: manual;
hyphens: manual;
}
/* -- other body styles ----------------------------------------------------- */
ol.arabic {
list-style: decimal;
}
ol.loweralpha {
list-style: lower-alpha;
}
ol.upperalpha {
list-style: upper-alpha;
}
ol.lowerroman {
list-style: lower-roman;
}
ol.upperroman {
list-style: upper-roman;
}
dl {
margin-bottom: 15px;
}
dd p {
margin-top: 0px;
}
dd ul, dd table {
margin-bottom: 10px;
}
dd {
margin-top: 3px;
margin-bottom: 10px;
margin-left: 30px;
}
dt:target, span.highlighted {
background-color: #fbe54e;
}
rect.highlighted {
fill: #fbe54e;
}
dl.glossary dt {
font-weight: bold;
font-size: 1.1em;
}
.optional {
font-size: 1.3em;
}
.sig-paren {
font-size: larger;
}
.versionmodified {
font-style: italic;
}
.system-message {
background-color: #fda;
padding: 5px;
border: 3px solid red;
}
.footnote:target {
background-color: #ffa;
}
.line-block {
display: block;
margin-top: 1em;
margin-bottom: 1em;
}
.line-block .line-block {
margin-top: 0;
margin-bottom: 0;
margin-left: 1.5em;
}
.guilabel, .menuselection {
font-family: sans-serif;
}
.accelerator {
text-decoration: underline;
}
.classifier {
font-style: oblique;
}
abbr, acronym {
border-bottom: dotted 1px;
cursor: help;
}
/* -- code displays --------------------------------------------------------- */
pre {
overflow: auto;
overflow-y: hidden; /* fixes display issues on Chrome browsers */
}
span.pre {
-moz-hyphens: none;
-ms-hyphens: none;
-webkit-hyphens: none;
hyphens: none;
}
td.linenos pre {
padding: 5px 0px;
border: 0;
background-color: transparent;
color: #aaa;
}
table.highlighttable {
margin-left: 0.5em;
}
table.highlighttable td {
padding: 0 0.5em 0 0.5em;
}
div.code-block-caption {
padding: 2px 5px;
font-size: small;
}
div.code-block-caption code {
background-color: transparent;
}
div.code-block-caption + div > div.highlight > pre {
margin-top: 0;
}
div.code-block-caption span.caption-number {
padding: 0.1em 0.3em;
font-style: italic;
}
div.code-block-caption span.caption-text {
}
div.literal-block-wrapper {
padding: 1em 1em 0;
}
div.literal-block-wrapper div.highlight {
margin: 0;
}
code.descname {
background-color: transparent;
font-weight: bold;
font-size: 1.2em;
}
code.descclassname {
background-color: transparent;
}
code.xref, a code {
background-color: transparent;
font-weight: bold;
}
h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
background-color: transparent;
}
.viewcode-link {
float: right;
}
.viewcode-back {
float: right;
font-family: sans-serif;
}
div.viewcode-block:target {
margin: -1px -10px;
padding: 0 10px;
}
/* -- math display ---------------------------------------------------------- */
img.math {
vertical-align: middle;
}
div.body div.math p {
text-align: center;
}
span.eqno {
float: right;
}
span.eqno a.headerlink {
position: relative;
left: 0px;
z-index: 1;
}
div.math:hover a.headerlink {
visibility: visible;
}
/* -- printout stylesheet --------------------------------------------------- */
@media print {
div.document,
div.documentwrapper,
div.bodywrapper {
margin: 0 !important;
width: 100%;
}
div.sphinxsidebar,
div.related,
div.footer,
#top-link {
display: none;
}
}

BIN
doc/_static/comment-bright.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 756 B

29
doc/_static/comment-bright.png.import vendored Normal file
View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/comment-bright.png-7ade9d7161ff586753a5c42b69058b66.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_static/comment-bright.png"
dest_files=[ "res://.import/comment-bright.png-7ade9d7161ff586753a5c42b69058b66.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
doc/_static/comment-close.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 829 B

29
doc/_static/comment-close.png.import vendored Normal file
View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/comment-close.png-7f3ec57d00a7db24f54522bd58d4c3a8.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_static/comment-close.png"
dest_files=[ "res://.import/comment-close.png-7f3ec57d00a7db24f54522bd58d4c3a8.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
doc/_static/comment.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 641 B

29
doc/_static/comment.png.import vendored Normal file
View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/comment.png-5df3de16fdcfe8f84fec7579a8778a96.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_static/comment.png"
dest_files=[ "res://.import/comment.png-5df3de16fdcfe8f84fec7579a8778a96.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

1
doc/_static/css/badge_only.css vendored Normal file
View File

@ -0,0 +1 @@
.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-weight:normal;font-style:normal;src:url("../fonts/fontawesome-webfont.eot");src:url("../fonts/fontawesome-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff") format("woff"),url("../fonts/fontawesome-webfont.ttf") format("truetype"),url("../fonts/fontawesome-webfont.svg#FontAwesome") format("svg")}.fa:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa{display:inline-block;text-decoration:inherit}li .fa{display:inline-block}li .fa-large:before,li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-0.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before,ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before{content:""}.icon-book:before{content:""}.fa-caret-down:before{content:""}.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.icon-caret-up:before{content:""}.fa-caret-left:before{content:""}.icon-caret-left:before{content:""}.fa-caret-right:before{content:""}.icon-caret-right:before{content:""}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up{height:auto;max-height:100%}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}

6
doc/_static/css/theme.css vendored Normal file

File diff suppressed because one or more lines are too long

313
doc/_static/doctools.js vendored Normal file
View File

@ -0,0 +1,313 @@
/*
* doctools.js
* ~~~~~~~~~~~
*
* Sphinx JavaScript utilities for all documentation.
*
* :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
/**
* select a different prefix for underscore
*/
$u = _.noConflict();
/**
* make the code below compatible with browsers without
* an installed firebug like debugger
if (!window.console || !console.firebug) {
var names = ["log", "debug", "info", "warn", "error", "assert", "dir",
"dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",
"profile", "profileEnd"];
window.console = {};
for (var i = 0; i < names.length; ++i)
window.console[names[i]] = function() {};
}
*/
/**
* small helper function to urldecode strings
*/
jQuery.urldecode = function(x) {
return decodeURIComponent(x).replace(/\+/g, ' ');
};
/**
* small helper function to urlencode strings
*/
jQuery.urlencode = encodeURIComponent;
/**
* This function returns the parsed url parameters of the
* current request. Multiple values per key are supported,
* it will always return arrays of strings for the value parts.
*/
jQuery.getQueryParameters = function(s) {
if (typeof s === 'undefined')
s = document.location.search;
var parts = s.substr(s.indexOf('?') + 1).split('&');
var result = {};
for (var i = 0; i < parts.length; i++) {
var tmp = parts[i].split('=', 2);
var key = jQuery.urldecode(tmp[0]);
var value = jQuery.urldecode(tmp[1]);
if (key in result)
result[key].push(value);
else
result[key] = [value];
}
return result;
};
/**
* highlight a given string on a jquery object by wrapping it in
* span elements with the given class name.
*/
jQuery.fn.highlightText = function(text, className) {
function highlight(node, addItems) {
if (node.nodeType === 3) {
var val = node.nodeValue;
var pos = val.toLowerCase().indexOf(text);
if (pos >= 0 &&
!jQuery(node.parentNode).hasClass(className) &&
!jQuery(node.parentNode).hasClass("nohighlight")) {
var span;
var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
if (isInSVG) {
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
} else {
span = document.createElement("span");
span.className = className;
}
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
node.parentNode.insertBefore(span, node.parentNode.insertBefore(
document.createTextNode(val.substr(pos + text.length)),
node.nextSibling));
node.nodeValue = val.substr(0, pos);
if (isInSVG) {
var bbox = span.getBBox();
var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
rect.x.baseVal.value = bbox.x;
rect.y.baseVal.value = bbox.y;
rect.width.baseVal.value = bbox.width;
rect.height.baseVal.value = bbox.height;
rect.setAttribute('class', className);
var parentOfText = node.parentNode.parentNode;
addItems.push({
"parent": node.parentNode,
"target": rect});
}
}
}
else if (!jQuery(node).is("button, select, textarea")) {
jQuery.each(node.childNodes, function() {
highlight(this, addItems);
});
}
}
var addItems = [];
var result = this.each(function() {
highlight(this, addItems);
});
for (var i = 0; i < addItems.length; ++i) {
jQuery(addItems[i].parent).before(addItems[i].target);
}
return result;
};
/*
* backward compatibility for jQuery.browser
* This will be supported until firefox bug is fixed.
*/
if (!jQuery.browser) {
jQuery.uaMatch = function(ua) {
ua = ua.toLowerCase();
var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
/(webkit)[ \/]([\w.]+)/.exec(ua) ||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
/(msie) ([\w.]+)/.exec(ua) ||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
[];
return {
browser: match[ 1 ] || "",
version: match[ 2 ] || "0"
};
};
jQuery.browser = {};
jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
}
/**
* Small JavaScript module for the documentation.
*/
var Documentation = {
init : function() {
this.fixFirefoxAnchorBug();
this.highlightSearchWords();
this.initIndexTable();
},
/**
* i18n support
*/
TRANSLATIONS : {},
PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; },
LOCALE : 'unknown',
// gettext and ngettext don't access this so that the functions
// can safely bound to a different name (_ = Documentation.gettext)
gettext : function(string) {
var translated = Documentation.TRANSLATIONS[string];
if (typeof translated === 'undefined')
return string;
return (typeof translated === 'string') ? translated : translated[0];
},
ngettext : function(singular, plural, n) {
var translated = Documentation.TRANSLATIONS[singular];
if (typeof translated === 'undefined')
return (n == 1) ? singular : plural;
return translated[Documentation.PLURALEXPR(n)];
},
addTranslations : function(catalog) {
for (var key in catalog.messages)
this.TRANSLATIONS[key] = catalog.messages[key];
this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
this.LOCALE = catalog.locale;
},
/**
* add context elements like header anchor links
*/
addContextElements : function() {
$('div[id] > :header:first').each(function() {
$('<a class="headerlink">\u00B6</a>').
attr('href', '#' + this.id).
attr('title', _('Permalink to this headline')).
appendTo(this);
});
$('dt[id]').each(function() {
$('<a class="headerlink">\u00B6</a>').
attr('href', '#' + this.id).
attr('title', _('Permalink to this definition')).
appendTo(this);
});
},
/**
* workaround a firefox stupidity
* see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075
*/
fixFirefoxAnchorBug : function() {
if (document.location.hash && $.browser.mozilla)
window.setTimeout(function() {
document.location.href += '';
}, 10);
},
/**
* highlight the search words provided in the url in the text
*/
highlightSearchWords : function() {
var params = $.getQueryParameters();
var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
if (terms.length) {
var body = $('div.body');
if (!body.length) {
body = $('body');
}
window.setTimeout(function() {
$.each(terms, function() {
body.highlightText(this.toLowerCase(), 'highlighted');
});
}, 10);
$('<p class="highlight-link"><a href="javascript:Documentation.' +
'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>')
.appendTo($('#searchbox'));
}
},
/**
* init the domain index toggle buttons
*/
initIndexTable : function() {
var togglers = $('img.toggler').click(function() {
var src = $(this).attr('src');
var idnum = $(this).attr('id').substr(7);
$('tr.cg-' + idnum).toggle();
if (src.substr(-9) === 'minus.png')
$(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
else
$(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
}).css('display', '');
if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
togglers.click();
}
},
/**
* helper function to hide the search marks again
*/
hideSearchWords : function() {
$('#searchbox .highlight-link').fadeOut(300);
$('span.highlighted').removeClass('highlighted');
},
/**
* make the url absolute
*/
makeURL : function(relativeURL) {
return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
},
/**
* get the current relative url
*/
getCurrentURL : function() {
var path = document.location.pathname;
var parts = path.split(/\//);
$.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
if (this === '..')
parts.pop();
});
var url = parts.join('/');
return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
},
initOnKeyListeners: function() {
$(document).keyup(function(event) {
var activeElementType = document.activeElement.tagName;
// don't navigate when in search box or textarea
if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') {
switch (event.keyCode) {
case 37: // left
var prevHref = $('link[rel="prev"]').prop('href');
if (prevHref) {
window.location.href = prevHref;
return false;
}
case 39: // right
var nextHref = $('link[rel="next"]').prop('href');
if (nextHref) {
window.location.href = nextHref;
return false;
}
}
}
});
}
};
// quick alias for translations
_ = Documentation.gettext;
$(document).ready(function() {
Documentation.init();
});

9
doc/_static/documentation_options.js vendored Normal file
View File

@ -0,0 +1,9 @@
var DOCUMENTATION_OPTIONS = {
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
VERSION: '',
LANGUAGE: 'None',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};

BIN
doc/_static/down-pressed.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 B

29
doc/_static/down-pressed.png.import vendored Normal file
View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/down-pressed.png-b8e3e7f12c57025c3d5049969057757f.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_static/down-pressed.png"
dest_files=[ "res://.import/down-pressed.png-b8e3e7f12c57025c3d5049969057757f.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
doc/_static/down.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 B

29
doc/_static/down.png.import vendored Normal file
View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/down.png-6c3266f180e2fcadddb1a6f6bf24afd8.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_static/down.png"
dest_files=[ "res://.import/down.png-6c3266f180e2fcadddb1a6f6bf24afd8.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
doc/_static/file.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 B

29
doc/_static/file.png.import vendored Normal file
View File

@ -0,0 +1,29 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/file.png-2c97692d2f2b213f9166e9ca611c19ef.stex"
[deps]
source_file="res://addons/procedural_material/doc/_build/html/_static/file.png"
dest_files=[ "res://.import/file.png-2c97692d2f2b213f9166e9ca611c19ef.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
doc/_static/fonts/Lato/lato-bold.eot vendored Normal file

Binary file not shown.

BIN
doc/_static/fonts/Lato/lato-bold.ttf vendored Normal file

Binary file not shown.

BIN
doc/_static/fonts/Lato/lato-bold.woff vendored Normal file

Binary file not shown.

BIN
doc/_static/fonts/Lato/lato-bold.woff2 vendored Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
doc/_static/fonts/Lato/lato-italic.eot vendored Normal file

Binary file not shown.

BIN
doc/_static/fonts/Lato/lato-italic.ttf vendored Normal file

Binary file not shown.

BIN
doc/_static/fonts/Lato/lato-italic.woff vendored Normal file

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More