material-maker/doc/node_3d_sdf.html
2020-03-15 09:55:36 +01:00

313 lines
11 KiB
HTML

<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>3D signed distance function geometry nodes &mdash; Material Maker documentation</title>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Render node" href="node_3d_sdf_render.html" />
<link rel="prev" title="Sphere node" href="node_3d_sphere.html" />
<script src="_static/js/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="index.html" class="icon icon-home"> Material Maker
</a>
<div class="version">
0.9
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="intro.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="user_interface.html">User interface</a></li>
<li class="toctree-l1"><a class="reference internal" href="nodes.html">Nodes overview</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="base_library.html">Nodes library</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="nodes_simple.html">Simple nodes</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="nodes_3d.html">3D nodes</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="node_3d_box.html">Box node</a></li>
<li class="toctree-l3"><a class="reference internal" href="node_3d_sphere.html">Sphere node</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">3D signed distance function geometry nodes</a><ul>
<li class="toctree-l4"><a class="reference internal" href="node_3d_sdf_render.html">Render node</a></li>
<li class="toctree-l4"><a class="reference internal" href="node_3d_sdf_color.html">Color node</a></li>
<li class="toctree-l4"><a class="reference internal" href="#shapes">Shapes</a></li>
<li class="toctree-l4"><a class="reference internal" href="#operators">Operators</a></li>
<li class="toctree-l4"><a class="reference internal" href="#transforms">Transforms</a></li>
<li class="toctree-l4"><a class="reference internal" href="#example-images">Example images</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="node_3d_texture.html">3D textures</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nodes_pattern.html">Pattern nodes</a></li>
<li class="toctree-l2"><a class="reference internal" href="nodes_noise.html">Noise nodes</a></li>
<li class="toctree-l2"><a class="reference internal" href="nodes_filter.html">Filter nodes</a></li>
<li class="toctree-l2"><a class="reference internal" href="nodes_transform.html">Transform nodes</a></li>
<li class="toctree-l2"><a class="reference internal" href="nodes_workflow.html">Workflow nodes</a></li>
<li class="toctree-l2"><a class="reference internal" href="nodes_miscellaneous.html">Miscellaneous nodes</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="export.html">Exporting Materials</a></li>
<li class="toctree-l1"><a class="reference internal" href="command_line.html">Command line arguments</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">Material Maker</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html">Docs</a> &raquo;</li>
<li><a href="base_library.html">Nodes library</a> &raquo;</li>
<li><a href="nodes_3d.html">3D nodes</a> &raquo;</li>
<li>3D signed distance function geometry nodes</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="d-signed-distance-function-geometry-nodes">
<h1>3D signed distance function geometry nodes<a class="headerlink" href="#d-signed-distance-function-geometry-nodes" title="Permalink to this headline"></a></h1>
<p>The signed distance function nodes can be used to define complex 3D geometry using simple
shapes.</p>
<p>They are based on a very small set of basic shapes, that can be combined using operators,
and finally output as a greyscale heightmap and a color normal map using the <strong>render</strong> node.</p>
<p>Describing 3D objects using SDF primitives is more difficult than using existing meshes, but this
method integrates smoothly with shader generation, and (as many nodes in Material Maker) is
resolution independant.</p>
<p>All shapes can be associated to a color index that can be used to apply different (2D or 3D) textures
to the result.</p>
<p>All output samples shown in this section are preview images.</p>
<p>All Signed Distance Functions nodes are based on code written by Inigo Quilez that can be found
<a class="reference external" href="https://www.iquilezles.org/www/articles/distfunctions/distfunctions.htm">on this page</a>.</p>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="node_3d_sdf_render.html">Render node</a></li>
<li class="toctree-l1"><a class="reference internal" href="node_3d_sdf_color.html">Color node</a></li>
</ul>
</div>
<div class="section" id="shapes">
<h2>Shapes<a class="headerlink" href="#shapes" title="Permalink to this headline"></a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="node_3d_sdf_shapes_sphere.html">Sphere node</a></li>
<li class="toctree-l1"><a class="reference internal" href="node_3d_sdf_shapes_box.html">Box node</a></li>
<li class="toctree-l1"><a class="reference internal" href="node_3d_sdf_shapes_cylinder.html">Cylinder node</a></li>
<li class="toctree-l1"><a class="reference internal" href="node_3d_sdf_shapes_capsule.html">Capsule node</a></li>
<li class="toctree-l1"><a class="reference internal" href="node_3d_sdf_shapes_cone.html">Cone node</a></li>
<li class="toctree-l1"><a class="reference internal" href="node_3d_sdf_shapes_torus.html">Torus node</a></li>
</ul>
</div>
</div>
<div class="section" id="operators">
<h2>Operators<a class="headerlink" href="#operators" title="Permalink to this headline"></a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="node_3d_sdf_operators_boolean.html">Boolean node</a></li>
<li class="toctree-l1"><a class="reference internal" href="node_3d_sdf_operators_smoothboolean.html">SmoothBoolean node</a></li>
<li class="toctree-l1"><a class="reference internal" href="node_3d_sdf_operators_rounded.html">Rounded node</a></li>
<li class="toctree-l1"><a class="reference internal" href="node_3d_sdf_operators_elongation.html">Elongation node</a></li>
<li class="toctree-l1"><a class="reference internal" href="node_3d_sdf_operators_repeat.html">Repeat node</a></li>
<li class="toctree-l1"><a class="reference internal" href="node_3d_sdf_operators_circlerepeat.html">CircleRepeat node</a></li>
<li class="toctree-l1"><a class="reference internal" href="node_3d_sdf_operators_extrusion.html">Extrusion node</a></li>
<li class="toctree-l1"><a class="reference internal" href="node_3d_sdf_operators_revolution.html">Revolution node</a></li>
<li class="toctree-l1"><a class="reference internal" href="node_3d_sdf_operators_morph.html">Morph node</a></li>
</ul>
</div>
</div>
<div class="section" id="transforms">
<h2>Transforms<a class="headerlink" href="#transforms" title="Permalink to this headline"></a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="node_3d_sdf_transforms_translate.html">Translate node</a></li>
<li class="toctree-l1"><a class="reference internal" href="node_3d_sdf_transforms_scale.html">Scale node</a></li>
<li class="toctree-l1"><a class="reference internal" href="node_3d_sdf_transforms_rotate.html">Rotate node</a></li>
</ul>
</div>
</div>
<div class="section" id="example-images">
<h2>Example images<a class="headerlink" href="#example-images" title="Permalink to this headline"></a></h2>
<img alt="_images/node_sdf3d_samples.png" class="align-center" src="_images/node_sdf3d_samples.png" />
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="node_3d_sdf_render.html" class="btn btn-neutral float-right" title="Render node" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="node_3d_sphere.html" class="btn btn-neutral" title="Sphere node" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2018-2020, Rodz Labs.
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'',
LANGUAGE:'None',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/language_data.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>