mirror of
https://github.com/johndoe6345789/SDL3CPlusPlus.git
synced 2026-04-24 21:55:09 +00:00
6010 lines
299 KiB
XML
Executable File
6010 lines
299 KiB
XML
Executable File
<?xml version="1.0"?>
|
|
<materialx version="1.39">
|
|
<!--
|
|
Copyright Contributors to the MaterialX Project
|
|
SPDX-License-Identifier: Apache-2.0
|
|
|
|
Graph definitions of standard nodes included in the MaterialX specification.
|
|
-->
|
|
|
|
<!-- ======================================================================== -->
|
|
<!-- Texture nodes -->
|
|
<!-- ======================================================================== -->
|
|
|
|
<!--
|
|
Node: <tiledimage>
|
|
-->
|
|
<nodegraph name="NG_tiledimage_float" nodedef="ND_tiledimage_float">
|
|
<multiply name="N_mult_float" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="texcoord" />
|
|
<input name="in2" type="vector2" interfacename="uvtiling" />
|
|
</multiply>
|
|
<subtract name="N_sub_float" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_mult_float" />
|
|
<input name="in2" type="vector2" interfacename="uvoffset" />
|
|
</subtract>
|
|
<divide name="N_divtilesize_float" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_sub_float" />
|
|
<input name="in2" type="vector2" interfacename="realworldimagesize" />
|
|
</divide>
|
|
<multiply name="N_multtilesize_float" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_divtilesize_float" />
|
|
<input name="in2" type="vector2" interfacename="realworldtilesize" />
|
|
</multiply>
|
|
<image name="N_img_float" type="float">
|
|
<input name="file" type="filename" interfacename="file" />
|
|
<input name="default" type="float" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_multtilesize_float" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<output name="out" type="float" nodename="N_img_float" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_tiledimage_color3" nodedef="ND_tiledimage_color3">
|
|
<multiply name="N_mult_color3" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="texcoord" />
|
|
<input name="in2" type="vector2" interfacename="uvtiling" />
|
|
</multiply>
|
|
<subtract name="N_sub_color3" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_mult_color3" />
|
|
<input name="in2" type="vector2" interfacename="uvoffset" />
|
|
</subtract>
|
|
<divide name="N_divtilesize_color3" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_sub_color3" />
|
|
<input name="in2" type="vector2" interfacename="realworldimagesize" />
|
|
</divide>
|
|
<multiply name="N_multtilesize_color3" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_divtilesize_color3" />
|
|
<input name="in2" type="vector2" interfacename="realworldtilesize" />
|
|
</multiply>
|
|
<image name="N_img_color3" type="color3">
|
|
<input name="file" type="filename" interfacename="file" />
|
|
<input name="default" type="color3" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_multtilesize_color3" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<output name="out" type="color3" nodename="N_img_color3" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_tiledimage_color4" nodedef="ND_tiledimage_color4">
|
|
<multiply name="N_mult_color4" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="texcoord" />
|
|
<input name="in2" type="vector2" interfacename="uvtiling" />
|
|
</multiply>
|
|
<subtract name="N_sub_color4" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_mult_color4" />
|
|
<input name="in2" type="vector2" interfacename="uvoffset" />
|
|
</subtract>
|
|
<divide name="N_divtilesize_color4" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_sub_color4" />
|
|
<input name="in2" type="vector2" interfacename="realworldimagesize" />
|
|
</divide>
|
|
<multiply name="N_multtilesize_color4" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_divtilesize_color4" />
|
|
<input name="in2" type="vector2" interfacename="realworldtilesize" />
|
|
</multiply>
|
|
<image name="N_img_color4" type="color4">
|
|
<input name="file" type="filename" interfacename="file" />
|
|
<input name="default" type="color4" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_multtilesize_color4" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<output name="out" type="color4" nodename="N_img_color4" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_tiledimage_vector2" nodedef="ND_tiledimage_vector2">
|
|
<multiply name="N_mult_vector2" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="texcoord" />
|
|
<input name="in2" type="vector2" interfacename="uvtiling" />
|
|
</multiply>
|
|
<subtract name="N_sub_vector2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_mult_vector2" />
|
|
<input name="in2" type="vector2" interfacename="uvoffset" />
|
|
</subtract>
|
|
<divide name="N_divtilesize_vector2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_sub_vector2" />
|
|
<input name="in2" type="vector2" interfacename="realworldimagesize" />
|
|
</divide>
|
|
<multiply name="N_multtilesize_vector2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_divtilesize_vector2" />
|
|
<input name="in2" type="vector2" interfacename="realworldtilesize" />
|
|
</multiply>
|
|
<image name="N_img_vector2" type="vector2">
|
|
<input name="file" type="filename" interfacename="file" />
|
|
<input name="default" type="vector2" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_multtilesize_vector2" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<output name="out" type="vector2" nodename="N_img_vector2" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_tiledimage_vector3" nodedef="ND_tiledimage_vector3">
|
|
<multiply name="N_mult_vector3" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="texcoord" />
|
|
<input name="in2" type="vector2" interfacename="uvtiling" />
|
|
</multiply>
|
|
<subtract name="N_sub_vector3" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_mult_vector3" />
|
|
<input name="in2" type="vector2" interfacename="uvoffset" />
|
|
</subtract>
|
|
<divide name="N_divtilesize_vector3" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_sub_vector3" />
|
|
<input name="in2" type="vector2" interfacename="realworldimagesize" />
|
|
</divide>
|
|
<multiply name="N_multtilesize_vector3" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_divtilesize_vector3" />
|
|
<input name="in2" type="vector2" interfacename="realworldtilesize" />
|
|
</multiply>
|
|
<image name="N_img_vector3" type="vector3">
|
|
<input name="file" type="filename" interfacename="file" />
|
|
<input name="default" type="vector3" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_multtilesize_vector3" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<output name="out" type="vector3" nodename="N_img_vector3" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_tiledimage_vector4" nodedef="ND_tiledimage_vector4">
|
|
<multiply name="N_mult_vector4" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="texcoord" />
|
|
<input name="in2" type="vector2" interfacename="uvtiling" />
|
|
</multiply>
|
|
<subtract name="N_sub_vector4" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_mult_vector4" />
|
|
<input name="in2" type="vector2" interfacename="uvoffset" />
|
|
</subtract>
|
|
<divide name="N_divtilesize_vector4" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_sub_vector4" />
|
|
<input name="in2" type="vector2" interfacename="realworldimagesize" />
|
|
</divide>
|
|
<multiply name="N_multtilesize_vector4" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_divtilesize_vector4" />
|
|
<input name="in2" type="vector2" interfacename="realworldtilesize" />
|
|
</multiply>
|
|
<image name="N_img_vector4" type="vector4">
|
|
<input name="file" type="filename" interfacename="file" />
|
|
<input name="default" type="vector4" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_multtilesize_vector4" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<output name="out" type="vector4" nodename="N_img_vector4" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <triplanarprojection>
|
|
Samples data from three images, or layers within multi-layer images, and projects a tiled
|
|
representation of the images along each of the three respective coordinate axes, computing
|
|
a weighted blend of the three samples using the geometric normal.
|
|
-->
|
|
<nodegraph name="NG_triplanarprojection_float" nodedef="ND_triplanarprojection_float">
|
|
<extract name="N_extX_float" type="float">
|
|
<input name="in" type="vector3" interfacename="position" />
|
|
<input name="index" type="integer" value="0" />
|
|
</extract>
|
|
<extract name="N_extY_float" type="float">
|
|
<input name="in" type="vector3" interfacename="position" />
|
|
<input name="index" type="integer" value="1" />
|
|
</extract>
|
|
<extract name="N_extZ_float" type="float">
|
|
<input name="in" type="vector3" interfacename="position" />
|
|
<input name="index" type="integer" value="2" />
|
|
</extract>
|
|
<combine2 name="N_vecYZ_float" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extY_float" />
|
|
<input name="in2" type="float" nodename="N_extZ_float" />
|
|
</combine2>
|
|
<combine2 name="N_vecXZ_float" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extX_float" />
|
|
<input name="in2" type="float" nodename="N_extZ_float" />
|
|
</combine2>
|
|
<combine2 name="N_vecXY_float" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extX_float" />
|
|
<input name="in2" type="float" nodename="N_extY_float" />
|
|
</combine2>
|
|
<multiply name="N_vecXY_invert_float" type="float">
|
|
<input name="in1" type="float" nodename="N_extY_float" />
|
|
<input name="in2" type="float" value="-1" />
|
|
</multiply>
|
|
<combine2 name="N_vecXY_xUp_float" type="vector2">
|
|
<input name="in1" type="float" nodename="N_vecXY_invert_float" />
|
|
<input name="in2" type="float" nodename="N_extX_float" />
|
|
</combine2>
|
|
<combine2 name="N_vecXZ_xUp_float" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extZ_float" />
|
|
<input name="in2" type="float" nodename="N_extX_float" />
|
|
</combine2>
|
|
<combine2 name="N_vecYZ_yUp_float" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extZ_float" />
|
|
<input name="in2" type="float" nodename="N_extY_float" />
|
|
</combine2>
|
|
<switch name="N_upDirSwitchXY_float" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_vecXY_xUp_float" />
|
|
<input name="in2" type="vector2" nodename="N_vecXY_float" />
|
|
<input name="in3" type="vector2" nodename="N_vecXY_float" />
|
|
<input name="which" type="integer" interfacename="upaxis" />
|
|
</switch>
|
|
<switch name="N_upDirSwitchXZ_float" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_vecXZ_xUp_float" />
|
|
<input name="in2" type="vector2" nodename="N_vecXZ_float" />
|
|
<input name="in3" type="vector2" nodename="N_vecXZ_float" />
|
|
<input name="which" type="integer" interfacename="upaxis" />
|
|
</switch>
|
|
<switch name="N_upDirSwitchYZ_float" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_vecYZ_yUp_float" />
|
|
<input name="in2" type="vector2" nodename="N_vecYZ_yUp_float" />
|
|
<input name="in3" type="vector2" nodename="N_vecYZ_float" />
|
|
<input name="which" type="integer" interfacename="upaxis" />
|
|
</switch>
|
|
<image name="N_imgX_float" type="float">
|
|
<input name="file" type="filename" interfacename="filex" />
|
|
<input name="layer" type="string" interfacename="layerx" />
|
|
<input name="default" type="float" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_upDirSwitchYZ_float" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<image name="N_imgY_float" type="float">
|
|
<input name="file" type="filename" interfacename="filey" />
|
|
<input name="layer" type="string" interfacename="layery" />
|
|
<input name="default" type="float" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_upDirSwitchXZ_float" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<image name="N_imgZ_float" type="float">
|
|
<input name="file" type="filename" interfacename="filez" />
|
|
<input name="layer" type="string" interfacename="layerz" />
|
|
<input name="default" type="float" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_upDirSwitchXY_float" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<normalize name="N_norm_vector3" type="vector3">
|
|
<input name="in" type="vector3" interfacename="normal" />
|
|
</normalize>
|
|
<absval name="N_absN" type="vector3">
|
|
<input name="in" type="vector3" nodename="N_norm_vector3" />
|
|
</absval>
|
|
<dotproduct name="N_dotN" type="float">
|
|
<input name="in1" type="vector3" nodename="N_absN" />
|
|
<input name="in2" type="vector3" value="1.0, 1.0, 1.0" />
|
|
</dotproduct>
|
|
<divide name="N_normalizeWeights" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_absN" />
|
|
<input name="in2" type="float" nodename="N_dotN" />
|
|
</divide>
|
|
<clamp name="N_clampForPrecision" type="float">
|
|
<input name="in" type="float" interfacename="blend" />
|
|
<input name="low" type="float" value="0.03" />
|
|
</clamp>
|
|
<divide name="N_oneOverBlend" type="float">
|
|
<input name="in1" type="float" value="1.0" />
|
|
<input name="in2" type="float" nodename="N_clampForPrecision" />
|
|
</divide>
|
|
<power name="N_blendPower" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_normalizeWeights" />
|
|
<input name="in2" type="float" nodename="N_oneOverBlend" />
|
|
</power>
|
|
<dotproduct name="N_dotBlendedN" type="float">
|
|
<input name="in1" type="vector3" nodename="N_blendPower" />
|
|
<input name="in2" type="vector3" value="1.0, 1.0, 1.0" />
|
|
</dotproduct>
|
|
<divide name="N_normalizeBlendedWeights" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_blendPower" />
|
|
<input name="in2" type="float" nodename="N_dotBlendedN" />
|
|
</divide>
|
|
<separate3 name="N_separateWeights" type="multioutput">
|
|
<input name="in" type="vector3" nodename="N_normalizeBlendedWeights" />
|
|
</separate3>
|
|
<multiply name="N_nX_float" type="float">
|
|
<input name="in1" type="float" nodename="N_imgX_float" />
|
|
<input name="in2" type="float" nodename="N_separateWeights" output="outx" />
|
|
</multiply>
|
|
<multiply name="N_nY_float" type="float">
|
|
<input name="in1" type="float" nodename="N_imgY_float" />
|
|
<input name="in2" type="float" nodename="N_separateWeights" output="outy" />
|
|
</multiply>
|
|
<multiply name="N_nZ_float" type="float">
|
|
<input name="in1" type="float" nodename="N_imgZ_float" />
|
|
<input name="in2" type="float" nodename="N_separateWeights" output="outz" />
|
|
</multiply>
|
|
<add name="N_add1_float" type="float">
|
|
<input name="in1" type="float" nodename="N_nX_float" />
|
|
<input name="in2" type="float" nodename="N_nY_float" />
|
|
</add>
|
|
<add name="N_add2_float" type="float">
|
|
<input name="in1" type="float" nodename="N_add1_float" />
|
|
<input name="in2" type="float" nodename="N_nZ_float" />
|
|
</add>
|
|
<output name="out" type="float" nodename="N_add2_float" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_triplanarprojection_color3" nodedef="ND_triplanarprojection_color3">
|
|
<extract name="N_extX_color3" type="float">
|
|
<input name="in" type="vector3" interfacename="position" />
|
|
<input name="index" type="integer" value="0" />
|
|
</extract>
|
|
<extract name="N_extY_color3" type="float">
|
|
<input name="in" type="vector3" interfacename="position" />
|
|
<input name="index" type="integer" value="1" />
|
|
</extract>
|
|
<extract name="N_extZ_color3" type="float">
|
|
<input name="in" type="vector3" interfacename="position" />
|
|
<input name="index" type="integer" value="2" />
|
|
</extract>
|
|
<combine2 name="N_vecYZ_color3" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extY_color3" />
|
|
<input name="in2" type="float" nodename="N_extZ_color3" />
|
|
</combine2>
|
|
<combine2 name="N_vecXZ_color3" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extX_color3" />
|
|
<input name="in2" type="float" nodename="N_extZ_color3" />
|
|
</combine2>
|
|
<combine2 name="N_vecXY_color3" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extX_color3" />
|
|
<input name="in2" type="float" nodename="N_extY_color3" />
|
|
</combine2>
|
|
<multiply name="N_vecXY_invert_color3" type="float">
|
|
<input name="in1" type="float" nodename="N_extY_color3" />
|
|
<input name="in2" type="float" value="-1" />
|
|
</multiply>
|
|
<combine2 name="N_vecXY_xUp_color3" type="vector2">
|
|
<input name="in1" type="float" nodename="N_vecXY_invert_color3" />
|
|
<input name="in2" type="float" nodename="N_extX_color3" />
|
|
</combine2>
|
|
<combine2 name="N_vecXZ_xUp_color3" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extZ_color3" />
|
|
<input name="in2" type="float" nodename="N_extX_color3" />
|
|
</combine2>
|
|
<combine2 name="N_vecYZ_yUp_color3" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extZ_color3" />
|
|
<input name="in2" type="float" nodename="N_extY_color3" />
|
|
</combine2>
|
|
<switch name="N_upDirSwitchXY_color3" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_vecXY_xUp_color3" />
|
|
<input name="in2" type="vector2" nodename="N_vecXY_color3" />
|
|
<input name="in3" type="vector2" nodename="N_vecXY_color3" />
|
|
<input name="which" type="integer" interfacename="upaxis" />
|
|
</switch>
|
|
<switch name="N_upDirSwitchXZ_color3" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_vecXZ_xUp_color3" />
|
|
<input name="in2" type="vector2" nodename="N_vecXZ_color3" />
|
|
<input name="in3" type="vector2" nodename="N_vecXZ_color3" />
|
|
<input name="which" type="integer" interfacename="upaxis" />
|
|
</switch>
|
|
<switch name="N_upDirSwitchYZ_color3" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_vecYZ_yUp_color3" />
|
|
<input name="in2" type="vector2" nodename="N_vecYZ_yUp_color3" />
|
|
<input name="in3" type="vector2" nodename="N_vecYZ_color3" />
|
|
<input name="which" type="integer" interfacename="upaxis" />
|
|
</switch>
|
|
<image name="N_imgX_color3" type="color3">
|
|
<input name="file" type="filename" interfacename="filex" />
|
|
<input name="layer" type="string" interfacename="layerx" />
|
|
<input name="default" type="color3" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_upDirSwitchYZ_color3" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<image name="N_imgY_color3" type="color3">
|
|
<input name="file" type="filename" interfacename="filey" />
|
|
<input name="layer" type="string" interfacename="layery" />
|
|
<input name="default" type="color3" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_upDirSwitchXZ_color3" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<image name="N_imgZ_color3" type="color3">
|
|
<input name="file" type="filename" interfacename="filez" />
|
|
<input name="layer" type="string" interfacename="layerz" />
|
|
<input name="default" type="color3" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_upDirSwitchXY_color3" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<normalize name="N_norm_vector3" type="vector3">
|
|
<input name="in" type="vector3" interfacename="normal" />
|
|
</normalize>
|
|
<absval name="N_absN" type="vector3">
|
|
<input name="in" type="vector3" nodename="N_norm_vector3" />
|
|
</absval>
|
|
<dotproduct name="N_dotN" type="float">
|
|
<input name="in1" type="vector3" nodename="N_absN" />
|
|
<input name="in2" type="vector3" value="1.0, 1.0, 1.0" />
|
|
</dotproduct>
|
|
<divide name="N_normalizeWeights" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_absN" />
|
|
<input name="in2" type="float" nodename="N_dotN" />
|
|
</divide>
|
|
<clamp name="N_clampForPrecision" type="float">
|
|
<input name="in" type="float" interfacename="blend" />
|
|
<input name="low" type="float" value="0.03" />
|
|
</clamp>
|
|
<divide name="N_oneOverBlend" type="float">
|
|
<input name="in1" type="float" value="1.0" />
|
|
<input name="in2" type="float" nodename="N_clampForPrecision" />
|
|
</divide>
|
|
<power name="N_blendPower" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_normalizeWeights" />
|
|
<input name="in2" type="float" nodename="N_oneOverBlend" />
|
|
</power>
|
|
<dotproduct name="N_dotBlendedN" type="float">
|
|
<input name="in1" type="vector3" nodename="N_blendPower" />
|
|
<input name="in2" type="vector3" value="1.0, 1.0, 1.0" />
|
|
</dotproduct>
|
|
<divide name="N_normalizeBlendedWeights" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_blendPower" />
|
|
<input name="in2" type="float" nodename="N_dotBlendedN" />
|
|
</divide>
|
|
<separate3 name="N_separateWeights" type="multioutput">
|
|
<input name="in" type="vector3" nodename="N_normalizeBlendedWeights" />
|
|
</separate3>
|
|
<multiply name="N_nX_color3" type="color3">
|
|
<input name="in1" type="color3" nodename="N_imgX_color3" />
|
|
<input name="in2" type="float" nodename="N_separateWeights" output="outx" />
|
|
</multiply>
|
|
<multiply name="N_nY_color3" type="color3">
|
|
<input name="in1" type="color3" nodename="N_imgY_color3" />
|
|
<input name="in2" type="float" nodename="N_separateWeights" output="outy" />
|
|
</multiply>
|
|
<multiply name="N_nZ_color3" type="color3">
|
|
<input name="in1" type="color3" nodename="N_imgZ_color3" />
|
|
<input name="in2" type="float" nodename="N_separateWeights" output="outz" />
|
|
</multiply>
|
|
<add name="N_add1_color3" type="color3">
|
|
<input name="in1" type="color3" nodename="N_nX_color3" />
|
|
<input name="in2" type="color3" nodename="N_nY_color3" />
|
|
</add>
|
|
<add name="N_add2_color3" type="color3">
|
|
<input name="in1" type="color3" nodename="N_add1_color3" />
|
|
<input name="in2" type="color3" nodename="N_nZ_color3" />
|
|
</add>
|
|
<output name="out" type="color3" nodename="N_add2_color3" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_triplanarprojection_color4" nodedef="ND_triplanarprojection_color4">
|
|
<extract name="N_extX_color4" type="float">
|
|
<input name="in" type="vector3" interfacename="position" />
|
|
<input name="index" type="integer" value="0" />
|
|
</extract>
|
|
<extract name="N_extY_color4" type="float">
|
|
<input name="in" type="vector3" interfacename="position" />
|
|
<input name="index" type="integer" value="1" />
|
|
</extract>
|
|
<extract name="N_extZ_color4" type="float">
|
|
<input name="in" type="vector3" interfacename="position" />
|
|
<input name="index" type="integer" value="2" />
|
|
</extract>
|
|
<combine2 name="N_vecYZ_color4" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extY_color4" />
|
|
<input name="in2" type="float" nodename="N_extZ_color4" />
|
|
</combine2>
|
|
<combine2 name="N_vecXZ_color4" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extX_color4" />
|
|
<input name="in2" type="float" nodename="N_extZ_color4" />
|
|
</combine2>
|
|
<combine2 name="N_vecXY_color4" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extX_color4" />
|
|
<input name="in2" type="float" nodename="N_extY_color4" />
|
|
</combine2>
|
|
<multiply name="N_vecXY_invert_color4" type="float">
|
|
<input name="in1" type="float" nodename="N_extY_color4" />
|
|
<input name="in2" type="float" value="-1" />
|
|
</multiply>
|
|
<combine2 name="N_vecXY_xUp_color4" type="vector2">
|
|
<input name="in1" type="float" nodename="N_vecXY_invert_color4" />
|
|
<input name="in2" type="float" nodename="N_extX_color4" />
|
|
</combine2>
|
|
<combine2 name="N_vecXZ_xUp_color4" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extZ_color4" />
|
|
<input name="in2" type="float" nodename="N_extX_color4" />
|
|
</combine2>
|
|
<combine2 name="N_vecYZ_yUp_color4" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extZ_color4" />
|
|
<input name="in2" type="float" nodename="N_extY_color4" />
|
|
</combine2>
|
|
<switch name="N_upDirSwitchXY_color4" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_vecXY_xUp_color4" />
|
|
<input name="in2" type="vector2" nodename="N_vecXY_color4" />
|
|
<input name="in3" type="vector2" nodename="N_vecXY_color4" />
|
|
<input name="which" type="integer" interfacename="upaxis" />
|
|
</switch>
|
|
<switch name="N_upDirSwitchXZ_color4" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_vecXZ_xUp_color4" />
|
|
<input name="in2" type="vector2" nodename="N_vecXZ_color4" />
|
|
<input name="in3" type="vector2" nodename="N_vecXZ_color4" />
|
|
<input name="which" type="integer" interfacename="upaxis" />
|
|
</switch>
|
|
<switch name="N_upDirSwitchYZ_color4" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_vecYZ_yUp_color4" />
|
|
<input name="in2" type="vector2" nodename="N_vecYZ_yUp_color4" />
|
|
<input name="in3" type="vector2" nodename="N_vecYZ_color4" />
|
|
<input name="which" type="integer" interfacename="upaxis" />
|
|
</switch>
|
|
<image name="N_imgX_color4" type="color4">
|
|
<input name="file" type="filename" interfacename="filex" />
|
|
<input name="layer" type="string" interfacename="layerx" />
|
|
<input name="default" type="color4" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_upDirSwitchYZ_color4" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<image name="N_imgY_color4" type="color4">
|
|
<input name="file" type="filename" interfacename="filey" />
|
|
<input name="layer" type="string" interfacename="layery" />
|
|
<input name="default" type="color4" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_upDirSwitchXZ_color4" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<image name="N_imgZ_color4" type="color4">
|
|
<input name="file" type="filename" interfacename="filez" />
|
|
<input name="layer" type="string" interfacename="layerz" />
|
|
<input name="default" type="color4" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_upDirSwitchXY_color4" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<normalize name="N_norm_vector3" type="vector3">
|
|
<input name="in" type="vector3" interfacename="normal" />
|
|
</normalize>
|
|
<absval name="N_absN" type="vector3">
|
|
<input name="in" type="vector3" nodename="N_norm_vector3" />
|
|
</absval>
|
|
<dotproduct name="N_dotN" type="float">
|
|
<input name="in1" type="vector3" nodename="N_absN" />
|
|
<input name="in2" type="vector3" value="1.0, 1.0, 1.0" />
|
|
</dotproduct>
|
|
<divide name="N_normalizeWeights" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_absN" />
|
|
<input name="in2" type="float" nodename="N_dotN" />
|
|
</divide>
|
|
<clamp name="N_clampForPrecision" type="float">
|
|
<input name="in" type="float" interfacename="blend" />
|
|
<input name="low" type="float" value="0.03" />
|
|
</clamp>
|
|
<divide name="N_oneOverBlend" type="float">
|
|
<input name="in1" type="float" value="1.0" />
|
|
<input name="in2" type="float" nodename="N_clampForPrecision" />
|
|
</divide>
|
|
<power name="N_blendPower" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_normalizeWeights" />
|
|
<input name="in2" type="float" nodename="N_oneOverBlend" />
|
|
</power>
|
|
<dotproduct name="N_dotBlendedN" type="float">
|
|
<input name="in1" type="vector3" nodename="N_blendPower" />
|
|
<input name="in2" type="vector3" value="1.0, 1.0, 1.0" />
|
|
</dotproduct>
|
|
<divide name="N_normalizeBlendedWeights" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_blendPower" />
|
|
<input name="in2" type="float" nodename="N_dotBlendedN" />
|
|
</divide>
|
|
<separate3 name="N_separateWeights" type="multioutput">
|
|
<input name="in" type="vector3" nodename="N_normalizeBlendedWeights" />
|
|
</separate3>
|
|
<multiply name="N_nX_color4" type="color4">
|
|
<input name="in1" type="color4" nodename="N_imgX_color4" />
|
|
<input name="in2" type="float" nodename="N_separateWeights" output="outx" />
|
|
</multiply>
|
|
<multiply name="N_nY_color4" type="color4">
|
|
<input name="in1" type="color4" nodename="N_imgY_color4" />
|
|
<input name="in2" type="float" nodename="N_separateWeights" output="outy" />
|
|
</multiply>
|
|
<multiply name="N_nZ_color4" type="color4">
|
|
<input name="in1" type="color4" nodename="N_imgZ_color4" />
|
|
<input name="in2" type="float" nodename="N_separateWeights" output="outz" />
|
|
</multiply>
|
|
<add name="N_add1_color4" type="color4">
|
|
<input name="in1" type="color4" nodename="N_nX_color4" />
|
|
<input name="in2" type="color4" nodename="N_nY_color4" />
|
|
</add>
|
|
<add name="N_add2_color4" type="color4">
|
|
<input name="in1" type="color4" nodename="N_add1_color4" />
|
|
<input name="in2" type="color4" nodename="N_nZ_color4" />
|
|
</add>
|
|
<output name="out" type="color4" nodename="N_add2_color4" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_triplanarprojection_vector2" nodedef="ND_triplanarprojection_vector2">
|
|
<extract name="N_extX_vector2" type="float">
|
|
<input name="in" type="vector3" interfacename="position" />
|
|
<input name="index" type="integer" value="0" />
|
|
</extract>
|
|
<extract name="N_extY_vector2" type="float">
|
|
<input name="in" type="vector3" interfacename="position" />
|
|
<input name="index" type="integer" value="1" />
|
|
</extract>
|
|
<extract name="N_extZ_vector2" type="float">
|
|
<input name="in" type="vector3" interfacename="position" />
|
|
<input name="index" type="integer" value="2" />
|
|
</extract>
|
|
<combine2 name="N_vecYZ_vector2" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extY_vector2" />
|
|
<input name="in2" type="float" nodename="N_extZ_vector2" />
|
|
</combine2>
|
|
<combine2 name="N_vecXZ_vector2" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extX_vector2" />
|
|
<input name="in2" type="float" nodename="N_extZ_vector2" />
|
|
</combine2>
|
|
<combine2 name="N_vecXY_vector2" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extX_vector2" />
|
|
<input name="in2" type="float" nodename="N_extY_vector2" />
|
|
</combine2>
|
|
<multiply name="N_vecXY_invert_vector2" type="float">
|
|
<input name="in1" type="float" nodename="N_extY_vector2" />
|
|
<input name="in2" type="float" value="-1" />
|
|
</multiply>
|
|
<combine2 name="N_vecXY_xUp_vector2" type="vector2">
|
|
<input name="in1" type="float" nodename="N_vecXY_invert_vector2" />
|
|
<input name="in2" type="float" nodename="N_extX_vector2" />
|
|
</combine2>
|
|
<combine2 name="N_vecXZ_xUp_vector2" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extZ_vector2" />
|
|
<input name="in2" type="float" nodename="N_extX_vector2" />
|
|
</combine2>
|
|
<combine2 name="N_vecYZ_yUp_vector2" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extZ_vector2" />
|
|
<input name="in2" type="float" nodename="N_extY_vector2" />
|
|
</combine2>
|
|
<switch name="N_upDirSwitchXY_vector2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_vecXY_xUp_vector2" />
|
|
<input name="in2" type="vector2" nodename="N_vecXY_vector2" />
|
|
<input name="in3" type="vector2" nodename="N_vecXY_vector2" />
|
|
<input name="which" type="integer" interfacename="upaxis" />
|
|
</switch>
|
|
<switch name="N_upDirSwitchXZ_vector2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_vecXZ_xUp_vector2" />
|
|
<input name="in2" type="vector2" nodename="N_vecXZ_vector2" />
|
|
<input name="in3" type="vector2" nodename="N_vecXZ_vector2" />
|
|
<input name="which" type="integer" interfacename="upaxis" />
|
|
</switch>
|
|
<switch name="N_upDirSwitchYZ_vector2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_vecYZ_yUp_vector2" />
|
|
<input name="in2" type="vector2" nodename="N_vecYZ_yUp_vector2" />
|
|
<input name="in3" type="vector2" nodename="N_vecYZ_vector2" />
|
|
<input name="which" type="integer" interfacename="upaxis" />
|
|
</switch>
|
|
<image name="N_imgX_vector2" type="vector2">
|
|
<input name="file" type="filename" interfacename="filex" />
|
|
<input name="layer" type="string" interfacename="layerx" />
|
|
<input name="default" type="vector2" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_upDirSwitchYZ_vector2" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<image name="N_imgY_vector2" type="vector2">
|
|
<input name="file" type="filename" interfacename="filey" />
|
|
<input name="layer" type="string" interfacename="layery" />
|
|
<input name="default" type="vector2" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_upDirSwitchXZ_vector2" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<image name="N_imgZ_vector2" type="vector2">
|
|
<input name="file" type="filename" interfacename="filez" />
|
|
<input name="layer" type="string" interfacename="layerz" />
|
|
<input name="default" type="vector2" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_upDirSwitchXY_vector2" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<normalize name="N_norm_vector3" type="vector3">
|
|
<input name="in" type="vector3" interfacename="normal" />
|
|
</normalize>
|
|
<absval name="N_absN" type="vector3">
|
|
<input name="in" type="vector3" nodename="N_norm_vector3" />
|
|
</absval>
|
|
<dotproduct name="N_dotN" type="float">
|
|
<input name="in1" type="vector3" nodename="N_absN" />
|
|
<input name="in2" type="vector3" value="1.0, 1.0, 1.0" />
|
|
</dotproduct>
|
|
<divide name="N_normalizeWeights" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_absN" />
|
|
<input name="in2" type="float" nodename="N_dotN" />
|
|
</divide>
|
|
<clamp name="N_clampForPrecision" type="float">
|
|
<input name="in" type="float" interfacename="blend" />
|
|
<input name="low" type="float" value="0.03" />
|
|
</clamp>
|
|
<divide name="N_oneOverBlend" type="float">
|
|
<input name="in1" type="float" value="1.0" />
|
|
<input name="in2" type="float" nodename="N_clampForPrecision" />
|
|
</divide>
|
|
<power name="N_blendPower" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_normalizeWeights" />
|
|
<input name="in2" type="float" nodename="N_oneOverBlend" />
|
|
</power>
|
|
<dotproduct name="N_dotBlendedN" type="float">
|
|
<input name="in1" type="vector3" nodename="N_blendPower" />
|
|
<input name="in2" type="vector3" value="1.0, 1.0, 1.0" />
|
|
</dotproduct>
|
|
<divide name="N_normalizeBlendedWeights" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_blendPower" />
|
|
<input name="in2" type="float" nodename="N_dotBlendedN" />
|
|
</divide>
|
|
<separate3 name="N_separateWeights" type="multioutput">
|
|
<input name="in" type="vector3" nodename="N_normalizeBlendedWeights" />
|
|
</separate3>
|
|
<multiply name="N_nX_vector2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_imgX_vector2" />
|
|
<input name="in2" type="float" nodename="N_separateWeights" output="outx" />
|
|
</multiply>
|
|
<multiply name="N_nY_vector2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_imgY_vector2" />
|
|
<input name="in2" type="float" nodename="N_separateWeights" output="outy" />
|
|
</multiply>
|
|
<multiply name="N_nZ_vector2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_imgZ_vector2" />
|
|
<input name="in2" type="float" nodename="N_separateWeights" output="outz" />
|
|
</multiply>
|
|
<add name="N_add1_vector2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_nX_vector2" />
|
|
<input name="in2" type="vector2" nodename="N_nY_vector2" />
|
|
</add>
|
|
<add name="N_add2_vector2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_add1_vector2" />
|
|
<input name="in2" type="vector2" nodename="N_nZ_vector2" />
|
|
</add>
|
|
<output name="out" type="vector2" nodename="N_add2_vector2" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_triplanarprojection_vector3" nodedef="ND_triplanarprojection_vector3">
|
|
<extract name="N_extX_vector3" type="float">
|
|
<input name="in" type="vector3" interfacename="position" />
|
|
<input name="index" type="integer" value="0" />
|
|
</extract>
|
|
<extract name="N_extY_vector3" type="float">
|
|
<input name="in" type="vector3" interfacename="position" />
|
|
<input name="index" type="integer" value="1" />
|
|
</extract>
|
|
<extract name="N_extZ_vector3" type="float">
|
|
<input name="in" type="vector3" interfacename="position" />
|
|
<input name="index" type="integer" value="2" />
|
|
</extract>
|
|
<combine2 name="N_vecYZ_vector3" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extY_vector3" />
|
|
<input name="in2" type="float" nodename="N_extZ_vector3" />
|
|
</combine2>
|
|
<combine2 name="N_vecXZ_vector3" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extX_vector3" />
|
|
<input name="in2" type="float" nodename="N_extZ_vector3" />
|
|
</combine2>
|
|
<combine2 name="N_vecXY_vector3" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extX_vector3" />
|
|
<input name="in2" type="float" nodename="N_extY_vector3" />
|
|
</combine2>
|
|
<multiply name="N_vecXY_invert_vector3" type="float">
|
|
<input name="in1" type="float" nodename="N_extY_vector3" />
|
|
<input name="in2" type="float" value="-1" />
|
|
</multiply>
|
|
<combine2 name="N_vecXY_xUp_vector3" type="vector2">
|
|
<input name="in1" type="float" nodename="N_vecXY_invert_vector3" />
|
|
<input name="in2" type="float" nodename="N_extX_vector3" />
|
|
</combine2>
|
|
<combine2 name="N_vecXZ_xUp_vector3" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extZ_vector3" />
|
|
<input name="in2" type="float" nodename="N_extX_vector3" />
|
|
</combine2>
|
|
<combine2 name="N_vecYZ_yUp_vector3" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extZ_vector3" />
|
|
<input name="in2" type="float" nodename="N_extY_vector3" />
|
|
</combine2>
|
|
<switch name="N_upDirSwitchXY_vector3" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_vecXY_xUp_vector3" />
|
|
<input name="in2" type="vector2" nodename="N_vecXY_vector3" />
|
|
<input name="in3" type="vector2" nodename="N_vecXY_vector3" />
|
|
<input name="which" type="integer" interfacename="upaxis" />
|
|
</switch>
|
|
<switch name="N_upDirSwitchXZ_vector3" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_vecXZ_xUp_vector3" />
|
|
<input name="in2" type="vector2" nodename="N_vecXZ_vector3" />
|
|
<input name="in3" type="vector2" nodename="N_vecXZ_vector3" />
|
|
<input name="which" type="integer" interfacename="upaxis" />
|
|
</switch>
|
|
<switch name="N_upDirSwitchYZ_vector3" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_vecYZ_yUp_vector3" />
|
|
<input name="in2" type="vector2" nodename="N_vecYZ_yUp_vector3" />
|
|
<input name="in3" type="vector2" nodename="N_vecYZ_vector3" />
|
|
<input name="which" type="integer" interfacename="upaxis" />
|
|
</switch>
|
|
<image name="N_imgX_vector3" type="vector3">
|
|
<input name="file" type="filename" interfacename="filex" />
|
|
<input name="layer" type="string" interfacename="layerx" />
|
|
<input name="default" type="vector3" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_upDirSwitchYZ_vector3" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<image name="N_imgY_vector3" type="vector3">
|
|
<input name="file" type="filename" interfacename="filey" />
|
|
<input name="layer" type="string" interfacename="layery" />
|
|
<input name="default" type="vector3" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_upDirSwitchXZ_vector3" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<image name="N_imgZ_vector3" type="vector3">
|
|
<input name="file" type="filename" interfacename="filez" />
|
|
<input name="layer" type="string" interfacename="layerz" />
|
|
<input name="default" type="vector3" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_upDirSwitchXY_vector3" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<normalize name="N_norm_vector3" type="vector3">
|
|
<input name="in" type="vector3" interfacename="normal" />
|
|
</normalize>
|
|
<absval name="N_absN" type="vector3">
|
|
<input name="in" type="vector3" nodename="N_norm_vector3" />
|
|
</absval>
|
|
<dotproduct name="N_dotN" type="float">
|
|
<input name="in1" type="vector3" nodename="N_absN" />
|
|
<input name="in2" type="vector3" value="1.0, 1.0, 1.0" />
|
|
</dotproduct>
|
|
<divide name="N_normalizeWeights" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_absN" />
|
|
<input name="in2" type="float" nodename="N_dotN" />
|
|
</divide>
|
|
<clamp name="N_clampForPrecision" type="float">
|
|
<input name="in" type="float" interfacename="blend" />
|
|
<input name="low" type="float" value="0.03" />
|
|
</clamp>
|
|
<divide name="N_oneOverBlend" type="float">
|
|
<input name="in1" type="float" value="1.0" />
|
|
<input name="in2" type="float" nodename="N_clampForPrecision" />
|
|
</divide>
|
|
<power name="N_blendPower" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_normalizeWeights" />
|
|
<input name="in2" type="float" nodename="N_oneOverBlend" />
|
|
</power>
|
|
<dotproduct name="N_dotBlendedN" type="float">
|
|
<input name="in1" type="vector3" nodename="N_blendPower" />
|
|
<input name="in2" type="vector3" value="1.0, 1.0, 1.0" />
|
|
</dotproduct>
|
|
<divide name="N_normalizeBlendedWeights" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_blendPower" />
|
|
<input name="in2" type="float" nodename="N_dotBlendedN" />
|
|
</divide>
|
|
<separate3 name="N_separateWeights" type="multioutput">
|
|
<input name="in" type="vector3" nodename="N_normalizeBlendedWeights" />
|
|
</separate3>
|
|
<multiply name="N_nX_vector3" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_imgX_vector3" />
|
|
<input name="in2" type="float" nodename="N_separateWeights" output="outx" />
|
|
</multiply>
|
|
<multiply name="N_nY_vector3" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_imgY_vector3" />
|
|
<input name="in2" type="float" nodename="N_separateWeights" output="outy" />
|
|
</multiply>
|
|
<multiply name="N_nZ_vector3" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_imgZ_vector3" />
|
|
<input name="in2" type="float" nodename="N_separateWeights" output="outz" />
|
|
</multiply>
|
|
<add name="N_add1_vector3" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_nX_vector3" />
|
|
<input name="in2" type="vector3" nodename="N_nY_vector3" />
|
|
</add>
|
|
<add name="N_add2_vector3" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_add1_vector3" />
|
|
<input name="in2" type="vector3" nodename="N_nZ_vector3" />
|
|
</add>
|
|
<output name="out" type="vector3" nodename="N_add2_vector3" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_triplanarprojection_vector4" nodedef="ND_triplanarprojection_vector4">
|
|
<extract name="N_extX_vector4" type="float">
|
|
<input name="in" type="vector3" interfacename="position" />
|
|
<input name="index" type="integer" value="0" />
|
|
</extract>
|
|
<extract name="N_extY_vector4" type="float">
|
|
<input name="in" type="vector3" interfacename="position" />
|
|
<input name="index" type="integer" value="1" />
|
|
</extract>
|
|
<extract name="N_extZ_vector4" type="float">
|
|
<input name="in" type="vector3" interfacename="position" />
|
|
<input name="index" type="integer" value="2" />
|
|
</extract>
|
|
<combine2 name="N_vecYZ_vector4" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extY_vector4" />
|
|
<input name="in2" type="float" nodename="N_extZ_vector4" />
|
|
</combine2>
|
|
<combine2 name="N_vecXZ_vector4" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extX_vector4" />
|
|
<input name="in2" type="float" nodename="N_extZ_vector4" />
|
|
</combine2>
|
|
<combine2 name="N_vecXY_vector4" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extX_vector4" />
|
|
<input name="in2" type="float" nodename="N_extY_vector4" />
|
|
</combine2>
|
|
<multiply name="N_vecXY_invert_vector4" type="float">
|
|
<input name="in1" type="float" nodename="N_extY_vector4" />
|
|
<input name="in2" type="float" value="-1" />
|
|
</multiply>
|
|
<combine2 name="N_vecXY_xUp_vector4" type="vector2">
|
|
<input name="in1" type="float" nodename="N_vecXY_invert_vector4" />
|
|
<input name="in2" type="float" nodename="N_extX_vector4" />
|
|
</combine2>
|
|
<combine2 name="N_vecXZ_xUp_vector4" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extZ_vector4" />
|
|
<input name="in2" type="float" nodename="N_extX_vector4" />
|
|
</combine2>
|
|
<combine2 name="N_vecYZ_yUp_vector4" type="vector2">
|
|
<input name="in1" type="float" nodename="N_extZ_vector4" />
|
|
<input name="in2" type="float" nodename="N_extY_vector4" />
|
|
</combine2>
|
|
<switch name="N_upDirSwitchXY_vector4" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_vecXY_xUp_vector4" />
|
|
<input name="in2" type="vector2" nodename="N_vecXY_vector4" />
|
|
<input name="in3" type="vector2" nodename="N_vecXY_vector4" />
|
|
<input name="which" type="integer" interfacename="upaxis" />
|
|
</switch>
|
|
<switch name="N_upDirSwitchXZ_vector4" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_vecXZ_xUp_vector4" />
|
|
<input name="in2" type="vector2" nodename="N_vecXZ_vector4" />
|
|
<input name="in3" type="vector2" nodename="N_vecXZ_vector4" />
|
|
<input name="which" type="integer" interfacename="upaxis" />
|
|
</switch>
|
|
<switch name="N_upDirSwitchYZ_vector4" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_vecYZ_yUp_vector4" />
|
|
<input name="in2" type="vector2" nodename="N_vecYZ_yUp_vector4" />
|
|
<input name="in3" type="vector2" nodename="N_vecYZ_vector4" />
|
|
<input name="which" type="integer" interfacename="upaxis" />
|
|
</switch>
|
|
<image name="N_imgX_vector4" type="vector4">
|
|
<input name="file" type="filename" interfacename="filex" />
|
|
<input name="layer" type="string" interfacename="layerx" />
|
|
<input name="default" type="vector4" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_upDirSwitchYZ_vector4" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<image name="N_imgY_vector4" type="vector4">
|
|
<input name="file" type="filename" interfacename="filey" />
|
|
<input name="layer" type="string" interfacename="layery" />
|
|
<input name="default" type="vector4" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_upDirSwitchXZ_vector4" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<image name="N_imgZ_vector4" type="vector4">
|
|
<input name="file" type="filename" interfacename="filez" />
|
|
<input name="layer" type="string" interfacename="layerz" />
|
|
<input name="default" type="vector4" interfacename="default" />
|
|
<input name="texcoord" type="vector2" nodename="N_upDirSwitchXY_vector4" />
|
|
<input name="uaddressmode" type="string" value="periodic" />
|
|
<input name="vaddressmode" type="string" value="periodic" />
|
|
<input name="filtertype" type="string" interfacename="filtertype" />
|
|
<input name="framerange" type="string" interfacename="framerange" />
|
|
<input name="frameoffset" type="integer" interfacename="frameoffset" />
|
|
<input name="frameendaction" type="string" interfacename="frameendaction" />
|
|
</image>
|
|
<normalize name="N_norm_vector3" type="vector3">
|
|
<input name="in" type="vector3" interfacename="normal" />
|
|
</normalize>
|
|
<absval name="N_absN" type="vector3">
|
|
<input name="in" type="vector3" nodename="N_norm_vector3" />
|
|
</absval>
|
|
<dotproduct name="N_dotN" type="float">
|
|
<input name="in1" type="vector3" nodename="N_absN" />
|
|
<input name="in2" type="vector3" value="1.0, 1.0, 1.0" />
|
|
</dotproduct>
|
|
<divide name="N_normalizeWeights" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_absN" />
|
|
<input name="in2" type="float" nodename="N_dotN" />
|
|
</divide>
|
|
<clamp name="N_clampForPrecision" type="float">
|
|
<input name="in" type="float" interfacename="blend" />
|
|
<input name="low" type="float" value="0.03" />
|
|
</clamp>
|
|
<divide name="N_oneOverBlend" type="float">
|
|
<input name="in1" type="float" value="1.0" />
|
|
<input name="in2" type="float" nodename="N_clampForPrecision" />
|
|
</divide>
|
|
<power name="N_blendPower" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_normalizeWeights" />
|
|
<input name="in2" type="float" nodename="N_oneOverBlend" />
|
|
</power>
|
|
<dotproduct name="N_dotBlendedN" type="float">
|
|
<input name="in1" type="vector3" nodename="N_blendPower" />
|
|
<input name="in2" type="vector3" value="1.0, 1.0, 1.0" />
|
|
</dotproduct>
|
|
<divide name="N_normalizeBlendedWeights" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_blendPower" />
|
|
<input name="in2" type="float" nodename="N_dotBlendedN" />
|
|
</divide>
|
|
<separate3 name="N_separateWeights" type="multioutput">
|
|
<input name="in" type="vector3" nodename="N_normalizeBlendedWeights" />
|
|
</separate3>
|
|
<multiply name="N_nX_vector4" type="vector4">
|
|
<input name="in1" type="vector4" nodename="N_imgX_vector4" />
|
|
<input name="in2" type="float" nodename="N_separateWeights" output="outx" />
|
|
</multiply>
|
|
<multiply name="N_nY_vector4" type="vector4">
|
|
<input name="in1" type="vector4" nodename="N_imgY_vector4" />
|
|
<input name="in2" type="float" nodename="N_separateWeights" output="outy" />
|
|
</multiply>
|
|
<multiply name="N_nZ_vector4" type="vector4">
|
|
<input name="in1" type="vector4" nodename="N_imgZ_vector4" />
|
|
<input name="in2" type="float" nodename="N_separateWeights" output="outz" />
|
|
</multiply>
|
|
<add name="N_add1_vector4" type="vector4">
|
|
<input name="in1" type="vector4" nodename="N_nX_vector4" />
|
|
<input name="in2" type="vector4" nodename="N_nY_vector4" />
|
|
</add>
|
|
<add name="N_add2_vector4" type="vector4">
|
|
<input name="in1" type="vector4" nodename="N_add1_vector4" />
|
|
<input name="in2" type="vector4" nodename="N_nZ_vector4" />
|
|
</add>
|
|
<output name="out" type="vector4" nodename="N_add2_vector4" />
|
|
</nodegraph>
|
|
|
|
<!-- ======================================================================== -->
|
|
<!-- Procedural nodes -->
|
|
<!-- ======================================================================== -->
|
|
|
|
<!--
|
|
Node: <ramp4>
|
|
A 4-corner bilinear value ramp.
|
|
-->
|
|
<nodegraph name="NG_ramp4_float" nodedef="ND_ramp4_float">
|
|
<clamp name="N_txclamp_float" type="vector2">
|
|
<input name="in" type="vector2" interfacename="texcoord" />
|
|
</clamp>
|
|
<extract name="N_s_float" type="float">
|
|
<input name="in" type="vector2" nodename="N_txclamp_float" />
|
|
<input name="index" type="integer" value="0" />
|
|
</extract>
|
|
<extract name="N_t_float" type="float">
|
|
<input name="in" type="vector2" nodename="N_txclamp_float" />
|
|
<input name="index" type="integer" value="1" />
|
|
</extract>
|
|
<mix name="N_mixtop_float" type="float">
|
|
<input name="bg" type="float" interfacename="valuetl" />
|
|
<input name="fg" type="float" interfacename="valuetr" />
|
|
<input name="mix" type="float" nodename="N_s_float" />
|
|
</mix>
|
|
<mix name="N_mixbot_float" type="float">
|
|
<input name="bg" type="float" interfacename="valuebl" />
|
|
<input name="fg" type="float" interfacename="valuebr" />
|
|
<input name="mix" type="float" nodename="N_s_float" />
|
|
</mix>
|
|
<mix name="N_mix_float" type="float">
|
|
<input name="bg" type="float" nodename="N_mixtop_float" />
|
|
<input name="fg" type="float" nodename="N_mixbot_float" />
|
|
<input name="mix" type="float" nodename="N_t_float" />
|
|
</mix>
|
|
<output name="out" type="float" nodename="N_mix_float" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_ramp4_color3" nodedef="ND_ramp4_color3">
|
|
<clamp name="N_txclamp_color3" type="vector2">
|
|
<input name="in" type="vector2" interfacename="texcoord" />
|
|
</clamp>
|
|
<extract name="N_s_color3" type="float">
|
|
<input name="in" type="vector2" nodename="N_txclamp_color3" />
|
|
<input name="index" type="integer" value="0" />
|
|
</extract>
|
|
<extract name="N_t_color3" type="float">
|
|
<input name="in" type="vector2" nodename="N_txclamp_color3" />
|
|
<input name="index" type="integer" value="1" />
|
|
</extract>
|
|
<mix name="N_mixtop_color3" type="color3">
|
|
<input name="bg" type="color3" interfacename="valuetl" />
|
|
<input name="fg" type="color3" interfacename="valuetr" />
|
|
<input name="mix" type="float" nodename="N_s_color3" />
|
|
</mix>
|
|
<mix name="N_mixbot_color3" type="color3">
|
|
<input name="bg" type="color3" interfacename="valuebl" />
|
|
<input name="fg" type="color3" interfacename="valuebr" />
|
|
<input name="mix" type="float" nodename="N_s_color3" />
|
|
</mix>
|
|
<mix name="N_mix_color3" type="color3">
|
|
<input name="bg" type="color3" nodename="N_mixtop_color3" />
|
|
<input name="fg" type="color3" nodename="N_mixbot_color3" />
|
|
<input name="mix" type="float" nodename="N_t_color3" />
|
|
</mix>
|
|
<output name="out" type="color3" nodename="N_mix_color3" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_ramp4_color4" nodedef="ND_ramp4_color4">
|
|
<clamp name="N_txclamp_color4" type="vector2">
|
|
<input name="in" type="vector2" interfacename="texcoord" />
|
|
</clamp>
|
|
<extract name="N_s_color4" type="float">
|
|
<input name="in" type="vector2" nodename="N_txclamp_color4" />
|
|
<input name="index" type="integer" value="0" />
|
|
</extract>
|
|
<extract name="N_t_color4" type="float">
|
|
<input name="in" type="vector2" nodename="N_txclamp_color4" />
|
|
<input name="index" type="integer" value="1" />
|
|
</extract>
|
|
<mix name="N_mixtop_color4" type="color4">
|
|
<input name="bg" type="color4" interfacename="valuetl" />
|
|
<input name="fg" type="color4" interfacename="valuetr" />
|
|
<input name="mix" type="float" nodename="N_s_color4" />
|
|
</mix>
|
|
<mix name="N_mixbot_color4" type="color4">
|
|
<input name="bg" type="color4" interfacename="valuebl" />
|
|
<input name="fg" type="color4" interfacename="valuebr" />
|
|
<input name="mix" type="float" nodename="N_s_color4" />
|
|
</mix>
|
|
<mix name="N_mix_color4" type="color4">
|
|
<input name="bg" type="color4" nodename="N_mixtop_color4" />
|
|
<input name="fg" type="color4" nodename="N_mixbot_color4" />
|
|
<input name="mix" type="float" nodename="N_t_color4" />
|
|
</mix>
|
|
<output name="out" type="color4" nodename="N_mix_color4" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_ramp4_vector2" nodedef="ND_ramp4_vector2">
|
|
<clamp name="N_txclamp_vector2" type="vector2">
|
|
<input name="in" type="vector2" interfacename="texcoord" />
|
|
</clamp>
|
|
<extract name="N_s_vector2" type="float">
|
|
<input name="in" type="vector2" nodename="N_txclamp_vector2" />
|
|
<input name="index" type="integer" value="0" />
|
|
</extract>
|
|
<extract name="N_t_vector2" type="float">
|
|
<input name="in" type="vector2" nodename="N_txclamp_vector2" />
|
|
<input name="index" type="integer" value="1" />
|
|
</extract>
|
|
<mix name="N_mixtop_vector2" type="vector2">
|
|
<input name="bg" type="vector2" interfacename="valuetl" />
|
|
<input name="fg" type="vector2" interfacename="valuetr" />
|
|
<input name="mix" type="float" nodename="N_s_vector2" />
|
|
</mix>
|
|
<mix name="N_mixbot_vector2" type="vector2">
|
|
<input name="bg" type="vector2" interfacename="valuebl" />
|
|
<input name="fg" type="vector2" interfacename="valuebr" />
|
|
<input name="mix" type="float" nodename="N_s_vector2" />
|
|
</mix>
|
|
<mix name="N_mix_vector2" type="vector2">
|
|
<input name="bg" type="vector2" nodename="N_mixtop_vector2" />
|
|
<input name="fg" type="vector2" nodename="N_mixbot_vector2" />
|
|
<input name="mix" type="float" nodename="N_t_vector2" />
|
|
</mix>
|
|
<output name="out" type="vector2" nodename="N_mix_vector2" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_ramp4_vector3" nodedef="ND_ramp4_vector3">
|
|
<clamp name="N_txclamp_vector3" type="vector2">
|
|
<input name="in" type="vector2" interfacename="texcoord" />
|
|
</clamp>
|
|
<extract name="N_s_vector3" type="float">
|
|
<input name="in" type="vector2" nodename="N_txclamp_vector3" />
|
|
<input name="index" type="integer" value="0" />
|
|
</extract>
|
|
<extract name="N_t_vector3" type="float">
|
|
<input name="in" type="vector2" nodename="N_txclamp_vector3" />
|
|
<input name="index" type="integer" value="1" />
|
|
</extract>
|
|
<mix name="N_mixtop_vector3" type="vector3">
|
|
<input name="bg" type="vector3" interfacename="valuetl" />
|
|
<input name="fg" type="vector3" interfacename="valuetr" />
|
|
<input name="mix" type="float" nodename="N_s_vector3" />
|
|
</mix>
|
|
<mix name="N_mixbot_vector3" type="vector3">
|
|
<input name="bg" type="vector3" interfacename="valuebl" />
|
|
<input name="fg" type="vector3" interfacename="valuebr" />
|
|
<input name="mix" type="float" nodename="N_s_vector3" />
|
|
</mix>
|
|
<mix name="N_mix_vector3" type="vector3">
|
|
<input name="bg" type="vector3" nodename="N_mixtop_vector3" />
|
|
<input name="fg" type="vector3" nodename="N_mixbot_vector3" />
|
|
<input name="mix" type="float" nodename="N_t_vector3" />
|
|
</mix>
|
|
<output name="out" type="vector3" nodename="N_mix_vector3" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_ramp4_vector4" nodedef="ND_ramp4_vector4">
|
|
<clamp name="N_txclamp_vector4" type="vector2">
|
|
<input name="in" type="vector2" interfacename="texcoord" />
|
|
</clamp>
|
|
<extract name="N_s_vector4" type="float">
|
|
<input name="in" type="vector2" nodename="N_txclamp_vector4" />
|
|
<input name="index" type="integer" value="0" />
|
|
</extract>
|
|
<extract name="N_t_vector4" type="float">
|
|
<input name="in" type="vector2" nodename="N_txclamp_vector4" />
|
|
<input name="index" type="integer" value="1" />
|
|
</extract>
|
|
<mix name="N_mixtop_vector4" type="vector4">
|
|
<input name="bg" type="vector4" interfacename="valuetl" />
|
|
<input name="fg" type="vector4" interfacename="valuetr" />
|
|
<input name="mix" type="float" nodename="N_s_vector4" />
|
|
</mix>
|
|
<mix name="N_mixbot_vector4" type="vector4">
|
|
<input name="bg" type="vector4" interfacename="valuebl" />
|
|
<input name="fg" type="vector4" interfacename="valuebr" />
|
|
<input name="mix" type="float" nodename="N_s_vector4" />
|
|
</mix>
|
|
<mix name="N_mix_vector4" type="vector4">
|
|
<input name="bg" type="vector4" nodename="N_mixtop_vector4" />
|
|
<input name="fg" type="vector4" nodename="N_mixbot_vector4" />
|
|
<input name="mix" type="float" nodename="N_t_vector4" />
|
|
</mix>
|
|
<output name="out" type="vector4" nodename="N_mix_vector4" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <noise2d>
|
|
-->
|
|
<nodegraph name="NG_noise2d_color3" nodedef="ND_noise2d_color3">
|
|
<noise2d name="N_noise2d" type="vector3">
|
|
<input name="amplitude" type="vector3" interfacename="amplitude" />
|
|
<input name="pivot" type="float" interfacename="pivot" />
|
|
<input name="texcoord" type="vector2" interfacename="texcoord" />
|
|
</noise2d>
|
|
<convert name="N_convert" type="color3">
|
|
<input name="in" type="vector3" nodename="N_noise2d" />
|
|
</convert>
|
|
<output name="out" type="color3" nodename="N_convert" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_noise2d_color4" nodedef="ND_noise2d_color4">
|
|
<noise2d name="N_noise2d" type="vector4">
|
|
<input name="amplitude" type="vector4" interfacename="amplitude" />
|
|
<input name="pivot" type="float" interfacename="pivot" />
|
|
<input name="texcoord" type="vector2" interfacename="texcoord" />
|
|
</noise2d>
|
|
<convert name="N_convert" type="color4">
|
|
<input name="in" type="vector4" nodename="N_noise2d" />
|
|
</convert>
|
|
<output name="out" type="color4" nodename="N_convert" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_noise2d_color3FA" nodedef="ND_noise2d_color3FA">
|
|
<convert name="N_convert" type="vector3">
|
|
<input name="in" type="float" interfacename="amplitude" />
|
|
</convert>
|
|
<noise2d name="N_noise2d" type="color3">
|
|
<input name="amplitude" type="vector3" nodename="N_convert" />
|
|
<input name="pivot" type="float" interfacename="pivot" />
|
|
<input name="texcoord" type="vector2" interfacename="texcoord" />
|
|
</noise2d>
|
|
<output name="out" type="color3" nodename="N_noise2d" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_noise2d_color4FA" nodedef="ND_noise2d_color4FA">
|
|
<convert name="N_convert" type="vector4">
|
|
<input name="in" type="float" interfacename="amplitude" />
|
|
</convert>
|
|
<noise2d name="N_noise2d" type="color4">
|
|
<input name="amplitude" type="vector4" nodename="N_convert" />
|
|
<input name="pivot" type="float" interfacename="pivot" />
|
|
<input name="texcoord" type="vector2" interfacename="texcoord" />
|
|
</noise2d>
|
|
<output name="out" type="color4" nodename="N_noise2d" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_noise2d_vector2FA" nodedef="ND_noise2d_vector2FA">
|
|
<convert name="N_convert" type="vector2">
|
|
<input name="in" type="float" interfacename="amplitude" />
|
|
</convert>
|
|
<noise2d name="N_noise2d" type="vector2">
|
|
<input name="amplitude" type="vector2" nodename="N_convert" />
|
|
<input name="pivot" type="float" interfacename="pivot" />
|
|
<input name="texcoord" type="vector2" interfacename="texcoord" />
|
|
</noise2d>
|
|
<output name="out" type="vector2" nodename="N_noise2d" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_noise2d_vector3FA" nodedef="ND_noise2d_vector3FA">
|
|
<convert name="N_convert" type="vector3">
|
|
<input name="in" type="float" interfacename="amplitude" />
|
|
</convert>
|
|
<noise2d name="N_noise2d" type="vector3">
|
|
<input name="amplitude" type="vector3" nodename="N_convert" />
|
|
<input name="pivot" type="float" interfacename="pivot" />
|
|
<input name="texcoord" type="vector2" interfacename="texcoord" />
|
|
</noise2d>
|
|
<output name="out" type="vector3" nodename="N_noise2d" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_noise2d_vector4FA" nodedef="ND_noise2d_vector4FA">
|
|
<convert name="N_convert" type="vector4">
|
|
<input name="in" type="float" interfacename="amplitude" />
|
|
</convert>
|
|
<noise2d name="N_noise2d" type="vector4">
|
|
<input name="amplitude" type="vector4" nodename="N_convert" />
|
|
<input name="pivot" type="float" interfacename="pivot" />
|
|
<input name="texcoord" type="vector2" interfacename="texcoord" />
|
|
</noise2d>
|
|
<output name="out" type="vector4" nodename="N_noise2d" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <noise3d>
|
|
-->
|
|
<nodegraph name="NG_noise3d_color3" nodedef="ND_noise3d_color3">
|
|
<noise3d name="N_noise3d" type="vector3">
|
|
<input name="amplitude" type="vector3" interfacename="amplitude" />
|
|
<input name="pivot" type="float" interfacename="pivot" />
|
|
<input name="position" type="vector3" interfacename="position" />
|
|
</noise3d>
|
|
<convert name="N_convert" type="color3">
|
|
<input name="in" type="vector3" nodename="N_noise3d" />
|
|
</convert>
|
|
<output name="out" type="color3" nodename="N_convert" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_noise3d_color4" nodedef="ND_noise3d_color4">
|
|
<noise3d name="N_noise3d" type="vector4">
|
|
<input name="amplitude" type="vector4" interfacename="amplitude" />
|
|
<input name="pivot" type="float" interfacename="pivot" />
|
|
<input name="position" type="vector3" interfacename="position" />
|
|
</noise3d>
|
|
<convert name="N_convert" type="color4">
|
|
<input name="in" type="vector4" nodename="N_noise3d" />
|
|
</convert>
|
|
<output name="out" type="color4" nodename="N_convert" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_noise3d_color3FA" nodedef="ND_noise3d_color3FA">
|
|
<convert name="N_convert" type="vector3">
|
|
<input name="in" type="float" interfacename="amplitude" />
|
|
</convert>
|
|
<noise3d name="N_noise3d" type="color3">
|
|
<input name="amplitude" type="vector3" nodename="N_convert" />
|
|
<input name="pivot" type="float" interfacename="pivot" />
|
|
<input name="position" type="vector3" interfacename="position" />
|
|
</noise3d>
|
|
<output name="out" type="color3" nodename="N_noise3d" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_noise3d_color4FA" nodedef="ND_noise3d_color4FA">
|
|
<convert name="N_convert" type="vector4">
|
|
<input name="in" type="float" interfacename="amplitude" />
|
|
</convert>
|
|
<noise3d name="N_noise3d" type="color4">
|
|
<input name="amplitude" type="vector4" nodename="N_convert" />
|
|
<input name="pivot" type="float" interfacename="pivot" />
|
|
<input name="position" type="vector3" interfacename="position" />
|
|
</noise3d>
|
|
<output name="out" type="color4" nodename="N_noise3d" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_noise3d_vector2FA" nodedef="ND_noise3d_vector2FA">
|
|
<convert name="N_convert" type="vector2">
|
|
<input name="in" type="float" interfacename="amplitude" />
|
|
</convert>
|
|
<noise3d name="N_noise3d" type="vector2">
|
|
<input name="amplitude" type="vector2" nodename="N_convert" />
|
|
<input name="pivot" type="float" interfacename="pivot" />
|
|
<input name="position" type="vector3" interfacename="position" />
|
|
</noise3d>
|
|
<output name="out" type="vector2" nodename="N_noise3d" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_noise3d_vector3FA" nodedef="ND_noise3d_vector3FA">
|
|
<convert name="N_convert" type="vector3">
|
|
<input name="in" type="float" interfacename="amplitude" />
|
|
</convert>
|
|
<noise3d name="N_noise3d" type="vector3">
|
|
<input name="amplitude" type="vector3" nodename="N_convert" />
|
|
<input name="pivot" type="float" interfacename="pivot" />
|
|
<input name="position" type="vector3" interfacename="position" />
|
|
</noise3d>
|
|
<output name="out" type="vector3" nodename="N_noise3d" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_noise3d_vector4FA" nodedef="ND_noise3d_vector4FA">
|
|
<convert name="N_convert" type="vector4">
|
|
<input name="in" type="float" interfacename="amplitude" />
|
|
</convert>
|
|
<noise3d name="N_noise3d" type="vector4">
|
|
<input name="amplitude" type="vector4" nodename="N_convert" />
|
|
<input name="pivot" type="float" interfacename="pivot" />
|
|
<input name="position" type="vector3" interfacename="position" />
|
|
</noise3d>
|
|
<output name="out" type="vector4" nodename="N_noise3d" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <fractal3d>
|
|
-->
|
|
<nodegraph name="NG_fractal3d_color3" nodedef="ND_fractal3d_color3">
|
|
<fractal3d name="N_fractal3d" type="vector3">
|
|
<input name="amplitude" type="vector3" interfacename="amplitude" />
|
|
<input name="octaves" type="integer" interfacename="octaves" />
|
|
<input name="lacunarity" type="float" interfacename="lacunarity" />
|
|
<input name="diminish" type="float" interfacename="diminish" />
|
|
<input name="position" type="vector3" interfacename="position" />
|
|
</fractal3d>
|
|
<convert name="N_convert" type="color3">
|
|
<input name="in" type="vector3" nodename="N_fractal3d" />
|
|
</convert>
|
|
<output name="out" type="color3" nodename="N_convert" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_fractal3d_color4" nodedef="ND_fractal3d_color4">
|
|
<fractal3d name="N_fractal3d" type="vector4">
|
|
<input name="amplitude" type="vector4" interfacename="amplitude" />
|
|
<input name="octaves" type="integer" interfacename="octaves" />
|
|
<input name="lacunarity" type="float" interfacename="lacunarity" />
|
|
<input name="diminish" type="float" interfacename="diminish" />
|
|
<input name="position" type="vector3" interfacename="position" />
|
|
</fractal3d>
|
|
<convert name="N_convert" type="color4">
|
|
<input name="in" type="vector4" nodename="N_fractal3d" />
|
|
</convert>
|
|
<output name="out" type="color4" nodename="N_convert" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_fractal3d_color3FA" nodedef="ND_fractal3d_color3FA">
|
|
<convert name="N_convert" type="vector3">
|
|
<input name="in" type="float" interfacename="amplitude" />
|
|
</convert>
|
|
<fractal3d name="N_fractal3d" type="color3">
|
|
<input name="amplitude" type="vector3" nodename="N_convert" />
|
|
<input name="octaves" type="integer" interfacename="octaves" />
|
|
<input name="lacunarity" type="float" interfacename="lacunarity" />
|
|
<input name="diminish" type="float" interfacename="diminish" />
|
|
<input name="position" type="vector3" interfacename="position" />
|
|
</fractal3d>
|
|
<output name="out" type="color3" nodename="N_fractal3d" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_fractal3d_color4FA" nodedef="ND_fractal3d_color4FA">
|
|
<convert name="N_convert" type="vector4">
|
|
<input name="in" type="float" interfacename="amplitude" />
|
|
</convert>
|
|
<fractal3d name="N_fractal3d" type="color4">
|
|
<input name="amplitude" type="vector4" nodename="N_convert" />
|
|
<input name="octaves" type="integer" interfacename="octaves" />
|
|
<input name="lacunarity" type="float" interfacename="lacunarity" />
|
|
<input name="diminish" type="float" interfacename="diminish" />
|
|
<input name="position" type="vector3" interfacename="position" />
|
|
</fractal3d>
|
|
<output name="out" type="color4" nodename="N_fractal3d" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_fractal3d_vector2FA" nodedef="ND_fractal3d_vector2FA">
|
|
<convert name="N_convert" type="vector2">
|
|
<input name="in" type="float" interfacename="amplitude" />
|
|
</convert>
|
|
<fractal3d name="N_fractal3d" type="vector2">
|
|
<input name="amplitude" type="vector2" nodename="N_convert" />
|
|
<input name="octaves" type="integer" interfacename="octaves" />
|
|
<input name="lacunarity" type="float" interfacename="lacunarity" />
|
|
<input name="diminish" type="float" interfacename="diminish" />
|
|
<input name="position" type="vector3" interfacename="position" />
|
|
</fractal3d>
|
|
<output name="out" type="vector2" nodename="N_fractal3d" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_fractal3d_vector3FA" nodedef="ND_fractal3d_vector3FA">
|
|
<convert name="N_convert" type="vector3">
|
|
<input name="in" type="float" interfacename="amplitude" />
|
|
</convert>
|
|
<fractal3d name="N_fractal3d" type="vector3">
|
|
<input name="amplitude" type="vector3" nodename="N_convert" />
|
|
<input name="octaves" type="integer" interfacename="octaves" />
|
|
<input name="lacunarity" type="float" interfacename="lacunarity" />
|
|
<input name="diminish" type="float" interfacename="diminish" />
|
|
<input name="position" type="vector3" interfacename="position" />
|
|
</fractal3d>
|
|
<output name="out" type="vector3" nodename="N_fractal3d" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_fractal3d_vector4FA" nodedef="ND_fractal3d_vector4FA">
|
|
<convert name="N_convert" type="vector4">
|
|
<input name="in" type="float" interfacename="amplitude" />
|
|
</convert>
|
|
<fractal3d name="N_fractal3d" type="vector4">
|
|
<input name="amplitude" type="vector4" nodename="N_convert" />
|
|
<input name="octaves" type="integer" interfacename="octaves" />
|
|
<input name="lacunarity" type="float" interfacename="lacunarity" />
|
|
<input name="diminish" type="float" interfacename="diminish" />
|
|
<input name="position" type="vector3" interfacename="position" />
|
|
</fractal3d>
|
|
<output name="out" type="vector4" nodename="N_fractal3d" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
<unifiednoise2d>
|
|
Combined 2d noises for artists.
|
|
-->
|
|
<nodegraph name="NG_unifiednoise2d_float" nodedef="ND_unifiednoise2d_float">
|
|
<range name="N_range" type="float">
|
|
<input name="in" type="float" nodename="N_switch_type" />
|
|
<input name="outlow" type="float" interfacename="outmin" />
|
|
<input name="outhigh" type="float" interfacename="outmax" />
|
|
<input name="doclamp" type="boolean" interfacename="clampoutput" />
|
|
<input name="inlow" type="float" value="0" />
|
|
<input name="inhigh" type="float" value="1" />
|
|
</range>
|
|
<switch name="N_switch_type" type="float">
|
|
<input name="in1" type="float" nodename="N_perlin_noise2d" />
|
|
<input name="in2" type="float" nodename="N_cellnoise2d" />
|
|
<input name="in3" type="float" nodename="N_worleynoise2d" />
|
|
<input name="in4" type="float" nodename="N_fractal3d" />
|
|
<input name="which" type="integer" interfacename="type" />
|
|
</switch>
|
|
<noise2d name="N_perlin_noise2d" type="float">
|
|
<input name="texcoord" type="vector2" nodename="N_apply_cell_jitter" />
|
|
<input name="amplitude" type="float" value="0.5" />
|
|
<input name="pivot" type="float" value="0.5" />
|
|
</noise2d>
|
|
<cellnoise2d name="N_cellnoise2d" type="float">
|
|
<input name="texcoord" type="vector2" nodename="N_apply_cell_jitter" />
|
|
</cellnoise2d>
|
|
<worleynoise2d name="N_worleynoise2d" type="float">
|
|
<input name="texcoord" type="vector2" nodename="N_apply_offset" />
|
|
<input name="jitter" type="float" interfacename="jitter" />
|
|
</worleynoise2d>
|
|
<fractal3d name="N_fractal3d" type="float">
|
|
<input name="octaves" type="integer" interfacename="octaves" />
|
|
<input name="lacunarity" type="float" interfacename="lacunarity" />
|
|
<input name="diminish" type="float" interfacename="diminish" />
|
|
<input name="position" type="vector3" nodename="N_combine_with_jitter" />
|
|
<input name="amplitude" type="float" value="1" />
|
|
</fractal3d>
|
|
<rotate2d name="N_apply_cell_jitter" type="vector2">
|
|
<input name="in" type="vector2" nodename="N_apply_offset" />
|
|
<input name="amount" type="float" nodename="N_cell_jitter_mult" />
|
|
</rotate2d>
|
|
<add name="N_apply_offset" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_apply_freq" />
|
|
<input name="in2" type="vector2" interfacename="offset" />
|
|
</add>
|
|
<combine3 name="N_combine_with_jitter" type="vector3">
|
|
<input name="in1" type="float" nodename="N_separate" output="outx" />
|
|
<input name="in2" type="float" nodename="N_separate" output="outy" />
|
|
<input name="in3" type="float" nodename="N_cell_jitter_mult" />
|
|
</combine3>
|
|
<multiply name="N_cell_jitter_mult" type="float">
|
|
<input name="in1" type="float" nodename="N_jitter_minus_1" />
|
|
<input name="in2" type="float" value="90000" />
|
|
</multiply>
|
|
<multiply name="N_apply_freq" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="texcoord" />
|
|
<input name="in2" type="vector2" interfacename="freq" />
|
|
</multiply>
|
|
<separate2 name="N_separate" type="multioutput">
|
|
<input name="in" type="vector2" nodename="N_apply_offset" />
|
|
</separate2>
|
|
<subtract name="N_jitter_minus_1" type="float">
|
|
<input name="in1" type="float" interfacename="jitter" />
|
|
<input name="in2" type="float" value="1" />
|
|
</subtract>
|
|
<output name="out" type="float" nodename="N_range" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <unifiednoise3d>
|
|
Combined 3d noises for artists.
|
|
-->
|
|
<nodegraph name="NG_unifiednoise3d_float" nodedef="ND_unifiednoise3d_float">
|
|
<range name="N_range" type="float">
|
|
<input name="in" type="float" nodename="N_switch_type" />
|
|
<input name="outlow" type="float" interfacename="outmin" />
|
|
<input name="outhigh" type="float" interfacename="outmax" />
|
|
<input name="doclamp" type="boolean" interfacename="clampoutput" />
|
|
<input name="inlow" type="float" value="0" />
|
|
<input name="inhigh" type="float" value="1" />
|
|
</range>
|
|
<switch name="N_switch_type" type="float">
|
|
<input name="in1" type="float" nodename="N_perlin_noise3d" />
|
|
<input name="in2" type="float" nodename="N_cellnoise3d" />
|
|
<input name="in3" type="float" nodename="N_worleynoise3d" />
|
|
<input name="in4" type="float" nodename="N_fractal3d" />
|
|
<input name="which" type="integer" interfacename="type" />
|
|
</switch>
|
|
<noise3d name="N_perlin_noise3d" type="float">
|
|
<input name="position" type="vector3" nodename="N_apply_cell_jitter" />
|
|
<input name="amplitude" type="float" value="0.5" />
|
|
<input name="pivot" type="float" value="0.5" />
|
|
</noise3d>
|
|
<cellnoise3d name="N_cellnoise3d" type="float">
|
|
<input name="position" type="vector3" nodename="N_apply_cell_jitter" />
|
|
</cellnoise3d>
|
|
<worleynoise3d name="N_worleynoise3d" type="float">
|
|
<input name="position" type="vector3" nodename="N_apply_offset" />
|
|
<input name="jitter" type="float" interfacename="jitter" />
|
|
</worleynoise3d>
|
|
<fractal3d name="N_fractal3d" type="float">
|
|
<input name="octaves" type="integer" interfacename="octaves" />
|
|
<input name="lacunarity" type="float" interfacename="lacunarity" />
|
|
<input name="diminish" type="float" interfacename="diminish" />
|
|
<input name="position" type="vector3" nodename="N_apply_cell_jitter" />
|
|
<input name="amplitude" type="float" value="1" />
|
|
</fractal3d>
|
|
<rotate3d name="N_apply_cell_jitter" type="vector3">
|
|
<input name="in" type="vector3" nodename="N_apply_offset" />
|
|
<input name="amount" type="float" nodename="N_cell_jitter_mult" />
|
|
<input name="axis" type="vector3" value="0.1, 1, 0" />
|
|
</rotate3d>
|
|
<add name="N_apply_offset" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_apply_freq" />
|
|
<input name="in2" type="vector3" interfacename="offset" />
|
|
</add>
|
|
<multiply name="N_cell_jitter_mult" type="float">
|
|
<input name="in1" type="float" nodename="N_jitter_minus_one" />
|
|
<input name="in2" type="float" value="90000" />
|
|
</multiply>
|
|
<multiply name="N_apply_freq" type="vector3">
|
|
<input name="in1" type="vector3" interfacename="position" />
|
|
<input name="in2" type="vector3" interfacename="freq" />
|
|
</multiply>
|
|
<subtract name="N_jitter_minus_one" type="float">
|
|
<input name="in1" type="float" interfacename="jitter" />
|
|
<input name="in2" type="float" value="1" />
|
|
</subtract>
|
|
<output name="out" type="float" nodename="N_range" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <randomfloat>
|
|
Produces a randomized float, based on an 'input' signal and 'seed' value.
|
|
-->
|
|
<nodegraph name="NG_randomfloat_float" nodedef="ND_randomfloat_float">
|
|
<convert name="N_convertSeed1" type="float">
|
|
<input name="in" type="integer" interfacename="seed" />
|
|
</convert>
|
|
<multiply name="N_scaleInput" type="float">
|
|
<input name="in1" type="float" interfacename="in" />
|
|
<input name="in2" type="float" value="4096" />
|
|
</multiply>
|
|
<combine2 name="N_combine2" type="vector2">
|
|
<input name="in1" type="float" nodename="N_scaleInput" />
|
|
<input name="in2" type="float" nodename="N_convertSeed1" />
|
|
</combine2>
|
|
<cellnoise2d name="N_cellnoise1" type="float">
|
|
<input name="texcoord" type="vector2" nodename="N_combine2" />
|
|
</cellnoise2d>
|
|
<range name="N_remapRange" type="float">
|
|
<input name="in" type="float" nodename="N_cellnoise1" />
|
|
<input name="outlow" type="float" interfacename="min" />
|
|
<input name="outhigh" type="float" interfacename="max" />
|
|
<input name="doclamp" type="boolean" value="true" />
|
|
</range>
|
|
<output name="out" type="float" nodename="N_remapRange" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_randomfloat_integer" nodedef="ND_randomfloat_integer">
|
|
<convert name="N_convertInput1" type="float">
|
|
<input name="in" type="integer" interfacename="in" />
|
|
</convert>
|
|
<convert name="N_convertSeed1" type="float">
|
|
<input name="in" type="integer" interfacename="seed" />
|
|
</convert>
|
|
<combine2 name="N_combine2" type="vector2">
|
|
<input name="in1" type="float" nodename="N_convertInput1" />
|
|
<input name="in2" type="float" nodename="N_convertSeed1" />
|
|
</combine2>
|
|
<cellnoise2d name="N_cellnoise1" type="float">
|
|
<input name="texcoord" type="vector2" nodename="N_combine2" />
|
|
</cellnoise2d>
|
|
<range name="N_remapRange" type="float">
|
|
<input name="in" type="float" nodename="N_cellnoise1" />
|
|
<input name="outlow" type="float" interfacename="min" />
|
|
<input name="outhigh" type="float" interfacename="max" />
|
|
<input name="doclamp" type="boolean" value="true" />
|
|
</range>
|
|
<output name="out" type="float" nodename="N_remapRange" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <randomcolor>
|
|
Produces a randomized color, based on an input signal and seed value.
|
|
-->
|
|
<nodegraph name="NG_randomcolor_float" nodedef="ND_randomcolor_float">
|
|
<convert name="N_convertSeed1" type="float">
|
|
<input name="in" type="integer" interfacename="seed" />
|
|
</convert>
|
|
<add name="N_offset_hue" type="float">
|
|
<input name="in1" type="float" nodename="N_convertSeed1" />
|
|
<input name="in2" type="float" value="413.3" />
|
|
</add>
|
|
<add name="N_offset_saturation" type="float">
|
|
<input name="in1" type="float" nodename="N_convertSeed1" />
|
|
<input name="in2" type="float" value="1522.4" />
|
|
</add>
|
|
<add name="N_offset_brightness" type="float">
|
|
<input name="in1" type="float" nodename="N_convertSeed1" />
|
|
<input name="in2" type="float" value="1813.8" />
|
|
</add>
|
|
<ceil name="N_seed_hue" type="integer">
|
|
<input name="in" type="float" nodename="N_offset_hue" />
|
|
</ceil>
|
|
<ceil name="N_seed_saturation" type="integer">
|
|
<input name="in" type="float" nodename="N_offset_saturation" />
|
|
</ceil>
|
|
<ceil name="N_seed_brightness" type="integer">
|
|
<input name="in" type="float" nodename="N_offset_brightness" />
|
|
</ceil>
|
|
<randomfloat name="N_rand_hue" type="float">
|
|
<input name="in" type="float" interfacename="in" />
|
|
<input name="seed" type="integer" nodename="N_seed_hue" />
|
|
</randomfloat>
|
|
<randomfloat name="N_rand_saturation" type="float">
|
|
<input name="in" type="float" interfacename="in" />
|
|
<input name="seed" type="integer" nodename="N_seed_saturation" />
|
|
</randomfloat>
|
|
<randomfloat name="N_rand_brightness" type="float">
|
|
<input name="in" type="float" interfacename="in" />
|
|
<input name="seed" type="integer" nodename="N_seed_brightness" />
|
|
</randomfloat>
|
|
<range name="N_range_hue" type="float">
|
|
<input name="in" type="float" nodename="N_rand_hue" />
|
|
<input name="outlow" type="float" interfacename="huelow" />
|
|
<input name="outhigh" type="float" interfacename="huehigh" />
|
|
</range>
|
|
<range name="N_range_saturation" type="float">
|
|
<input name="in" type="float" nodename="N_rand_saturation" />
|
|
<input name="outlow" type="float" interfacename="saturationlow" />
|
|
<input name="outhigh" type="float" interfacename="saturationhigh" />
|
|
</range>
|
|
<range name="N_range_brightness" type="float">
|
|
<input name="in" type="float" nodename="N_rand_brightness" />
|
|
<input name="outlow" type="float" interfacename="brightnesslow" />
|
|
<input name="outhigh" type="float" interfacename="brightnesshigh" />
|
|
</range>
|
|
<combine3 name="N_combine_HSV" type="color3">
|
|
<input name="in1" type="float" nodename="N_range_hue" />
|
|
<input name="in2" type="float" nodename="N_range_saturation" />
|
|
<input name="in3" type="float" nodename="N_range_brightness" />
|
|
</combine3>
|
|
<hsvtorgb name="N_HSV_to_RGB" type="color3">
|
|
<input name="in" type="color3" nodename="N_combine_HSV" />
|
|
</hsvtorgb>
|
|
<output name="out" type="color3" nodename="N_HSV_to_RGB" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_randomcolor_integer" nodedef="ND_randomcolor_integer">
|
|
<convert name="N_convert1" type="float">
|
|
<input name="in" type="integer" interfacename="in" />
|
|
</convert>
|
|
<randomcolor name="N_randomcolor1" type="color3">
|
|
<input name="in" type="float" nodename="N_convert1" />
|
|
<input name="huelow" type="float" interfacename="huelow" />
|
|
<input name="huehigh" type="float" interfacename="huehigh" />
|
|
<input name="saturationlow" type="float" interfacename="saturationlow" />
|
|
<input name="saturationhigh" type="float" interfacename="saturationhigh" />
|
|
<input name="brightnesslow" type="float" interfacename="brightnesslow" />
|
|
<input name="brightnesshigh" type="float" interfacename="brightnesshigh" />
|
|
<input name="seed" type="integer" interfacename="seed" />
|
|
</randomcolor>
|
|
<output name="out" type="color3" nodename="N_randomcolor1" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <checkerboard>
|
|
A 2D checkerboard pattern.
|
|
-->
|
|
<nodegraph name="NG_checkerboard_color3" nodedef="ND_checkerboard_color3">
|
|
<multiply name="N_mtlxmult" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="texcoord" />
|
|
<input name="in2" type="vector2" interfacename="uvtiling" />
|
|
</multiply>
|
|
<subtract name="N_mtlxsubtract" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_mtlxmult" />
|
|
<input name="in2" type="vector2" interfacename="uvoffset" />
|
|
</subtract>
|
|
<floor name="N_mtlxfloor" type="vector2">
|
|
<input name="in" type="vector2" nodename="N_mtlxsubtract" />
|
|
</floor>
|
|
<dotproduct name="N_mtlxdotproduct" type="float">
|
|
<input name="in1" type="vector2" nodename="N_mtlxfloor" />
|
|
<input name="in2" type="vector2" value="1, 1" />
|
|
</dotproduct>
|
|
<modulo name="N_modulo" type="float">
|
|
<input name="in1" type="float" nodename="N_mtlxdotproduct" />
|
|
<input name="in2" type="float" value="2" />
|
|
</modulo>
|
|
<mix name="N_mtlxmix" type="color3">
|
|
<input name="bg" type="color3" interfacename="color2" />
|
|
<input name="fg" type="color3" interfacename="color1" />
|
|
<input name="mix" type="float" nodename="N_modulo" />
|
|
</mix>
|
|
<output name="out" type="color3" nodename="N_mtlxmix" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <line>
|
|
Returns 1 if texcoord is at less than radius distance from a line segment defined by point1 and point2; otherwise returns 0.
|
|
Segment ends will be rounded.
|
|
Uses formulas from Inigo Quilez SDF samples (iquilezles.org)
|
|
-->
|
|
<nodegraph name="NG_line_float" nodedef="ND_line_float">
|
|
<subtract name="delta" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="texcoord" />
|
|
<input name="in2" type="vector2" interfacename="center" />
|
|
</subtract>
|
|
<subtract name="p_a" type="vector2">
|
|
<input name="in1" type="vector2" nodename="delta" />
|
|
<input name="in2" type="vector2" interfacename="point1" />
|
|
</subtract>
|
|
<subtract name="b_a" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="point2" />
|
|
<input name="in2" type="vector2" interfacename="point1" />
|
|
</subtract>
|
|
<dotproduct name="dot_pa_ba" type="float">
|
|
<input name="in1" type="vector2" nodename="p_a" />
|
|
<input name="in2" type="vector2" nodename="b_a" />
|
|
</dotproduct>
|
|
<dotproduct name="dot_ba_ba" type="float">
|
|
<input name="in1" type="vector2" nodename="b_a" />
|
|
<input name="in2" type="vector2" nodename="b_a" />
|
|
</dotproduct>
|
|
<divide name="divide_dots" type="float">
|
|
<input name="in1" type="float" nodename="dot_pa_ba" />
|
|
<input name="in2" type="float" nodename="dot_ba_ba" />
|
|
</divide>
|
|
<clamp name="clamp" type="float">
|
|
<input name="in" type="float" nodename="divide_dots" />
|
|
</clamp>
|
|
<multiply name="multiply_clamp_ba" type="vector2">
|
|
<input name="in1" type="vector2" nodename="b_a" />
|
|
<input name="in2" type="float" nodename="clamp" />
|
|
</multiply>
|
|
<distance name="distance" type="float">
|
|
<input name="in1" type="vector2" nodename="p_a" />
|
|
<input name="in2" type="vector2" nodename="multiply_clamp_ba" />
|
|
</distance>
|
|
<ifgreater name="dist_comp" type="float">
|
|
<input name="value1" type="float" nodename="distance" />
|
|
<input name="value2" type="float" interfacename="radius" />
|
|
<input name="in1" type="float" value="0" />
|
|
<input name="in2" type="float" value="1" />
|
|
</ifgreater>
|
|
<output name="out" type="float" nodename="dist_comp" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <circle>
|
|
Returns 1 if texcoord is inside a circle defined by center and radius; otherwise returns 0.
|
|
-->
|
|
<nodegraph name="NG_circle_float" nodedef="ND_circle_float">
|
|
<subtract name="delta" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="texcoord" />
|
|
<input name="in2" type="vector2" interfacename="center" />
|
|
</subtract>
|
|
<dotproduct name="dist_square" type="float">
|
|
<input name="in1" type="vector2" nodename="delta" />
|
|
<input name="in2" type="vector2" nodename="delta" />
|
|
</dotproduct>
|
|
<multiply name="rad_square" type="float">
|
|
<input name="in1" type="float" interfacename="radius" />
|
|
<input name="in2" type="float" interfacename="radius" />
|
|
</multiply>
|
|
<ifgreater name="dist_comp" type="float">
|
|
<input name="value1" type="float" nodename="dist_square" />
|
|
<input name="value2" type="float" nodename="rad_square" />
|
|
<input name="in1" type="float" value="0" />
|
|
<input name="in2" type="float" value="1" />
|
|
</ifgreater>
|
|
<output name="out" type="float" nodename="dist_comp" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <cloverleaf>
|
|
Returns 1 if texcoord is inside a cloverleaf shape inscribed by a circle defined by center and radius; otherwise returns 0.
|
|
-->
|
|
<nodegraph name="NG_cloverleaf_float" nodedef="ND_cloverleaf_float">
|
|
<add name="sample_double" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="texcoord" />
|
|
<input name="in2" type="vector2" interfacename="texcoord" />
|
|
</add>
|
|
<add name="sample_add" type="vector2">
|
|
<input name="in1" type="vector2" nodename="sample_double" />
|
|
<input name="in2" type="float" interfacename="radius" />
|
|
</add>
|
|
<subtract name="sample_subtract" type="vector2">
|
|
<input name="in1" type="vector2" nodename="sample_double" />
|
|
<input name="in2" type="float" interfacename="radius" />
|
|
</subtract>
|
|
<separate2 name="sample_double_separate" type="multioutput">
|
|
<input name="in" type="vector2" nodename="sample_double" />
|
|
</separate2>
|
|
<separate2 name="sample_add_separate" type="multioutput">
|
|
<input name="in" type="vector2" nodename="sample_add" />
|
|
</separate2>
|
|
<separate2 name="sample_subtract_separate" type="multioutput">
|
|
<input name="in" type="vector2" nodename="sample_subtract" />
|
|
</separate2>
|
|
<combine2 name="coord1" type="vector2">
|
|
<input name="in1" type="float" nodename="sample_add_separate" output="outx" />
|
|
<input name="in2" type="float" nodename="sample_double_separate" output="outy" />
|
|
</combine2>
|
|
<combine2 name="coord2" type="vector2">
|
|
<input name="in1" type="float" nodename="sample_subtract_separate" output="outx" />
|
|
<input name="in2" type="float" nodename="sample_double_separate" output="outy" />
|
|
</combine2>
|
|
<combine2 name="coord3" type="vector2">
|
|
<input name="in1" type="float" nodename="sample_double_separate" output="outx" />
|
|
<input name="in2" type="float" nodename="sample_subtract_separate" output="outy" />
|
|
</combine2>
|
|
<combine2 name="coord4" type="vector2">
|
|
<input name="in1" type="float" nodename="sample_double_separate" output="outx" />
|
|
<input name="in2" type="float" nodename="sample_add_separate" output="outy" />
|
|
</combine2>
|
|
<circle name="circle1" type="float">
|
|
<input name="texcoord" type="vector2" nodename="coord1" />
|
|
<input name="center" type="vector2" interfacename="center" />
|
|
<input name="radius" type="float" interfacename="radius" />
|
|
</circle>
|
|
<circle name="circle2" type="float">
|
|
<input name="texcoord" type="vector2" nodename="coord2" />
|
|
<input name="center" type="vector2" interfacename="center" />
|
|
<input name="radius" type="float" interfacename="radius" />
|
|
</circle>
|
|
<circle name="circle3" type="float">
|
|
<input name="texcoord" type="vector2" nodename="coord3" />
|
|
<input name="center" type="vector2" interfacename="center" />
|
|
<input name="radius" type="float" interfacename="radius" />
|
|
</circle>
|
|
<circle name="circle4" type="float">
|
|
<input name="texcoord" type="vector2" nodename="coord4" />
|
|
<input name="center" type="vector2" interfacename="center" />
|
|
<input name="radius" type="float" interfacename="radius" />
|
|
</circle>
|
|
<max name="max1" type="float">
|
|
<input name="in1" type="float" nodename="circle1" />
|
|
<input name="in2" type="float" nodename="circle2" />
|
|
</max>
|
|
<max name="max2" type="float">
|
|
<input name="in1" type="float" nodename="circle3" />
|
|
<input name="in2" type="float" nodename="circle4" />
|
|
</max>
|
|
<max name="max" type="float">
|
|
<input name="in1" type="float" nodename="max1" />
|
|
<input name="in2" type="float" nodename="max2" />
|
|
</max>
|
|
<output name="out" type="float" nodename="max" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <hexagon>
|
|
Returns 1 if texcoord is inside a hexagon shape inscribed by a circle defined by center and radius; otherwise returns 0.
|
|
Uses formulas from Inigo Quilez SDF samples (iquilezles.org)
|
|
-->
|
|
<nodegraph name="NG_hexagon_float" nodedef="ND_hexagon_float">
|
|
<constant name="k" type="vector3">
|
|
<input name="value" type="vector3" value="-0.866025, 0.5, 0.57735" />
|
|
</constant>
|
|
<multiply name="minus_k" type="vector3">
|
|
<input name="in1" type="vector3" nodename="k" />
|
|
<input name="in2" type="float" value="-1.0" />
|
|
</multiply>
|
|
<separate3 name="k_separate" type="multioutput">
|
|
<input name="in" type="vector3" nodename="k" />
|
|
</separate3>
|
|
<separate3 name="minus_k_separate" type="multioutput">
|
|
<input name="in" type="vector3" nodename="minus_k" />
|
|
</separate3>
|
|
<subtract name="delta" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="texcoord" />
|
|
<input name="in2" type="vector2" interfacename="center" />
|
|
</subtract>
|
|
<absval name="delta_abs" type="vector2">
|
|
<input name="in" type="vector2" nodename="delta" />
|
|
</absval>
|
|
<separate2 name="delta_abs_separate" type="multioutput">
|
|
<input name="in" type="vector2" nodename="delta_abs" />
|
|
</separate2>
|
|
<combine2 name="p" type="vector2">
|
|
<input name="in1" type="float" nodename="delta_abs_separate" output="outy" />
|
|
<input name="in2" type="float" nodename="delta_abs_separate" output="outx" />
|
|
</combine2>
|
|
<multiply name="kz_r1" type="float">
|
|
<input name="in1" type="float" nodename="k_separate" output="outz" />
|
|
<input name="in2" type="float" interfacename="radius" />
|
|
</multiply>
|
|
<multiply name="minus_kz_r" type="float">
|
|
<input name="in1" type="float" nodename="minus_k_separate" output="outz" />
|
|
<input name="in2" type="float" interfacename="radius" />
|
|
</multiply>
|
|
<combine2 name="combine_mkx_ky" type="vector2">
|
|
<input name="in1" type="float" nodename="minus_k_separate" output="outx" />
|
|
<input name="in2" type="float" nodename="k_separate" output="outy" />
|
|
</combine2>
|
|
<combine2 name="kxy" type="vector2">
|
|
<input name="in1" type="float" nodename="k_separate" output="outx" />
|
|
<input name="in2" type="float" nodename="k_separate" output="outy" />
|
|
</combine2>
|
|
<dotproduct name="dot_kxy_p" type="float">
|
|
<input name="in1" type="vector2" nodename="kxy" />
|
|
<input name="in2" type="vector2" nodename="p" />
|
|
</dotproduct>
|
|
<dotproduct name="dot_kxy_p1" type="float">
|
|
<input name="in1" type="vector2" nodename="combine_mkx_ky" />
|
|
<input name="in2" type="vector2" nodename="new_p1" />
|
|
</dotproduct>
|
|
<min name="min_dotkxyp_p" type="float">
|
|
<input name="in1" type="float" nodename="dot_kxy_p" />
|
|
</min>
|
|
<min name="min_0" type="float">
|
|
<input name="in1" type="float" nodename="dot_kxy_p1" />
|
|
</min>
|
|
<multiply name="multiply_kxy_min" type="vector2">
|
|
<input name="in1" type="vector2" nodename="kxy" />
|
|
<input name="in2" type="float" nodename="min_dotkxyp_p" />
|
|
</multiply>
|
|
<multiply name="multiply2_1" type="vector2">
|
|
<input name="in1" type="vector2" nodename="multiply_kxy_min" />
|
|
<input name="in2" type="float" value="2" />
|
|
</multiply>
|
|
<multiply name="multiply_min_comb" type="vector2">
|
|
<input name="in1" type="vector2" nodename="combine_mkx_ky" />
|
|
<input name="in2" type="float" nodename="min_0" />
|
|
</multiply>
|
|
<multiply name="multiply2_2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="multiply_min_comb" />
|
|
<input name="in2" type="float" value="2" />
|
|
</multiply>
|
|
<extract name="new_p2_x" type="float">
|
|
<input name="in" type="vector2" nodename="new_p2" />
|
|
<input name="index" type="integer" value="0" />
|
|
</extract>
|
|
<clamp name="clamp" type="float">
|
|
<input name="in" type="float" nodename="new_p2_x" />
|
|
<input name="low" type="float" nodename="minus_kz_r" />
|
|
<input name="high" type="float" nodename="kz_r1" />
|
|
</clamp>
|
|
<combine2 name="combine_clamp_rad" type="vector2">
|
|
<input name="in1" type="float" nodename="clamp" />
|
|
<input name="in2" type="float" interfacename="radius" />
|
|
</combine2>
|
|
<subtract name="new_p1" type="vector2">
|
|
<input name="in1" type="vector2" nodename="p" />
|
|
<input name="in2" type="vector2" nodename="multiply2_1" />
|
|
</subtract>
|
|
<subtract name="new_p2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="new_p1" />
|
|
<input name="in2" type="vector2" nodename="multiply2_2" />
|
|
</subtract>
|
|
<subtract name="new_p3" type="vector2">
|
|
<input name="in1" type="vector2" nodename="new_p2" />
|
|
<input name="in2" type="vector2" nodename="combine_clamp_rad" />
|
|
</subtract>
|
|
<dotproduct name="p3_sum" type="float">
|
|
<input name="in1" type="vector2" nodename="new_p3" />
|
|
<input name="in2" type="vector2" value="1, 1" />
|
|
</dotproduct>
|
|
<sqrt name="p3_sqrt" type="float">
|
|
<input name="in" type="float" nodename="p3_sum" />
|
|
</sqrt>
|
|
<ifgreater name="ifgreater_p3" type="float">
|
|
<input name="value1" type="float" nodename="p3_sqrt" />
|
|
<input name="value2" type="float" value="0" />
|
|
<input name="in1" type="float" value="0" />
|
|
<input name="in2" type="float" value="1" />
|
|
</ifgreater>
|
|
<output name="out" type="float" nodename="ifgreater_p3" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <grid>
|
|
Creates a grid pattern with the given tiling, offset, and line thickness.
|
|
Pattern can be regular or staggered.
|
|
-->
|
|
<nodegraph name="NG_grid_color3" nodedef="ND_grid_color3">
|
|
<multiply name="texcoord_scale" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="texcoord" />
|
|
<input name="in2" type="vector2" interfacename="uvtiling" />
|
|
</multiply>
|
|
<subtract name="texcoord_bias" type="vector2">
|
|
<input name="in1" type="vector2" nodename="texcoord_scale" />
|
|
<input name="in2" type="vector2" interfacename="uvoffset" />
|
|
</subtract>
|
|
<separate2 name="texcoord_bias_separate" type="multioutput">
|
|
<input name="in" type="vector2" nodename="texcoord_bias" />
|
|
</separate2>
|
|
<subtract name="thick_to_size" type="float">
|
|
<input name="in1" type="float" value="1.0" />
|
|
<input name="in2" type="float" interfacename="thickness" />
|
|
</subtract>
|
|
<modulo name="mod_Y" type="float">
|
|
<input name="in1" type="float" nodename="texcoord_bias_separate" output="outy" />
|
|
</modulo>
|
|
<modulo name="mod_Y_row" type="float">
|
|
<input name="in1" type="float" nodename="texcoord_bias_separate" output="outy" />
|
|
<input name="in2" type="float" value="2" />
|
|
</modulo>
|
|
<multiply name="mody_2" type="float">
|
|
<input name="in1" type="float" nodename="mod_Y" />
|
|
<input name="in2" type="float" value="2" />
|
|
</multiply>
|
|
<ifgreater name="alt_rows_shift" type="float">
|
|
<input name="value1" type="float" nodename="mod_Y_row" />
|
|
<input name="value2" type="float" value="1" />
|
|
<input name="in1" type="float" value="0.5" />
|
|
</ifgreater>
|
|
<add name="shift_X" type="float">
|
|
<input name="in1" type="float" nodename="texcoord_bias_separate" output="outx" />
|
|
<input name="in2" type="float" nodename="alt_rows_shift" />
|
|
</add>
|
|
<ifequal name="stagger_selection" type="float">
|
|
<input name="value1" type="boolean" interfacename="staggered" />
|
|
<input name="value2" type="boolean" value="true" />
|
|
<input name="in1" type="float" nodename="shift_X" />
|
|
<input name="in2" type="float" nodename="texcoord_bias_separate" output="outx" />
|
|
</ifequal>
|
|
<modulo name="mod_X" type="float">
|
|
<input name="in1" type="float" nodename="stagger_selection" />
|
|
</modulo>
|
|
<multiply name="modx_2" type="float">
|
|
<input name="in1" type="float" nodename="mod_X" />
|
|
<input name="in2" type="float" value="2" />
|
|
</multiply>
|
|
<subtract name="subX_1" type="float">
|
|
<input name="in1" type="float" nodename="modx_2" />
|
|
<input name="in2" type="float" value="1" />
|
|
</subtract>
|
|
<subtract name="subY_1" type="float">
|
|
<input name="in1" type="float" nodename="mody_2" />
|
|
<input name="in2" type="float" value="1" />
|
|
</subtract>
|
|
<absval name="abs_X" type="float">
|
|
<input name="in" type="float" nodename="subX_1" />
|
|
</absval>
|
|
<absval name="abs_Y" type="float">
|
|
<input name="in" type="float" nodename="subY_1" />
|
|
</absval>
|
|
<ifgreater name="X_detect" type="float">
|
|
<input name="value1" type="float" nodename="abs_X" />
|
|
<input name="value2" type="float" nodename="thick_to_size" />
|
|
<input name="in1" type="float" value="0" />
|
|
<input name="in2" type="float" value="1" />
|
|
</ifgreater>
|
|
<ifgreater name="Y_detect" type="float">
|
|
<input name="value1" type="float" nodename="abs_Y" />
|
|
<input name="value2" type="float" nodename="thick_to_size" />
|
|
<input name="in1" type="float" value="0" />
|
|
<input name="in2" type="float" value="1" />
|
|
</ifgreater>
|
|
<min name="min" type="float">
|
|
<input name="in1" type="float" nodename="X_detect" />
|
|
<input name="in2" type="float" nodename="Y_detect" />
|
|
</min>
|
|
<subtract name="inv_result" type="float">
|
|
<input name="in1" type="float" value="1" />
|
|
<input name="in2" type="float" nodename="min" />
|
|
</subtract>
|
|
<convert name="to_rgb" type="color3">
|
|
<input name="in" type="float" nodename="inv_result" />
|
|
</convert>
|
|
<output name="out" type="color3" nodename="to_rgb" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <crosshatch>
|
|
Creates a crosshatch pattern with the given tiling, offset, and line thickness.
|
|
Pattern can be regular or staggered.
|
|
-->
|
|
<nodegraph name="NG_crosshatch_color3" nodedef="ND_crosshatch_color3">
|
|
<multiply name="texcoord_scale" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="texcoord" />
|
|
<input name="in2" type="vector2" interfacename="uvtiling" />
|
|
</multiply>
|
|
<subtract name="texcoord_bias" type="vector2">
|
|
<input name="in1" type="vector2" nodename="texcoord_scale" />
|
|
<input name="in2" type="vector2" interfacename="uvoffset" />
|
|
</subtract>
|
|
<separate2 name="texcoord_bias_separate" type="multioutput">
|
|
<input name="in" type="vector2" nodename="texcoord_bias" />
|
|
</separate2>
|
|
<modulo name="mod_Y" type="float">
|
|
<input name="in1" type="float" nodename="texcoord_bias_separate" output="outy" />
|
|
</modulo>
|
|
<modulo name="mod_Y_row" type="float">
|
|
<input name="in1" type="float" nodename="texcoord_bias_separate" output="outy" />
|
|
<input name="in2" type="float" value="2" />
|
|
</modulo>
|
|
<multiply name="mody_2" type="float">
|
|
<input name="in1" type="float" nodename="mod_Y" />
|
|
<input name="in2" type="float" value="2" />
|
|
</multiply>
|
|
<ifgreater name="alt_rows_shift" type="float">
|
|
<input name="value1" type="float" nodename="mod_Y_row" />
|
|
<input name="value2" type="float" value="1" />
|
|
<input name="in1" type="float" value="0.5" />
|
|
</ifgreater>
|
|
<add name="shift_X" type="float">
|
|
<input name="in1" type="float" nodename="texcoord_bias_separate" output="outx" />
|
|
<input name="in2" type="float" nodename="alt_rows_shift" />
|
|
</add>
|
|
<ifequal name="stagger_selection" type="float">
|
|
<input name="value1" type="boolean" interfacename="staggered" />
|
|
<input name="value2" type="boolean" value="true" />
|
|
<input name="in1" type="float" nodename="shift_X" />
|
|
<input name="in2" type="float" nodename="texcoord_bias_separate" output="outx" />
|
|
</ifequal>
|
|
<modulo name="mod_X" type="float">
|
|
<input name="in1" type="float" nodename="stagger_selection" />
|
|
</modulo>
|
|
<multiply name="modx_2" type="float">
|
|
<input name="in1" type="float" nodename="mod_X" />
|
|
<input name="in2" type="float" value="2" />
|
|
</multiply>
|
|
<subtract name="subX_1" type="float">
|
|
<input name="in1" type="float" nodename="modx_2" />
|
|
<input name="in2" type="float" value="1" />
|
|
</subtract>
|
|
<subtract name="subY_1" type="float">
|
|
<input name="in1" type="float" nodename="mody_2" />
|
|
<input name="in2" type="float" value="1" />
|
|
</subtract>
|
|
<combine2 name="sample_vec" type="vector2">
|
|
<input name="in1" type="float" nodename="subX_1" />
|
|
<input name="in2" type="float" nodename="subY_1" />
|
|
</combine2>
|
|
<line name="line_diag1" type="float">
|
|
<input name="texcoord" type="vector2" nodename="sample_vec" />
|
|
<input name="radius" type="float" interfacename="thickness" />
|
|
<input name="point1" type="vector2" value="1, 1" />
|
|
<input name="point2" type="vector2" value="-1, -1" />
|
|
</line>
|
|
<line name="line_diag2" type="float">
|
|
<input name="texcoord" type="vector2" nodename="sample_vec" />
|
|
<input name="radius" type="float" interfacename="thickness" />
|
|
<input name="point1" type="vector2" value="-1, 1" />
|
|
<input name="point2" type="vector2" value="1, -1" />
|
|
</line>
|
|
<max name="composite_diags" type="float">
|
|
<input name="in1" type="float" nodename="line_diag1" />
|
|
<input name="in2" type="float" nodename="line_diag2" />
|
|
</max>
|
|
<max name="max" type="float">
|
|
<input name="in1" type="float" nodename="composite_diags" />
|
|
<input name="in2" type="float" nodename="composite_diags" />
|
|
</max>
|
|
<convert name="to_rgb" type="color3">
|
|
<input name="in" type="float" nodename="max" />
|
|
</convert>
|
|
<output name="out" type="color3" nodename="to_rgb" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <tiledcircles>
|
|
Creates a black and white pattern of circles with a defined spacing and size (diameter).
|
|
Pattern can be regular or staggered.
|
|
-->
|
|
<nodegraph name="NG_tiledcircles_color3" nodedef="ND_tiledcircles_color3">
|
|
<multiply name="texcoord_scale" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="texcoord" />
|
|
<input name="in2" type="vector2" interfacename="uvtiling" />
|
|
</multiply>
|
|
<subtract name="texcoord_bias" type="vector2">
|
|
<input name="in1" type="vector2" nodename="texcoord_scale" />
|
|
<input name="in2" type="vector2" interfacename="uvoffset" />
|
|
</subtract>
|
|
<separate2 name="texcoord_bias_separate" type="multioutput">
|
|
<input name="in" type="vector2" nodename="texcoord_bias" />
|
|
</separate2>
|
|
<modulo name="mod_texcoord" type="vector2">
|
|
<input name="in1" type="vector2" nodename="texcoord_bias" />
|
|
</modulo>
|
|
<multiply name="mod_texcoord_2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="mod_texcoord" />
|
|
<input name="in2" type="float" value="2" />
|
|
</multiply>
|
|
<subtract name="recenter" type="vector2">
|
|
<input name="in1" type="vector2" nodename="mod_texcoord_2" />
|
|
<input name="in2" type="float" value="1" />
|
|
</subtract>
|
|
<modulo name="stagg_Y" type="float">
|
|
<input name="in1" type="float" nodename="texcoord_bias_separate" output="outy" />
|
|
<input name="in2" type="float" value="1.73205" />
|
|
</modulo>
|
|
<ifgreater name="delta_X" type="float">
|
|
<input name="value1" type="float" nodename="stagg_Y" />
|
|
<input name="value2" type="float" value="0.866025" />
|
|
<input name="in1" type="float" value="0.5" />
|
|
</ifgreater>
|
|
<add name="shift_X" type="float">
|
|
<input name="in1" type="float" nodename="texcoord_bias_separate" output="outx" />
|
|
<input name="in2" type="float" nodename="delta_X" />
|
|
</add>
|
|
<modulo name="mod_X_1" type="float">
|
|
<input name="in1" type="float" nodename="shift_X" />
|
|
</modulo>
|
|
<modulo name="mod_Y_1" type="float">
|
|
<input name="in1" type="float" nodename="texcoord_bias_separate" output="outy" />
|
|
<input name="in2" type="float" value="0.866025" />
|
|
</modulo>
|
|
<subtract name="coord_adj_1" type="float">
|
|
<input name="in1" type="float" value="1" />
|
|
<input name="in2" type="float" nodename="mod_X_1" />
|
|
</subtract>
|
|
<subtract name="coord_adj_2" type="float">
|
|
<input name="in1" type="float" nodename="mod_X_1" />
|
|
<input name="in2" type="float" value="0.5" />
|
|
</subtract>
|
|
<subtract name="coord_adj_3" type="float">
|
|
<input name="in1" type="float" value="0.866025" />
|
|
<input name="in2" type="float" nodename="mod_Y_1" />
|
|
</subtract>
|
|
<combine2 name="coord_circ1" type="vector2">
|
|
<input name="in1" type="float" nodename="mod_X_1" />
|
|
<input name="in2" type="float" nodename="mod_Y_1" />
|
|
</combine2>
|
|
<combine2 name="coord_circ2" type="vector2">
|
|
<input name="in1" type="float" nodename="coord_adj_1" />
|
|
<input name="in2" type="float" nodename="mod_Y_1" />
|
|
</combine2>
|
|
<combine2 name="coord_circ3" type="vector2">
|
|
<input name="in1" type="float" nodename="coord_adj_2" />
|
|
<input name="in2" type="float" nodename="coord_adj_3" />
|
|
</combine2>
|
|
<divide name="scale_half" type="float">
|
|
<input name="in1" type="float" interfacename="size" />
|
|
<input name="in2" type="float" value="2" />
|
|
</divide>
|
|
<circle name="circle_stagg1" type="float">
|
|
<input name="texcoord" type="vector2" nodename="coord_circ1" />
|
|
<input name="radius" type="float" nodename="scale_half" />
|
|
</circle>
|
|
<circle name="circle_stagg2" type="float">
|
|
<input name="texcoord" type="vector2" nodename="coord_circ2" />
|
|
<input name="radius" type="float" nodename="scale_half" />
|
|
</circle>
|
|
<circle name="circle_stagg3" type="float">
|
|
<input name="texcoord" type="vector2" nodename="coord_circ3" />
|
|
<input name="radius" type="float" nodename="scale_half" />
|
|
</circle>
|
|
<max name="max1" type="float">
|
|
<input name="in1" type="float" nodename="circle_stagg1" />
|
|
<input name="in2" type="float" nodename="circle_stagg2" />
|
|
</max>
|
|
<max name="max" type="float">
|
|
<input name="in1" type="float" nodename="max1" />
|
|
<input name="in2" type="float" nodename="circle_stagg3" />
|
|
</max>
|
|
<circle name="circle_regular" type="float">
|
|
<input name="texcoord" type="vector2" nodename="recenter" />
|
|
<input name="radius" type="float" interfacename="size" />
|
|
</circle>
|
|
<ifequal name="pattern_selection" type="float">
|
|
<input name="value1" type="boolean" interfacename="staggered" />
|
|
<input name="value2" type="boolean" value="true" />
|
|
<input name="in1" type="float" nodename="max" />
|
|
<input name="in2" type="float" nodename="circle_regular" />
|
|
</ifequal>
|
|
<convert name="to_rgb" type="color3">
|
|
<input name="in" type="float" nodename="pattern_selection" />
|
|
</convert>
|
|
<output name="out" type="color3" nodename="to_rgb" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <tiledcloverleafs>
|
|
Creates a black and white pattern of cloverleafs with a defined spacing and size (diameter of the circles circumscribing the shape).
|
|
Pattern can be regular or staggered.
|
|
-->
|
|
<nodegraph name="NG_tiledcloverleafs_color3" nodedef="ND_tiledcloverleafs_color3">
|
|
<multiply name="texcoord_scale" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="texcoord" />
|
|
<input name="in2" type="vector2" interfacename="uvtiling" />
|
|
</multiply>
|
|
<subtract name="texcoord_bias" type="vector2">
|
|
<input name="in1" type="vector2" nodename="texcoord_scale" />
|
|
<input name="in2" type="vector2" interfacename="uvoffset" />
|
|
</subtract>
|
|
<separate2 name="texcoord_bias_separate" type="multioutput">
|
|
<input name="in" type="vector2" nodename="texcoord_bias" />
|
|
</separate2>
|
|
<modulo name="mod_texcoord" type="vector2">
|
|
<input name="in1" type="vector2" nodename="texcoord_bias" />
|
|
</modulo>
|
|
<multiply name="mod_texcoord_2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="mod_texcoord" />
|
|
<input name="in2" type="float" value="2" />
|
|
</multiply>
|
|
<subtract name="recenter" type="vector2">
|
|
<input name="in1" type="vector2" nodename="mod_texcoord_2" />
|
|
<input name="in2" type="float" value="1" />
|
|
</subtract>
|
|
<modulo name="stagg_Y" type="float">
|
|
<input name="in1" type="float" nodename="texcoord_bias_separate" output="outy" />
|
|
<input name="in2" type="float" value="1" />
|
|
</modulo>
|
|
<ifgreater name="delta_X" type="float">
|
|
<input name="value1" type="float" nodename="stagg_Y" />
|
|
<input name="value2" type="float" value="0.5" />
|
|
<input name="in1" type="float" value="0.5" />
|
|
</ifgreater>
|
|
<add name="shift_X" type="float">
|
|
<input name="in1" type="float" nodename="texcoord_bias_separate" output="outx" />
|
|
<input name="in2" type="float" nodename="delta_X" />
|
|
</add>
|
|
<modulo name="mod_X_1" type="float">
|
|
<input name="in1" type="float" nodename="shift_X" />
|
|
</modulo>
|
|
<modulo name="mod_Y_1" type="float">
|
|
<input name="in1" type="float" nodename="texcoord_bias_separate" output="outy" />
|
|
<input name="in2" type="float" value="0.5" />
|
|
</modulo>
|
|
<subtract name="coord_adj_1" type="float">
|
|
<input name="in1" type="float" value="1" />
|
|
<input name="in2" type="float" nodename="mod_X_1" />
|
|
</subtract>
|
|
<subtract name="coord_adj_2" type="float">
|
|
<input name="in1" type="float" nodename="mod_X_1" />
|
|
<input name="in2" type="float" value="0.5" />
|
|
</subtract>
|
|
<subtract name="coord_adj_3" type="float">
|
|
<input name="in1" type="float" value="0.5" />
|
|
<input name="in2" type="float" nodename="mod_Y_1" />
|
|
</subtract>
|
|
<combine2 name="coord_circ1" type="vector2">
|
|
<input name="in1" type="float" nodename="mod_X_1" />
|
|
<input name="in2" type="float" nodename="mod_Y_1" />
|
|
</combine2>
|
|
<combine2 name="coord_circ2" type="vector2">
|
|
<input name="in1" type="float" nodename="coord_adj_1" />
|
|
<input name="in2" type="float" nodename="mod_Y_1" />
|
|
</combine2>
|
|
<combine2 name="coord_circ3" type="vector2">
|
|
<input name="in1" type="float" nodename="coord_adj_2" />
|
|
<input name="in2" type="float" nodename="coord_adj_3" />
|
|
</combine2>
|
|
<divide name="scale_half" type="float">
|
|
<input name="in1" type="float" interfacename="size" />
|
|
<input name="in2" type="float" value="2" />
|
|
</divide>
|
|
<cloverleaf name="cloverleaf_stagg1" type="float">
|
|
<input name="texcoord" type="vector2" nodename="coord_circ1" />
|
|
<input name="radius" type="float" nodename="scale_half" />
|
|
</cloverleaf>
|
|
<cloverleaf name="cloverleaf_stagg2" type="float">
|
|
<input name="texcoord" type="vector2" nodename="coord_circ2" />
|
|
<input name="radius" type="float" nodename="scale_half" />
|
|
</cloverleaf>
|
|
<cloverleaf name="cloverleaf_stagg3" type="float">
|
|
<input name="texcoord" type="vector2" nodename="coord_circ3" />
|
|
<input name="radius" type="float" nodename="scale_half" />
|
|
</cloverleaf>
|
|
<max name="max1" type="float">
|
|
<input name="in1" type="float" nodename="cloverleaf_stagg1" />
|
|
<input name="in2" type="float" nodename="cloverleaf_stagg2" />
|
|
</max>
|
|
<max name="max" type="float">
|
|
<input name="in1" type="float" nodename="max1" />
|
|
<input name="in2" type="float" nodename="cloverleaf_stagg3" />
|
|
</max>
|
|
<cloverleaf name="cloverleaf_regular" type="float">
|
|
<input name="texcoord" type="vector2" nodename="recenter" />
|
|
<input name="radius" type="float" interfacename="size" />
|
|
</cloverleaf>
|
|
<ifequal name="pattern_selection" type="float">
|
|
<input name="value1" type="boolean" interfacename="staggered" />
|
|
<input name="value2" type="boolean" value="true" />
|
|
<input name="in1" type="float" nodename="max" />
|
|
<input name="in2" type="float" nodename="cloverleaf_regular" />
|
|
</ifequal>
|
|
<convert name="to_rgb" type="color3">
|
|
<input name="in" type="float" nodename="pattern_selection" />
|
|
</convert>
|
|
<output name="out" type="color3" nodename="to_rgb" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <tiledhexagons>
|
|
Creates a black and white pattern of hexagons with a defined spacing and size (diameter of the circles circumscribing the shape).
|
|
Pattern can be regular or staggered.
|
|
-->
|
|
<nodegraph name="NG_tiledhexagons_color3" nodedef="ND_tiledhexagons_color3">
|
|
<multiply name="texcoord_scale" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="texcoord" />
|
|
<input name="in2" type="vector2" interfacename="uvtiling" />
|
|
</multiply>
|
|
<subtract name="texcoord_bias" type="vector2">
|
|
<input name="in1" type="vector2" nodename="texcoord_scale" />
|
|
<input name="in2" type="vector2" interfacename="uvoffset" />
|
|
</subtract>
|
|
<separate2 name="texcoord_bias_separate" type="multioutput">
|
|
<input name="in" type="vector2" nodename="texcoord_bias" />
|
|
</separate2>
|
|
<modulo name="mod_texcoord" type="vector2">
|
|
<input name="in1" type="vector2" nodename="texcoord_bias" />
|
|
</modulo>
|
|
<multiply name="mod_texcoord_2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="mod_texcoord" />
|
|
<input name="in2" type="float" value="2" />
|
|
</multiply>
|
|
<subtract name="recenter" type="vector2">
|
|
<input name="in1" type="vector2" nodename="mod_texcoord_2" />
|
|
<input name="in2" type="float" value="1" />
|
|
</subtract>
|
|
<modulo name="stagg_Y" type="float">
|
|
<input name="in1" type="float" nodename="texcoord_bias_separate" output="outy" />
|
|
<input name="in2" type="float" value="1.73205" />
|
|
</modulo>
|
|
<ifgreater name="delta_X" type="float">
|
|
<input name="value1" type="float" nodename="stagg_Y" />
|
|
<input name="value2" type="float" value="0.866025" />
|
|
<input name="in1" type="float" value="0.5" />
|
|
</ifgreater>
|
|
<add name="shift_X" type="float">
|
|
<input name="in1" type="float" nodename="texcoord_bias_separate" output="outx" />
|
|
<input name="in2" type="float" nodename="delta_X" />
|
|
</add>
|
|
<modulo name="mod_X_1" type="float">
|
|
<input name="in1" type="float" nodename="shift_X" />
|
|
</modulo>
|
|
<modulo name="mod_Y_1" type="float">
|
|
<input name="in1" type="float" nodename="texcoord_bias_separate" output="outy" />
|
|
<input name="in2" type="float" value="0.866025" />
|
|
</modulo>
|
|
<subtract name="coord_adj_1" type="float">
|
|
<input name="in1" type="float" value="1" />
|
|
<input name="in2" type="float" nodename="mod_X_1" />
|
|
</subtract>
|
|
<subtract name="coord_adj_2" type="float">
|
|
<input name="in1" type="float" nodename="mod_X_1" />
|
|
<input name="in2" type="float" value="0.5" />
|
|
</subtract>
|
|
<subtract name="coord_adj_3" type="float">
|
|
<input name="in1" type="float" value="0.866025" />
|
|
<input name="in2" type="float" nodename="mod_Y_1" />
|
|
</subtract>
|
|
<combine2 name="coord_circ1" type="vector2">
|
|
<input name="in1" type="float" nodename="mod_X_1" />
|
|
<input name="in2" type="float" nodename="mod_Y_1" />
|
|
</combine2>
|
|
<combine2 name="coord_circ2" type="vector2">
|
|
<input name="in1" type="float" nodename="coord_adj_1" />
|
|
<input name="in2" type="float" nodename="mod_Y_1" />
|
|
</combine2>
|
|
<combine2 name="coord_circ3" type="vector2">
|
|
<input name="in1" type="float" nodename="coord_adj_2" />
|
|
<input name="in2" type="float" nodename="coord_adj_3" />
|
|
</combine2>
|
|
<divide name="scale_half" type="float">
|
|
<input name="in1" type="float" interfacename="size" />
|
|
<input name="in2" type="float" value="2" />
|
|
</divide>
|
|
<hexagon name="hexagon_stagg1" type="float">
|
|
<input name="texcoord" type="vector2" nodename="coord_circ1" />
|
|
<input name="radius" type="float" nodename="scale_half" />
|
|
</hexagon>
|
|
<hexagon name="hexagon_stagg2" type="float">
|
|
<input name="texcoord" type="vector2" nodename="coord_circ2" />
|
|
<input name="radius" type="float" nodename="scale_half" />
|
|
</hexagon>
|
|
<hexagon name="hexagon_stagg3" type="float">
|
|
<input name="texcoord" type="vector2" nodename="coord_circ3" />
|
|
<input name="radius" type="float" nodename="scale_half" />
|
|
</hexagon>
|
|
<max name="max1" type="float">
|
|
<input name="in1" type="float" nodename="hexagon_stagg1" />
|
|
<input name="in2" type="float" nodename="hexagon_stagg2" />
|
|
</max>
|
|
<max name="max" type="float">
|
|
<input name="in1" type="float" nodename="max1" />
|
|
<input name="in2" type="float" nodename="hexagon_stagg3" />
|
|
</max>
|
|
<hexagon name="hexagon_regular" type="float">
|
|
<input name="texcoord" type="vector2" nodename="recenter" />
|
|
<input name="radius" type="float" interfacename="size" />
|
|
</hexagon>
|
|
<ifequal name="pattern_selection" type="float">
|
|
<input name="value1" type="boolean" interfacename="staggered" />
|
|
<input name="value2" type="boolean" value="true" />
|
|
<input name="in1" type="float" nodename="max" />
|
|
<input name="in2" type="float" nodename="hexagon_regular" />
|
|
</ifequal>
|
|
<convert name="to_rgb" type="color3">
|
|
<input name="in" type="float" nodename="pattern_selection" />
|
|
</convert>
|
|
<output name="out" type="color3" nodename="to_rgb" />
|
|
</nodegraph>
|
|
|
|
<!-- ======================================================================== -->
|
|
<!-- Geometric nodes -->
|
|
<!-- ======================================================================== -->
|
|
|
|
<!--
|
|
Node: <bump>
|
|
-->
|
|
<nodegraph name="NG_bump_vector3" nodedef="ND_bump_vector3">
|
|
<heighttonormal name="N_heighttonormal" type="vector3">
|
|
<input name="in" type="float" interfacename="height" />
|
|
</heighttonormal>
|
|
<normalmap name="N_normalmap" type="vector3">
|
|
<input name="in" type="vector3" nodename="N_heighttonormal" />
|
|
<input name="normal" type="vector3" interfacename="normal" />
|
|
<input name="scale" type="float" interfacename="scale" />
|
|
<input name="tangent" type="vector3" interfacename="tangent" />
|
|
</normalmap>
|
|
<output name="out" type="vector3" nodename="N_normalmap" />
|
|
</nodegraph>
|
|
|
|
<!-- ======================================================================== -->
|
|
<!-- Global nodes -->
|
|
<!-- ======================================================================== -->
|
|
|
|
<!-- ======================================================================== -->
|
|
<!-- Application nodes -->
|
|
<!-- ======================================================================== -->
|
|
|
|
<!-- ======================================================================== -->
|
|
<!-- Math nodes -->
|
|
<!-- ======================================================================== -->
|
|
|
|
<!--
|
|
Node: <place2d>
|
|
Transform incoming UV texture coordinates from one 2D frame of reference to another.
|
|
operationorder (integer enum): the order in which to perform the transform operations.
|
|
"0" or "SRT" performs -pivot, scale, rotate, translate, +pivot as per the original
|
|
implementation matching the behavior of certain DCC packages, and "1" or "TRS" performs
|
|
-pivot, translate, rotate, scale, +pivot which does not introduce texture shear.
|
|
Default is 0 "SRT" for backward compatibility.
|
|
-->
|
|
<nodegraph name="NG_place2d_vector2" nodedef="ND_place2d_vector2">
|
|
<subtract name="N_subpivot" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="texcoord" />
|
|
<input name="in2" type="vector2" interfacename="pivot" />
|
|
</subtract>
|
|
<divide name="N_applyscale" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_subpivot" />
|
|
<input name="in2" type="vector2" interfacename="scale" />
|
|
</divide>
|
|
<rotate2d name="N_applyrot" type="vector2">
|
|
<input name="in" type="vector2" nodename="N_applyscale" />
|
|
<input name="amount" type="float" interfacename="rotate" />
|
|
</rotate2d>
|
|
<subtract name="N_applyoffset" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_applyrot" />
|
|
<input name="in2" type="vector2" interfacename="offset" />
|
|
</subtract>
|
|
<add name="N_addpivot" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_applyoffset" />
|
|
<input name="in2" type="vector2" interfacename="pivot" />
|
|
</add>
|
|
<subtract name="N_applyoffset2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_subpivot" />
|
|
<input name="in2" type="vector2" interfacename="offset" />
|
|
</subtract>
|
|
<rotate2d name="N_applyrot2" type="vector2">
|
|
<input name="in" type="vector2" nodename="N_applyoffset2" />
|
|
<input name="amount" type="float" interfacename="rotate" />
|
|
</rotate2d>
|
|
<divide name="N_applyscale2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_applyrot2" />
|
|
<input name="in2" type="vector2" interfacename="scale" />
|
|
</divide>
|
|
<add name="N_addpivot2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_applyscale2" />
|
|
<input name="in2" type="vector2" interfacename="pivot" />
|
|
</add>
|
|
<switch name="N_switch_operationorder" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_addpivot" />
|
|
<input name="in2" type="vector2" nodename="N_addpivot2" />
|
|
<input name="which" type="integer" interfacename="operationorder" />
|
|
</switch>
|
|
<output name="out" type="vector2" nodename="N_switch_operationorder" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <distance>
|
|
Measures the distance between two points in 2D, 3D, or 4D.
|
|
-->
|
|
<nodegraph name="NG_distance_vector2" nodedef="ND_distance_vector2">
|
|
<subtract name="N_mtlxsubtract" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="in1" />
|
|
<input name="in2" type="vector2" interfacename="in2" />
|
|
</subtract>
|
|
<magnitude name="N_mtlxmagnitude" type="float">
|
|
<input name="in" type="vector2" nodename="N_mtlxsubtract" />
|
|
</magnitude>
|
|
<output name="out" type="float" nodename="N_mtlxmagnitude" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_distance_vector3" nodedef="ND_distance_vector3">
|
|
<subtract name="N_mtlxsubtract" type="vector3">
|
|
<input name="in1" type="vector3" interfacename="in1" />
|
|
<input name="in2" type="vector3" interfacename="in2" />
|
|
</subtract>
|
|
<magnitude name="N_mtlxmagnitude" type="float">
|
|
<input name="in" type="vector3" nodename="N_mtlxsubtract" />
|
|
</magnitude>
|
|
<output name="out" type="float" nodename="N_mtlxmagnitude" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_distance_vector4" nodedef="ND_distance_vector4">
|
|
<subtract name="N_mtlxsubtract" type="vector4">
|
|
<input name="in1" type="vector4" interfacename="in1" />
|
|
<input name="in2" type="vector4" interfacename="in2" />
|
|
</subtract>
|
|
<magnitude name="N_mtlxmagnitude" type="float">
|
|
<input name="in" type="vector4" nodename="N_mtlxsubtract" />
|
|
</magnitude>
|
|
<output name="out" type="float" nodename="N_mtlxmagnitude" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <trianglewave>
|
|
Generate a triangle wave from the given scalar input.
|
|
The generated wave ranges from zero to one and repeats on integer boundaries.
|
|
-->
|
|
<nodegraph name="NG_trianglewave_float" nodedef="ND_trianglewave_float">
|
|
<absval name="absval1" type="float">
|
|
<input name="in" type="float" interfacename="in" />
|
|
</absval>
|
|
<modulo name="modulo1" type="float">
|
|
<input name="in1" type="float" nodename="absval1" />
|
|
</modulo>
|
|
<subtract name="subtract1" type="float">
|
|
<input name="in1" type="float" nodename="modulo1" />
|
|
<input name="in2" type="float" value="0.5" />
|
|
</subtract>
|
|
<absval name="absval2" type="float">
|
|
<input name="in" type="float" nodename="subtract1" />
|
|
</absval>
|
|
<subtract name="subtract2" type="float">
|
|
<input name="in1" type="float" value="0.5" />
|
|
<input name="in2" type="float" nodename="absval2" />
|
|
</subtract>
|
|
<output name="out" type="float" nodename="subtract2" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <reflect>
|
|
Compute the reflection vector given an incident vector and unit surface normal.
|
|
-->
|
|
<nodegraph name="NG_reflect_vector3" type="vector3" nodedef="ND_reflect_vector3">
|
|
<dotproduct name="NdotI" type="float">
|
|
<input name="in1" type="vector3" interfacename="normal" />
|
|
<input name="in2" type="vector3" interfacename="in" />
|
|
</dotproduct>
|
|
<multiply name="NdotI_2" type="float">
|
|
<input name="in1" type="float" nodename="NdotI" />
|
|
<input name="in2" type="float" value="2" />
|
|
</multiply>
|
|
<multiply name="NdotI_N_2" type="vector3">
|
|
<input name="in1" type="vector3" interfacename="normal" />
|
|
<input name="in2" type="float" nodename="NdotI_2" />
|
|
</multiply>
|
|
<subtract name="reflection_vector" type="vector3">
|
|
<input name="in1" type="vector3" interfacename="in" />
|
|
<input name="in2" type="vector3" nodename="NdotI_N_2" />
|
|
</subtract>
|
|
<output name="out" type="vector3" nodename="reflection_vector" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <refract>
|
|
Compute the refraction vector given an incident vector, unit surface normal,
|
|
and index of refraction.
|
|
-->
|
|
<nodegraph name="NG_refract_vector3" nodedef="ND_refract_vector3">
|
|
<dotproduct name="IdotN" type="float">
|
|
<input name="in1" type="vector3" interfacename="in" />
|
|
<input name="in2" type="vector3" interfacename="normal" />
|
|
</dotproduct>
|
|
<multiply name="IdotNsq" type="float">
|
|
<input name="in1" type="float" nodename="IdotN" />
|
|
<input name="in2" type="float" nodename="IdotN" />
|
|
</multiply>
|
|
<multiply name="iorsq" type="float">
|
|
<input name="in1" type="float" interfacename="ior" />
|
|
<input name="in2" type="float" interfacename="ior" />
|
|
</multiply>
|
|
<subtract name="one_IdotNsq" type="float">
|
|
<input name="in1" type="float" value="1.0" />
|
|
<input name="in2" type="float" nodename="IdotNsq" />
|
|
</subtract>
|
|
<multiply name="iorsq_one_IdotNsq" type="float">
|
|
<input name="in1" type="float" nodename="iorsq" />
|
|
<input name="in2" type="float" nodename="one_IdotNsq" />
|
|
</multiply>
|
|
<subtract name="k" type="float">
|
|
<input name="in1" type="float" value="1.0" />
|
|
<input name="in2" type="float" nodename="iorsq_one_IdotNsq" />
|
|
</subtract>
|
|
<multiply name="I_scaled" type="vector3">
|
|
<input name="in1" type="vector3" interfacename="in" />
|
|
<input name="in2" type="float" interfacename="ior" />
|
|
</multiply>
|
|
<sqrt name="sqrt_k" type="float">
|
|
<input name="in" type="float" nodename="k" />
|
|
</sqrt>
|
|
<multiply name="ior_NdotI" type="float">
|
|
<input name="in1" type="float" interfacename="ior" />
|
|
<input name="in2" type="float" nodename="IdotN" />
|
|
</multiply>
|
|
<add name="ior_NdotI_sqrt_k" type="float">
|
|
<input name="in1" type="float" nodename="ior_NdotI" />
|
|
<input name="in2" type="float" nodename="sqrt_k" />
|
|
</add>
|
|
<multiply name="N_scaled" type="vector3">
|
|
<input name="in1" type="vector3" interfacename="normal" />
|
|
<input name="in2" type="float" nodename="ior_NdotI_sqrt_k" />
|
|
</multiply>
|
|
<subtract name="refract_dir" type="vector3">
|
|
<input name="in1" type="vector3" nodename="I_scaled" />
|
|
<input name="in2" type="vector3" nodename="N_scaled" />
|
|
</subtract>
|
|
<ifgreater name="result" type="vector3">
|
|
<input name="value1" type="float" value="0.0" />
|
|
<input name="value2" type="float" nodename="k" />
|
|
<input name="in1" type="vector3" value="0.0, 0.0, 0.0" />
|
|
<input name="in2" type="vector3" nodename="refract_dir" />
|
|
</ifgreater>
|
|
<output name="out" type="vector3" nodename="result" />
|
|
</nodegraph>
|
|
|
|
<!-- ======================================================================== -->
|
|
<!-- Adjustment nodes -->
|
|
<!-- ======================================================================== -->
|
|
|
|
<!--
|
|
Node: <smoothstep>
|
|
Outputs a smooth (hermite-interpolated) remapping of input values from low-high
|
|
to output 0-1.
|
|
-->
|
|
<nodegraph name="NG_smoothstep_color3" nodedef="ND_smoothstep_color3">
|
|
<separate3 name="separate_in" type="multioutput">
|
|
<input name="in" type="color3" interfacename="in" />
|
|
</separate3>
|
|
<separate3 name="separate_low" type="multioutput">
|
|
<input name="in" type="color3" interfacename="low" />
|
|
</separate3>
|
|
<separate3 name="separate_high" type="multioutput">
|
|
<input name="in" type="color3" interfacename="high" />
|
|
</separate3>
|
|
<smoothstep name="smoothstep_r" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outr"/>
|
|
<input name="low" type="float" nodename="separate_low" output="outr"/>
|
|
<input name="high" type="float" nodename="separate_high" output="outr"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_g" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outg"/>
|
|
<input name="low" type="float" nodename="separate_low" output="outg"/>
|
|
<input name="high" type="float" nodename="separate_high" output="outg"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_b" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outb"/>
|
|
<input name="low" type="float" nodename="separate_low" output="outb"/>
|
|
<input name="high" type="float" nodename="separate_high" output="outb"/>
|
|
</smoothstep>
|
|
<combine3 name="combine" type="color3">
|
|
<input name="in1" type="float" nodename="smoothstep_r"/>
|
|
<input name="in2" type="float" nodename="smoothstep_g"/>
|
|
<input name="in3" type="float" nodename="smoothstep_b"/>
|
|
</combine3>
|
|
<output name="out" type="color3" nodename="combine"/>
|
|
</nodegraph>
|
|
<nodegraph name="NG_smoothstep_color4" nodedef="ND_smoothstep_color4">
|
|
<separate4 name="separate_in" type="multioutput">
|
|
<input name="in" type="color4" interfacename="in" />
|
|
</separate4>
|
|
<separate4 name="separate_low" type="multioutput">
|
|
<input name="in" type="color4" interfacename="low" />
|
|
</separate4>
|
|
<separate4 name="separate_high" type="multioutput">
|
|
<input name="in" type="color4" interfacename="high" />
|
|
</separate4>
|
|
<smoothstep name="smoothstep_r" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outr"/>
|
|
<input name="low" type="float" nodename="separate_low" output="outr"/>
|
|
<input name="high" type="float" nodename="separate_high" output="outr"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_g" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outg"/>
|
|
<input name="low" type="float" nodename="separate_low" output="outg"/>
|
|
<input name="high" type="float" nodename="separate_high" output="outg"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_b" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outb"/>
|
|
<input name="low" type="float" nodename="separate_low" output="outb"/>
|
|
<input name="high" type="float" nodename="separate_high" output="outb"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_a" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outa"/>
|
|
<input name="low" type="float" nodename="separate_low" output="outa"/>
|
|
<input name="high" type="float" nodename="separate_high" output="outa"/>
|
|
</smoothstep>
|
|
<combine4 name="combine" type="color4">
|
|
<input name="in1" type="float" nodename="smoothstep_r"/>
|
|
<input name="in2" type="float" nodename="smoothstep_g"/>
|
|
<input name="in3" type="float" nodename="smoothstep_b"/>
|
|
<input name="in4" type="float" nodename="smoothstep_a"/>
|
|
</combine4>
|
|
<output name="out" type="color4" nodename="combine"/>
|
|
</nodegraph>
|
|
<nodegraph name="NG_smoothstep_color3FA" nodedef="ND_smoothstep_color3FA">
|
|
<separate3 name="separate_in" type="multioutput">
|
|
<input name="in" type="color3" interfacename="in" />
|
|
</separate3>
|
|
<smoothstep name="smoothstep_r" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outr"/>
|
|
<input name="low" type="float" interfacename="low"/>
|
|
<input name="high" type="float" interfacename="high"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_g" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outg"/>
|
|
<input name="low" type="float" interfacename="low"/>
|
|
<input name="high" type="float" interfacename="high"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_b" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outb"/>
|
|
<input name="low" type="float" interfacename="low"/>
|
|
<input name="high" type="float" interfacename="high"/>
|
|
</smoothstep>
|
|
<combine3 name="combine" type="color3">
|
|
<input name="in1" type="float" nodename="smoothstep_r"/>
|
|
<input name="in2" type="float" nodename="smoothstep_g"/>
|
|
<input name="in3" type="float" nodename="smoothstep_b"/>
|
|
</combine3>
|
|
<output name="out" type="color3" nodename="combine"/>
|
|
</nodegraph>
|
|
<nodegraph name="NG_smoothstep_color4FA" nodedef="ND_smoothstep_color4FA">
|
|
<separate4 name="separate_in" type="multioutput">
|
|
<input name="in" type="color4" interfacename="in" />
|
|
</separate4>
|
|
<smoothstep name="smoothstep_r" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outr"/>
|
|
<input name="low" type="float" interfacename="low"/>
|
|
<input name="high" type="float" interfacename="high"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_g" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outg"/>
|
|
<input name="low" type="float" interfacename="low"/>
|
|
<input name="high" type="float" interfacename="high"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_b" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outb"/>
|
|
<input name="low" type="float" interfacename="low"/>
|
|
<input name="high" type="float" interfacename="high"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_a" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outa"/>
|
|
<input name="low" type="float" interfacename="low"/>
|
|
<input name="high" type="float" interfacename="high"/>
|
|
</smoothstep>
|
|
<combine4 name="combine" type="color4">
|
|
<input name="in1" type="float" nodename="smoothstep_r"/>
|
|
<input name="in2" type="float" nodename="smoothstep_g"/>
|
|
<input name="in3" type="float" nodename="smoothstep_b"/>
|
|
<input name="in4" type="float" nodename="smoothstep_a"/>
|
|
</combine4>
|
|
<output name="out" type="color4" nodename="combine"/>
|
|
</nodegraph>
|
|
<nodegraph name="NG_smoothstep_vector2" nodedef="ND_smoothstep_vector2">
|
|
<separate2 name="separate_in" type="multioutput">
|
|
<input name="in" type="vector2" interfacename="in"/>
|
|
</separate2>
|
|
<separate2 name="separate_low" type="multioutput">
|
|
<input name="in" type="vector2" interfacename="low"/>
|
|
</separate2>
|
|
<separate2 name="separate_high" type="multioutput">
|
|
<input name="in" type="vector2" interfacename="high"/>
|
|
</separate2>
|
|
<smoothstep name="smoothstep_x" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outx"/>
|
|
<input name="low" type="float" nodename="separate_low" output="outx"/>
|
|
<input name="high" type="float" nodename="separate_high" output="outx"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_y" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outy"/>
|
|
<input name="low" type="float" nodename="separate_low" output="outy"/>
|
|
<input name="high" type="float" nodename="separate_high" output="outy"/>
|
|
</smoothstep>
|
|
<combine2 name="combine" type="vector2">
|
|
<input name="in1" type="float" nodename="smoothstep_x"/>
|
|
<input name="in2" type="float" nodename="smoothstep_y"/>
|
|
</combine2>
|
|
<output name="out" type="vector2" nodename="combine"/>
|
|
</nodegraph>
|
|
<nodegraph name="NG_smoothstep_vector3" nodedef="ND_smoothstep_vector3">
|
|
<separate3 name="separate_in" type="multioutput">
|
|
<input name="in" type="vector3" interfacename="in"/>
|
|
</separate3>
|
|
<separate3 name="separate_low" type="multioutput">
|
|
<input name="in" type="vector3" interfacename="low"/>
|
|
</separate3>
|
|
<separate3 name="separate_high" type="multioutput">
|
|
<input name="in" type="vector3" interfacename="high"/>
|
|
</separate3>
|
|
<smoothstep name="smoothstep_x" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outx"/>
|
|
<input name="low" type="float" nodename="separate_low" output="outx"/>
|
|
<input name="high" type="float" nodename="separate_high" output="outx"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_y" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outy"/>
|
|
<input name="low" type="float" nodename="separate_low" output="outy"/>
|
|
<input name="high" type="float" nodename="separate_high" output="outy"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_z" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outz"/>
|
|
<input name="low" type="float" nodename="separate_low" output="outz"/>
|
|
<input name="high" type="float" nodename="separate_high" output="outz"/>
|
|
</smoothstep>
|
|
<combine3 name="combine" type="vector3">
|
|
<input name="in1" type="float" nodename="smoothstep_x"/>
|
|
<input name="in2" type="float" nodename="smoothstep_y"/>
|
|
<input name="in3" type="float" nodename="smoothstep_z"/>
|
|
</combine3>
|
|
<output name="out" type="vector3" nodename="combine"/>
|
|
</nodegraph>
|
|
<nodegraph name="NG_smoothstep_vector4" nodedef="ND_smoothstep_vector4">
|
|
<separate4 name="separate_in" type="multioutput">
|
|
<input name="in" type="vector4" interfacename="in"/>
|
|
</separate4>
|
|
<separate4 name="separate_low" type="multioutput">
|
|
<input name="in" type="vector4" interfacename="low"/>
|
|
</separate4>
|
|
<separate4 name="separate_high" type="multioutput">
|
|
<input name="in" type="vector4" interfacename="high"/>
|
|
</separate4>
|
|
<smoothstep name="smoothstep_x" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outx"/>
|
|
<input name="low" type="float" nodename="separate_low" output="outx"/>
|
|
<input name="high" type="float" nodename="separate_high" output="outx"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_y" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outy"/>
|
|
<input name="low" type="float" nodename="separate_low" output="outy"/>
|
|
<input name="high" type="float" nodename="separate_high" output="outy"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_z" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outz"/>
|
|
<input name="low" type="float" nodename="separate_low" output="outz"/>
|
|
<input name="high" type="float" nodename="separate_high" output="outz"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_w" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outw"/>
|
|
<input name="low" type="float" nodename="separate_low" output="outw"/>
|
|
<input name="high" type="float" nodename="separate_high" output="outw"/>
|
|
</smoothstep>
|
|
<combine4 name="combine" type="vector4">
|
|
<input name="in1" type="float" nodename="smoothstep_x"/>
|
|
<input name="in2" type="float" nodename="smoothstep_y"/>
|
|
<input name="in3" type="float" nodename="smoothstep_z"/>
|
|
<input name="in4" type="float" nodename="smoothstep_w"/>
|
|
</combine4>
|
|
<output name="out" type="vector4" nodename="combine"/>
|
|
</nodegraph>
|
|
<nodegraph name="NG_smoothstep_vector2FA" nodedef="ND_smoothstep_vector2FA">
|
|
<separate2 name="separate_in" type="multioutput">
|
|
<input name="in" type="vector2" interfacename="in" />
|
|
</separate2>
|
|
<smoothstep name="smoothstep_x" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outx"/>
|
|
<input name="low" type="float" interfacename="low"/>
|
|
<input name="high" type="float" interfacename="high"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_y" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outy"/>
|
|
<input name="low" type="float" interfacename="low"/>
|
|
<input name="high" type="float" interfacename="high"/>
|
|
</smoothstep>
|
|
<combine2 name="combine" type="vector2">
|
|
<input name="in1" type="float" nodename="smoothstep_x"/>
|
|
<input name="in2" type="float" nodename="smoothstep_y"/>
|
|
</combine2>
|
|
<output name="out" type="vector2" nodename="combine"/>
|
|
</nodegraph>
|
|
<nodegraph name="NG_smoothstep_vector3FA" nodedef="ND_smoothstep_vector3FA">
|
|
<separate3 name="separate_in" type="multioutput">
|
|
<input name="in" type="vector3" interfacename="in" />
|
|
</separate3>
|
|
<smoothstep name="smoothstep_x" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outx"/>
|
|
<input name="low" type="float" interfacename="low"/>
|
|
<input name="high" type="float" interfacename="high"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_y" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outy"/>
|
|
<input name="low" type="float" interfacename="low"/>
|
|
<input name="high" type="float" interfacename="high"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_z" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outz"/>
|
|
<input name="low" type="float" interfacename="low"/>
|
|
<input name="high" type="float" interfacename="high"/>
|
|
</smoothstep>
|
|
<combine3 name="combine" type="vector3">
|
|
<input name="in1" type="float" nodename="smoothstep_x"/>
|
|
<input name="in2" type="float" nodename="smoothstep_y"/>
|
|
<input name="in3" type="float" nodename="smoothstep_z"/>
|
|
</combine3>
|
|
<output name="out" type="vector3" nodename="combine"/>
|
|
</nodegraph>
|
|
<nodegraph name="NG_smoothstep_vector4FA" nodedef="ND_smoothstep_vector4FA">
|
|
<separate4 name="separate_in" type="multioutput">
|
|
<input name="in" type="vector4" interfacename="in" />
|
|
</separate4>
|
|
<smoothstep name="smoothstep_x" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outx"/>
|
|
<input name="low" type="float" interfacename="low"/>
|
|
<input name="high" type="float" interfacename="high"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_y" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outy"/>
|
|
<input name="low" type="float" interfacename="low"/>
|
|
<input name="high" type="float" interfacename="high"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_z" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outz"/>
|
|
<input name="low" type="float" interfacename="low"/>
|
|
<input name="high" type="float" interfacename="high"/>
|
|
</smoothstep>
|
|
<smoothstep name="smoothstep_w" type="float">
|
|
<input name="in" type="float" nodename="separate_in" output="outw"/>
|
|
<input name="low" type="float" interfacename="low"/>
|
|
<input name="high" type="float" interfacename="high"/>
|
|
</smoothstep>
|
|
<combine4 name="combine" type="vector4">
|
|
<input name="in1" type="float" nodename="smoothstep_x"/>
|
|
<input name="in2" type="float" nodename="smoothstep_y"/>
|
|
<input name="in3" type="float" nodename="smoothstep_z"/>
|
|
<input name="in4" type="float" nodename="smoothstep_w"/>
|
|
</combine4>
|
|
<output name="out" type="vector4" nodename="combine"/>
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <safepower>
|
|
Raise incoming half/float/color/vector values to the "in2" power.
|
|
Negative "in1" values will result in negative output values. ie. out = sign(in1)*pow(abs(in1),in2)
|
|
-->
|
|
<nodegraph name="NG_safepower_float" nodedef="ND_safepower_float">
|
|
<sign name="sign_in1" type="float">
|
|
<input name="in" type="float" interfacename="in1" />
|
|
</sign>
|
|
<absval name="abs_in1" type="float">
|
|
<input name="in" type="float" interfacename="in1" />
|
|
</absval>
|
|
<power name="power" type="float">
|
|
<input name="in1" type="float" nodename="abs_in1" />
|
|
<input name="in2" type="float" interfacename="in2" />
|
|
</power>
|
|
<multiply name="safepower" type="float">
|
|
<input name="in1" type="float" nodename="sign_in1" />
|
|
<input name="in2" type="float" nodename="power" />
|
|
</multiply>
|
|
<output name="out" type="float" nodename="safepower" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_safepower_color3" nodedef="ND_safepower_color3">
|
|
<sign name="sign_in1" type="color3">
|
|
<input name="in" type="color3" interfacename="in1" />
|
|
</sign>
|
|
<absval name="abs_in1" type="color3">
|
|
<input name="in" type="color3" interfacename="in1" />
|
|
</absval>
|
|
<power name="power" type="color3">
|
|
<input name="in1" type="color3" nodename="abs_in1" />
|
|
<input name="in2" type="color3" interfacename="in2" />
|
|
</power>
|
|
<multiply name="safepower" type="color3">
|
|
<input name="in1" type="color3" nodename="sign_in1" />
|
|
<input name="in2" type="color3" nodename="power" />
|
|
</multiply>
|
|
<output name="out" type="color3" nodename="safepower" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_safepower_color4" nodedef="ND_safepower_color4">
|
|
<sign name="sign_in1" type="color4">
|
|
<input name="in" type="color4" interfacename="in1" />
|
|
</sign>
|
|
<absval name="abs_in1" type="color4">
|
|
<input name="in" type="color4" interfacename="in1" />
|
|
</absval>
|
|
<power name="power" type="color4">
|
|
<input name="in1" type="color4" nodename="abs_in1" />
|
|
<input name="in2" type="color4" interfacename="in2" />
|
|
</power>
|
|
<multiply name="safepower" type="color4">
|
|
<input name="in1" type="color4" nodename="sign_in1" />
|
|
<input name="in2" type="color4" nodename="power" />
|
|
</multiply>
|
|
<output name="out" type="color4" nodename="safepower" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_safepower_vector2" nodedef="ND_safepower_vector2">
|
|
<sign name="sign_in1" type="vector2">
|
|
<input name="in" type="vector2" interfacename="in1" />
|
|
</sign>
|
|
<absval name="abs_in1" type="vector2">
|
|
<input name="in" type="vector2" interfacename="in1" />
|
|
</absval>
|
|
<power name="power" type="vector2">
|
|
<input name="in1" type="vector2" nodename="abs_in1" />
|
|
<input name="in2" type="vector2" interfacename="in2" />
|
|
</power>
|
|
<multiply name="safepower" type="vector2">
|
|
<input name="in1" type="vector2" nodename="sign_in1" />
|
|
<input name="in2" type="vector2" nodename="power" />
|
|
</multiply>
|
|
<output name="out" type="vector2" nodename="safepower" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_safepower_vector3" nodedef="ND_safepower_vector3">
|
|
<sign name="sign_in1" type="vector3">
|
|
<input name="in" type="vector3" interfacename="in1" />
|
|
</sign>
|
|
<absval name="abs_in1" type="vector3">
|
|
<input name="in" type="vector3" interfacename="in1" />
|
|
</absval>
|
|
<power name="power" type="vector3">
|
|
<input name="in1" type="vector3" nodename="abs_in1" />
|
|
<input name="in2" type="vector3" interfacename="in2" />
|
|
</power>
|
|
<multiply name="safepower" type="vector3">
|
|
<input name="in1" type="vector3" nodename="sign_in1" />
|
|
<input name="in2" type="vector3" nodename="power" />
|
|
</multiply>
|
|
<output name="out" type="vector3" nodename="safepower" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_safepower_vector4" nodedef="ND_safepower_vector4">
|
|
<sign name="sign_in1" type="vector4">
|
|
<input name="in" type="vector4" interfacename="in1" />
|
|
</sign>
|
|
<absval name="abs_in1" type="vector4">
|
|
<input name="in" type="vector4" interfacename="in1" />
|
|
</absval>
|
|
<power name="power" type="vector4">
|
|
<input name="in1" type="vector4" nodename="abs_in1" />
|
|
<input name="in2" type="vector4" interfacename="in2" />
|
|
</power>
|
|
<multiply name="safepower" type="vector4">
|
|
<input name="in1" type="vector4" nodename="sign_in1" />
|
|
<input name="in2" type="vector4" nodename="power" />
|
|
</multiply>
|
|
<output name="out" type="vector4" nodename="safepower" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_safepower_color3FA" nodedef="ND_safepower_color3FA">
|
|
<sign name="sign_in1" type="color3">
|
|
<input name="in" type="color3" interfacename="in1" />
|
|
</sign>
|
|
<absval name="abs_in1" type="color3">
|
|
<input name="in" type="color3" interfacename="in1" />
|
|
</absval>
|
|
<power name="power" type="color3">
|
|
<input name="in1" type="color3" nodename="abs_in1" />
|
|
<input name="in2" type="float" interfacename="in2" />
|
|
</power>
|
|
<multiply name="safepower" type="color3">
|
|
<input name="in1" type="color3" nodename="sign_in1" />
|
|
<input name="in2" type="color3" nodename="power" />
|
|
</multiply>
|
|
<output name="out" type="color3" nodename="safepower" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_safepower_color4FA" nodedef="ND_safepower_color4FA">
|
|
<sign name="sign_in1" type="color4">
|
|
<input name="in" type="color4" interfacename="in1" />
|
|
</sign>
|
|
<absval name="abs_in1" type="color4">
|
|
<input name="in" type="color4" interfacename="in1" />
|
|
</absval>
|
|
<power name="power" type="color4">
|
|
<input name="in1" type="color4" nodename="abs_in1" />
|
|
<input name="in2" type="float" interfacename="in2" />
|
|
</power>
|
|
<multiply name="safepower" type="color4">
|
|
<input name="in1" type="color4" nodename="sign_in1" />
|
|
<input name="in2" type="color4" nodename="power" />
|
|
</multiply>
|
|
<output name="out" type="color4" nodename="safepower" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_safepower_vector2FA" nodedef="ND_safepower_vector2FA">
|
|
<sign name="sign_in1" type="vector2">
|
|
<input name="in" type="vector2" interfacename="in1" />
|
|
</sign>
|
|
<absval name="abs_in1" type="vector2">
|
|
<input name="in" type="vector2" interfacename="in1" />
|
|
</absval>
|
|
<power name="power" type="vector2">
|
|
<input name="in1" type="vector2" nodename="abs_in1" />
|
|
<input name="in2" type="float" interfacename="in2" />
|
|
</power>
|
|
<multiply name="safepower" type="vector2">
|
|
<input name="in1" type="vector2" nodename="sign_in1" />
|
|
<input name="in2" type="vector2" nodename="power" />
|
|
</multiply>
|
|
<output name="out" type="vector2" nodename="safepower" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_safepower_vector3FA" nodedef="ND_safepower_vector3FA">
|
|
<sign name="sign_in1" type="vector3">
|
|
<input name="in" type="vector3" interfacename="in1" />
|
|
</sign>
|
|
<absval name="abs_in1" type="vector3">
|
|
<input name="in" type="vector3" interfacename="in1" />
|
|
</absval>
|
|
<power name="power" type="vector3">
|
|
<input name="in1" type="vector3" nodename="abs_in1" />
|
|
<input name="in2" type="float" interfacename="in2" />
|
|
</power>
|
|
<multiply name="safepower" type="vector3">
|
|
<input name="in1" type="vector3" nodename="sign_in1" />
|
|
<input name="in2" type="vector3" nodename="power" />
|
|
</multiply>
|
|
<output name="out" type="vector3" nodename="safepower" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_safepower_vector4FA" nodedef="ND_safepower_vector4FA">
|
|
<sign name="sign_in1" type="vector4">
|
|
<input name="in" type="vector4" interfacename="in1" />
|
|
</sign>
|
|
<absval name="abs_in1" type="vector4">
|
|
<input name="in" type="vector4" interfacename="in1" />
|
|
</absval>
|
|
<power name="power" type="vector4">
|
|
<input name="in1" type="vector4" nodename="abs_in1" />
|
|
<input name="in2" type="float" interfacename="in2" />
|
|
</power>
|
|
<multiply name="safepower" type="vector4">
|
|
<input name="in1" type="vector4" nodename="sign_in1" />
|
|
<input name="in2" type="vector4" nodename="power" />
|
|
</multiply>
|
|
<output name="out" type="vector4" nodename="safepower" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <contrast>
|
|
Increase or decrease contrast of a float/color value using a linear slope multiplier.
|
|
-->
|
|
<nodegraph name="NG_contrast_float" nodedef="ND_contrast_float">
|
|
<subtract name="N_sub_float" type="float">
|
|
<input name="in1" type="float" interfacename="in" />
|
|
<input name="in2" type="float" interfacename="pivot" />
|
|
</subtract>
|
|
<multiply name="N_mul_float" type="float">
|
|
<input name="in1" type="float" nodename="N_sub_float" />
|
|
<input name="in2" type="float" interfacename="amount" />
|
|
</multiply>
|
|
<add name="N_add_float" type="float">
|
|
<input name="in1" type="float" nodename="N_mul_float" />
|
|
<input name="in2" type="float" interfacename="pivot" />
|
|
</add>
|
|
<output name="out" type="float" nodename="N_add_float" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_contrast_color3" nodedef="ND_contrast_color3">
|
|
<subtract name="N_sub_color3" type="color3">
|
|
<input name="in1" type="color3" interfacename="in" />
|
|
<input name="in2" type="color3" interfacename="pivot" />
|
|
</subtract>
|
|
<multiply name="N_mul_color3" type="color3">
|
|
<input name="in1" type="color3" nodename="N_sub_color3" />
|
|
<input name="in2" type="color3" interfacename="amount" />
|
|
</multiply>
|
|
<add name="N_add_color3" type="color3">
|
|
<input name="in1" type="color3" nodename="N_mul_color3" />
|
|
<input name="in2" type="color3" interfacename="pivot" />
|
|
</add>
|
|
<output name="out" type="color3" nodename="N_add_color3" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_contrast_color4" nodedef="ND_contrast_color4">
|
|
<subtract name="N_sub_color4" type="color4">
|
|
<input name="in1" type="color4" interfacename="in" />
|
|
<input name="in2" type="color4" interfacename="pivot" />
|
|
</subtract>
|
|
<multiply name="N_mul_color4" type="color4">
|
|
<input name="in1" type="color4" nodename="N_sub_color4" />
|
|
<input name="in2" type="color4" interfacename="amount" />
|
|
</multiply>
|
|
<add name="N_add_color4" type="color4">
|
|
<input name="in1" type="color4" nodename="N_mul_color4" />
|
|
<input name="in2" type="color4" interfacename="pivot" />
|
|
</add>
|
|
<output name="out" type="color4" nodename="N_add_color4" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_contrast_vector2" nodedef="ND_contrast_vector2">
|
|
<subtract name="N_sub_vector2" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="in" />
|
|
<input name="in2" type="vector2" interfacename="pivot" />
|
|
</subtract>
|
|
<multiply name="N_mul_vector2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_sub_vector2" />
|
|
<input name="in2" type="vector2" interfacename="amount" />
|
|
</multiply>
|
|
<add name="N_add_vector2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_mul_vector2" />
|
|
<input name="in2" type="vector2" interfacename="pivot" />
|
|
</add>
|
|
<output name="out" type="vector2" nodename="N_add_vector2" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_contrast_vector3" nodedef="ND_contrast_vector3">
|
|
<subtract name="N_sub_vector3" type="vector3">
|
|
<input name="in1" type="vector3" interfacename="in" />
|
|
<input name="in2" type="vector3" interfacename="pivot" />
|
|
</subtract>
|
|
<multiply name="N_mul_vector3" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_sub_vector3" />
|
|
<input name="in2" type="vector3" interfacename="amount" />
|
|
</multiply>
|
|
<add name="N_add_vector3" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_mul_vector3" />
|
|
<input name="in2" type="vector3" interfacename="pivot" />
|
|
</add>
|
|
<output name="out" type="vector3" nodename="N_add_vector3" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_contrast_vector4" nodedef="ND_contrast_vector4">
|
|
<subtract name="N_sub_vector4" type="vector4">
|
|
<input name="in1" type="vector4" interfacename="in" />
|
|
<input name="in2" type="vector4" interfacename="pivot" />
|
|
</subtract>
|
|
<multiply name="N_mul_vector4" type="vector4">
|
|
<input name="in1" type="vector4" nodename="N_sub_vector4" />
|
|
<input name="in2" type="vector4" interfacename="amount" />
|
|
</multiply>
|
|
<add name="N_add_vector4" type="vector4">
|
|
<input name="in1" type="vector4" nodename="N_mul_vector4" />
|
|
<input name="in2" type="vector4" interfacename="pivot" />
|
|
</add>
|
|
<output name="out" type="vector4" nodename="N_add_vector4" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_contrast_color3FA" nodedef="ND_contrast_color3FA">
|
|
<subtract name="N_sub_color3FA" type="color3">
|
|
<input name="in1" type="color3" interfacename="in" />
|
|
<input name="in2" type="float" interfacename="pivot" />
|
|
</subtract>
|
|
<multiply name="N_mul_color3FA" type="color3">
|
|
<input name="in1" type="color3" nodename="N_sub_color3FA" />
|
|
<input name="in2" type="float" interfacename="amount" />
|
|
</multiply>
|
|
<add name="N_add_color3FA" type="color3">
|
|
<input name="in1" type="color3" nodename="N_mul_color3FA" />
|
|
<input name="in2" type="float" interfacename="pivot" />
|
|
</add>
|
|
<output name="out" type="color3" nodename="N_add_color3FA" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_contrast_color4FA" nodedef="ND_contrast_color4FA">
|
|
<subtract name="N_sub_color4FA" type="color4">
|
|
<input name="in1" type="color4" interfacename="in" />
|
|
<input name="in2" type="float" interfacename="pivot" />
|
|
</subtract>
|
|
<multiply name="N_mul_color4FA" type="color4">
|
|
<input name="in1" type="color4" nodename="N_sub_color4FA" />
|
|
<input name="in2" type="float" interfacename="amount" />
|
|
</multiply>
|
|
<add name="N_add_color4FA" type="color4">
|
|
<input name="in1" type="color4" nodename="N_mul_color4FA" />
|
|
<input name="in2" type="float" interfacename="pivot" />
|
|
</add>
|
|
<output name="out" type="color4" nodename="N_add_color4FA" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_contrast_vector2FA" nodedef="ND_contrast_vector2FA">
|
|
<subtract name="N_sub_vector2FA" type="vector2">
|
|
<input name="in1" type="vector2" interfacename="in" />
|
|
<input name="in2" type="float" interfacename="pivot" />
|
|
</subtract>
|
|
<multiply name="N_mul_vector2FA" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_sub_vector2FA" />
|
|
<input name="in2" type="float" interfacename="amount" />
|
|
</multiply>
|
|
<add name="N_add_vector2FA" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_mul_vector2FA" />
|
|
<input name="in2" type="float" interfacename="pivot" />
|
|
</add>
|
|
<output name="out" type="vector2" nodename="N_add_vector2FA" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_contrast_vector3FA" nodedef="ND_contrast_vector3FA">
|
|
<subtract name="N_sub_vector3FA" type="vector3">
|
|
<input name="in1" type="vector3" interfacename="in" />
|
|
<input name="in2" type="float" interfacename="pivot" />
|
|
</subtract>
|
|
<multiply name="N_mul_vector3FA" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_sub_vector3FA" />
|
|
<input name="in2" type="float" interfacename="amount" />
|
|
</multiply>
|
|
<add name="N_add_vector3FA" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_mul_vector3FA" />
|
|
<input name="in2" type="float" interfacename="pivot" />
|
|
</add>
|
|
<output name="out" type="vector3" nodename="N_add_vector3FA" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_contrast_vector4FA" nodedef="ND_contrast_vector4FA">
|
|
<subtract name="N_sub_vector4FA" type="vector4">
|
|
<input name="in1" type="vector4" interfacename="in" />
|
|
<input name="in2" type="float" interfacename="pivot" />
|
|
</subtract>
|
|
<multiply name="N_mul_vector4FA" type="vector4">
|
|
<input name="in1" type="vector4" nodename="N_sub_vector4FA" />
|
|
<input name="in2" type="float" interfacename="amount" />
|
|
</multiply>
|
|
<add name="N_add_vector4FA" type="vector4">
|
|
<input name="in1" type="vector4" nodename="N_mul_vector4FA" />
|
|
<input name="in2" type="float" interfacename="pivot" />
|
|
</add>
|
|
<output name="out" type="vector4" nodename="N_add_vector4FA" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <range>
|
|
Remap a value from one range of float/color/vector values to another, optionally
|
|
applying a gamma correction in the middle, and optionally clamping output values.
|
|
-->
|
|
<nodegraph name="NG_range_float" nodedef="ND_range_float">
|
|
<remap name="N_remap1_float" type="float">
|
|
<input name="in" type="float" interfacename="in" />
|
|
<input name="inlow" type="float" interfacename="inlow" />
|
|
<input name="inhigh" type="float" interfacename="inhigh" />
|
|
<input name="outlow" type="float" value="0.0" />
|
|
<input name="outhigh" type="float" value="1.0" />
|
|
</remap>
|
|
<divide name="N_recip_float" type="float">
|
|
<input name="in1" type="float" value="1.0" />
|
|
<input name="in2" type="float" interfacename="gamma" />
|
|
</divide>
|
|
<absval name="N_abs_float" type="float">
|
|
<input name="in" type="float" nodename="N_remap1_float" />
|
|
</absval>
|
|
<power name="N_pow_float" type="float">
|
|
<input name="in1" type="float" nodename="N_abs_float" />
|
|
<input name="in2" type="float" nodename="N_recip_float" />
|
|
</power>
|
|
<sign name="N_sign_float" type="float">
|
|
<input name="in" type="float" nodename="N_remap1_float" />
|
|
</sign>
|
|
<multiply name="N_gamma_float" type="float">
|
|
<input name="in1" type="float" nodename="N_pow_float" />
|
|
<input name="in2" type="float" nodename="N_sign_float" />
|
|
</multiply>
|
|
<remap name="N_remap2_float" type="float">
|
|
<input name="in" type="float" nodename="N_gamma_float" />
|
|
<input name="inlow" type="float" value="0.0" />
|
|
<input name="inhigh" type="float" value="1.0" />
|
|
<input name="outlow" type="float" interfacename="outlow" />
|
|
<input name="outhigh" type="float" interfacename="outhigh" />
|
|
</remap>
|
|
<clamp name="N_clamp_float" type="float">
|
|
<input name="in" type="float" nodename="N_remap2_float" />
|
|
<input name="low" type="float" interfacename="outlow" />
|
|
<input name="high" type="float" interfacename="outhigh" />
|
|
</clamp>
|
|
<ifequal name="N_switch_float" type="float">
|
|
<input name="in1" type="float" nodename="N_clamp_float" />
|
|
<input name="in2" type="float" nodename="N_remap2_float" />
|
|
<input name="value1" type="boolean" interfacename="doclamp" />
|
|
<input name="value2" type="boolean" value="true" />
|
|
</ifequal>
|
|
<output name="out" type="float" nodename="N_switch_float" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_range_color3" nodedef="ND_range_color3">
|
|
<remap name="N_remap1_color3" type="color3">
|
|
<input name="in" type="color3" interfacename="in" />
|
|
<input name="inlow" type="color3" interfacename="inlow" />
|
|
<input name="inhigh" type="color3" interfacename="inhigh" />
|
|
<input name="outlow" type="color3" value="0.0, 0.0, 0.0" />
|
|
<input name="outhigh" type="color3" value="1.0, 1.0, 1.0" />
|
|
</remap>
|
|
<divide name="N_recip_color3" type="color3">
|
|
<input name="in1" type="color3" value="1.0, 1.0, 1.0" />
|
|
<input name="in2" type="color3" interfacename="gamma" />
|
|
</divide>
|
|
<absval name="N_abs_color3" type="color3">
|
|
<input name="in" type="color3" nodename="N_remap1_color3" />
|
|
</absval>
|
|
<power name="N_pow_color3" type="color3">
|
|
<input name="in1" type="color3" nodename="N_abs_color3" />
|
|
<input name="in2" type="color3" nodename="N_recip_color3" />
|
|
</power>
|
|
<sign name="N_sign_color3" type="color3">
|
|
<input name="in" type="color3" nodename="N_remap1_color3" />
|
|
</sign>
|
|
<multiply name="N_gamma_color3" type="color3">
|
|
<input name="in1" type="color3" nodename="N_pow_color3" />
|
|
<input name="in2" type="color3" nodename="N_sign_color3" />
|
|
</multiply>
|
|
<remap name="N_remap2_color3" type="color3">
|
|
<input name="in" type="color3" nodename="N_gamma_color3" />
|
|
<input name="inlow" type="color3" value="0.0, 0.0, 0.0" />
|
|
<input name="inhigh" type="color3" value="1.0, 1.0, 1.0" />
|
|
<input name="outlow" type="color3" interfacename="outlow" />
|
|
<input name="outhigh" type="color3" interfacename="outhigh" />
|
|
</remap>
|
|
<clamp name="N_clamp_color3" type="color3">
|
|
<input name="in" type="color3" nodename="N_remap2_color3" />
|
|
<input name="low" type="color3" interfacename="outlow" />
|
|
<input name="high" type="color3" interfacename="outhigh" />
|
|
</clamp>
|
|
<ifequal name="N_switch_color3" type="color3">
|
|
<input name="in1" type="color3" nodename="N_clamp_color3" />
|
|
<input name="in2" type="color3" nodename="N_remap2_color3" />
|
|
<input name="value1" type="boolean" interfacename="doclamp" />
|
|
<input name="value2" type="boolean" value="true" />
|
|
</ifequal>
|
|
<output name="out" type="color3" nodename="N_switch_color3" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_range_color4" nodedef="ND_range_color4">
|
|
<remap name="N_remap1_color4" type="color4">
|
|
<input name="in" type="color4" interfacename="in" />
|
|
<input name="inlow" type="color4" interfacename="inlow" />
|
|
<input name="inhigh" type="color4" interfacename="inhigh" />
|
|
<input name="outlow" type="color4" value="0.0, 0.0, 0.0, 0.0" />
|
|
<input name="outhigh" type="color4" value="1.0, 1.0, 1.0, 1.0" />
|
|
</remap>
|
|
<divide name="N_recip_color4" type="color4">
|
|
<input name="in1" type="color4" value="1.0, 1.0, 1.0, 1.0" />
|
|
<input name="in2" type="color4" interfacename="gamma" />
|
|
</divide>
|
|
<absval name="N_abs_color4" type="color4">
|
|
<input name="in" type="color4" nodename="N_remap1_color4" />
|
|
</absval>
|
|
<power name="N_pow_color4" type="color4">
|
|
<input name="in1" type="color4" nodename="N_abs_color4" />
|
|
<input name="in2" type="color4" nodename="N_recip_color4" />
|
|
</power>
|
|
<sign name="N_sign_color4" type="color4">
|
|
<input name="in" type="color4" nodename="N_remap1_color4" />
|
|
</sign>
|
|
<multiply name="N_gamma_color4" type="color4">
|
|
<input name="in1" type="color4" nodename="N_pow_color4" />
|
|
<input name="in2" type="color4" nodename="N_sign_color4" />
|
|
</multiply>
|
|
<remap name="N_remap2_color4" type="color4">
|
|
<input name="in" type="color4" nodename="N_gamma_color4" />
|
|
<input name="inlow" type="color4" value="0.0, 0.0, 0.0, 0.0" />
|
|
<input name="inhigh" type="color4" value="1.0, 1.0, 1.0, 1.0" />
|
|
<input name="outlow" type="color4" interfacename="outlow" />
|
|
<input name="outhigh" type="color4" interfacename="outhigh" />
|
|
</remap>
|
|
<clamp name="N_clamp_color4" type="color4">
|
|
<input name="in" type="color4" nodename="N_remap2_color4" />
|
|
<input name="low" type="color4" interfacename="outlow" />
|
|
<input name="high" type="color4" interfacename="outhigh" />
|
|
</clamp>
|
|
<ifequal name="N_switch_color4" type="color4">
|
|
<input name="in1" type="color4" nodename="N_clamp_color4" />
|
|
<input name="in2" type="color4" nodename="N_remap2_color4" />
|
|
<input name="value1" type="boolean" interfacename="doclamp" />
|
|
<input name="value2" type="boolean" value="true" />
|
|
</ifequal>
|
|
<output name="out" type="color4" nodename="N_switch_color4" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_range_vector2" nodedef="ND_range_vector2">
|
|
<remap name="N_remap1_vector2" type="vector2">
|
|
<input name="in" type="vector2" interfacename="in" />
|
|
<input name="inlow" type="vector2" interfacename="inlow" />
|
|
<input name="inhigh" type="vector2" interfacename="inhigh" />
|
|
<input name="outlow" type="vector2" value="0.0, 0.0" />
|
|
<input name="outhigh" type="vector2" value="1.0, 1.0" />
|
|
</remap>
|
|
<divide name="N_recip_vector2" type="vector2">
|
|
<input name="in1" type="vector2" value="1.0, 1.0" />
|
|
<input name="in2" type="vector2" interfacename="gamma" />
|
|
</divide>
|
|
<absval name="N_abs_vector2" type="vector2">
|
|
<input name="in" type="vector2" nodename="N_remap1_vector2" />
|
|
</absval>
|
|
<power name="N_pow_vector2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_abs_vector2" />
|
|
<input name="in2" type="vector2" nodename="N_recip_vector2" />
|
|
</power>
|
|
<sign name="N_sign_vector2" type="vector2">
|
|
<input name="in" type="vector2" nodename="N_remap1_vector2" />
|
|
</sign>
|
|
<multiply name="N_gamma_vector2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_pow_vector2" />
|
|
<input name="in2" type="vector2" nodename="N_sign_vector2" />
|
|
</multiply>
|
|
<remap name="N_remap2_vector2" type="vector2">
|
|
<input name="in" type="vector2" nodename="N_gamma_vector2" />
|
|
<input name="inlow" type="vector2" value="0.0, 0.0" />
|
|
<input name="inhigh" type="vector2" value="1.0, 1.0" />
|
|
<input name="outlow" type="vector2" interfacename="outlow" />
|
|
<input name="outhigh" type="vector2" interfacename="outhigh" />
|
|
</remap>
|
|
<clamp name="N_clamp_vector2" type="vector2">
|
|
<input name="in" type="vector2" nodename="N_remap2_vector2" />
|
|
<input name="low" type="vector2" interfacename="outlow" />
|
|
<input name="high" type="vector2" interfacename="outhigh" />
|
|
</clamp>
|
|
<ifequal name="N_switch_vector2" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_clamp_vector2" />
|
|
<input name="in2" type="vector2" nodename="N_remap2_vector2" />
|
|
<input name="value1" type="boolean" interfacename="doclamp" />
|
|
<input name="value2" type="boolean" value="true" />
|
|
</ifequal>
|
|
<output name="out" type="vector2" nodename="N_switch_vector2" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_range_vector3" nodedef="ND_range_vector3">
|
|
<remap name="N_remap1_vector3" type="vector3">
|
|
<input name="in" type="vector3" interfacename="in" />
|
|
<input name="inlow" type="vector3" interfacename="inlow" />
|
|
<input name="inhigh" type="vector3" interfacename="inhigh" />
|
|
<input name="outlow" type="vector3" value="0.0, 0.0, 0.0" />
|
|
<input name="outhigh" type="vector3" value="1.0, 1.0, 1.0" />
|
|
</remap>
|
|
<divide name="N_recip_vector3" type="vector3">
|
|
<input name="in1" type="vector3" value="1.0, 1.0, 1.0" />
|
|
<input name="in2" type="vector3" interfacename="gamma" />
|
|
</divide>
|
|
<absval name="N_abs_vector3" type="vector3">
|
|
<input name="in" type="vector3" nodename="N_remap1_vector3" />
|
|
</absval>
|
|
<power name="N_pow_vector3" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_abs_vector3" />
|
|
<input name="in2" type="vector3" nodename="N_recip_vector3" />
|
|
</power>
|
|
<sign name="N_sign_vector3" type="vector3">
|
|
<input name="in" type="vector3" nodename="N_remap1_vector3" />
|
|
</sign>
|
|
<multiply name="N_gamma_vector3" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_pow_vector3" />
|
|
<input name="in2" type="vector3" nodename="N_sign_vector3" />
|
|
</multiply>
|
|
<remap name="N_remap2_vector3" type="vector3">
|
|
<input name="in" type="vector3" nodename="N_gamma_vector3" />
|
|
<input name="inlow" type="vector3" value="0.0, 0.0, 0.0" />
|
|
<input name="inhigh" type="vector3" value="1.0, 1.0, 1.0" />
|
|
<input name="outlow" type="vector3" interfacename="outlow" />
|
|
<input name="outhigh" type="vector3" interfacename="outhigh" />
|
|
</remap>
|
|
<clamp name="N_clamp_vector3" type="vector3">
|
|
<input name="in" type="vector3" nodename="N_remap2_vector3" />
|
|
<input name="low" type="vector3" interfacename="outlow" />
|
|
<input name="high" type="vector3" interfacename="outhigh" />
|
|
</clamp>
|
|
<ifequal name="N_switch_vector3" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_clamp_vector3" />
|
|
<input name="in2" type="vector3" nodename="N_remap2_vector3" />
|
|
<input name="value1" type="boolean" interfacename="doclamp" />
|
|
<input name="value2" type="boolean" value="true" />
|
|
</ifequal>
|
|
<output name="out" type="vector3" nodename="N_switch_vector3" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_range_vector4" nodedef="ND_range_vector4">
|
|
<remap name="N_remap1_vector4" type="vector4">
|
|
<input name="in" type="vector4" interfacename="in" />
|
|
<input name="inlow" type="vector4" interfacename="inlow" />
|
|
<input name="inhigh" type="vector4" interfacename="inhigh" />
|
|
<input name="outlow" type="vector4" value="0.0, 0.0, 0.0, 0.0" />
|
|
<input name="outhigh" type="vector4" value="1.0, 1.0, 1.0, 1.0" />
|
|
</remap>
|
|
<divide name="N_recip_vector4" type="vector4">
|
|
<input name="in1" type="vector4" value="1.0, 1.0, 1.0, 1.0" />
|
|
<input name="in2" type="vector4" interfacename="gamma" />
|
|
</divide>
|
|
<absval name="N_abs_vector4" type="vector4">
|
|
<input name="in" type="vector4" nodename="N_remap1_vector4" />
|
|
</absval>
|
|
<power name="N_pow_vector4" type="vector4">
|
|
<input name="in1" type="vector4" nodename="N_abs_vector4" />
|
|
<input name="in2" type="vector4" nodename="N_recip_vector4" />
|
|
</power>
|
|
<sign name="N_sign_vector4" type="vector4">
|
|
<input name="in" type="vector4" nodename="N_remap1_vector4" />
|
|
</sign>
|
|
<multiply name="N_gamma_vector4" type="vector4">
|
|
<input name="in1" type="vector4" nodename="N_pow_vector4" />
|
|
<input name="in2" type="vector4" nodename="N_sign_vector4" />
|
|
</multiply>
|
|
<remap name="N_remap2_vector4" type="vector4">
|
|
<input name="in" type="vector4" nodename="N_gamma_vector4" />
|
|
<input name="inlow" type="vector4" value="0.0, 0.0, 0.0, 0.0" />
|
|
<input name="inhigh" type="vector4" value="1.0, 1.0, 1.0, 1.0" />
|
|
<input name="outlow" type="vector4" interfacename="outlow" />
|
|
<input name="outhigh" type="vector4" interfacename="outhigh" />
|
|
</remap>
|
|
<clamp name="N_clamp_vector4" type="vector4">
|
|
<input name="in" type="vector4" nodename="N_remap2_vector4" />
|
|
<input name="low" type="vector4" interfacename="outlow" />
|
|
<input name="high" type="vector4" interfacename="outhigh" />
|
|
</clamp>
|
|
<ifequal name="N_switch_vector4" type="vector4">
|
|
<input name="in1" type="vector4" nodename="N_clamp_vector4" />
|
|
<input name="in2" type="vector4" nodename="N_remap2_vector4" />
|
|
<input name="value1" type="boolean" interfacename="doclamp" />
|
|
<input name="value2" type="boolean" value="true" />
|
|
</ifequal>
|
|
<output name="out" type="vector4" nodename="N_switch_vector4" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_range_color3FA" nodedef="ND_range_color3FA">
|
|
<remap name="N_remap1_color3FA" type="color3">
|
|
<input name="in" type="color3" interfacename="in" />
|
|
<input name="inlow" type="float" interfacename="inlow" />
|
|
<input name="inhigh" type="float" interfacename="inhigh" />
|
|
<input name="outlow" type="float" value="0.0" />
|
|
<input name="outhigh" type="float" value="1.0" />
|
|
</remap>
|
|
<divide name="N_recip_color3FA" type="float">
|
|
<input name="in1" type="float" value="1.0" />
|
|
<input name="in2" type="float" interfacename="gamma" />
|
|
</divide>
|
|
<absval name="N_abs_color3FA" type="color3">
|
|
<input name="in" type="color3" nodename="N_remap1_color3FA" />
|
|
</absval>
|
|
<power name="N_pow_color3FA" type="color3">
|
|
<input name="in1" type="color3" nodename="N_abs_color3FA" />
|
|
<input name="in2" type="float" nodename="N_recip_color3FA" />
|
|
</power>
|
|
<sign name="N_sign_color3FA" type="color3">
|
|
<input name="in" type="color3" nodename="N_remap1_color3FA" />
|
|
</sign>
|
|
<multiply name="N_gamma_color3FA" type="color3">
|
|
<input name="in1" type="color3" nodename="N_pow_color3FA" />
|
|
<input name="in2" type="color3" nodename="N_sign_color3FA" />
|
|
</multiply>
|
|
<remap name="N_remap2_color3FA" type="color3">
|
|
<input name="in" type="color3" nodename="N_gamma_color3FA" />
|
|
<input name="inlow" type="float" value="0.0" />
|
|
<input name="inhigh" type="float" value="1.0" />
|
|
<input name="outlow" type="float" interfacename="outlow" />
|
|
<input name="outhigh" type="float" interfacename="outhigh" />
|
|
</remap>
|
|
<clamp name="N_clamp_color3FA" type="color3">
|
|
<input name="in" type="color3" nodename="N_remap2_color3FA" />
|
|
<input name="low" type="float" interfacename="outlow" />
|
|
<input name="high" type="float" interfacename="outhigh" />
|
|
</clamp>
|
|
<ifequal name="N_switch_color3FA" type="color3">
|
|
<input name="in1" type="color3" nodename="N_clamp_color3FA" />
|
|
<input name="in2" type="color3" nodename="N_remap2_color3FA" />
|
|
<input name="value1" type="boolean" interfacename="doclamp" />
|
|
<input name="value2" type="boolean" value="true" />
|
|
</ifequal>
|
|
<output name="out" type="color3" nodename="N_switch_color3FA" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_range_color4FA" nodedef="ND_range_color4FA">
|
|
<remap name="N_remap1_color4FA" type="color4">
|
|
<input name="in" type="color4" interfacename="in" />
|
|
<input name="inlow" type="float" interfacename="inlow" />
|
|
<input name="inhigh" type="float" interfacename="inhigh" />
|
|
<input name="outlow" type="float" value="0.0" />
|
|
<input name="outhigh" type="float" value="1.0" />
|
|
</remap>
|
|
<divide name="N_recip_color4FA" type="float">
|
|
<input name="in1" type="float" value="1.0" />
|
|
<input name="in2" type="float" interfacename="gamma" />
|
|
</divide>
|
|
<absval name="N_abs_color4FA" type="color4">
|
|
<input name="in" type="color4" nodename="N_remap1_color4FA" />
|
|
</absval>
|
|
<power name="N_pow_color4FA" type="color4">
|
|
<input name="in1" type="color4" nodename="N_abs_color4FA" />
|
|
<input name="in2" type="float" nodename="N_recip_color4FA" />
|
|
</power>
|
|
<sign name="N_sign_color4FA" type="color4">
|
|
<input name="in" type="color4" nodename="N_remap1_color4FA" />
|
|
</sign>
|
|
<multiply name="N_gamma_color4FA" type="color4">
|
|
<input name="in1" type="color4" nodename="N_pow_color4FA" />
|
|
<input name="in2" type="color4" nodename="N_sign_color4FA" />
|
|
</multiply>
|
|
<remap name="N_remap2_color4FA" type="color4">
|
|
<input name="in" type="color4" nodename="N_gamma_color4FA" />
|
|
<input name="inlow" type="float" value="0.0" />
|
|
<input name="inhigh" type="float" value="1.0" />
|
|
<input name="outlow" type="float" interfacename="outlow" />
|
|
<input name="outhigh" type="float" interfacename="outhigh" />
|
|
</remap>
|
|
<clamp name="N_clamp_color4FA" type="color4">
|
|
<input name="in" type="color4" nodename="N_remap2_color4FA" />
|
|
<input name="low" type="float" interfacename="outlow" />
|
|
<input name="high" type="float" interfacename="outhigh" />
|
|
</clamp>
|
|
<ifequal name="N_switch_color4FA" type="color4">
|
|
<input name="in1" type="color4" nodename="N_clamp_color4FA" />
|
|
<input name="in2" type="color4" nodename="N_remap2_color4FA" />
|
|
<input name="value1" type="boolean" interfacename="doclamp" />
|
|
<input name="value2" type="boolean" value="true" />
|
|
</ifequal>
|
|
<output name="out" type="color4" nodename="N_switch_color4FA" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_range_vector2FA" nodedef="ND_range_vector2FA">
|
|
<remap name="N_remap1_vector2FA" type="vector2">
|
|
<input name="in" type="vector2" interfacename="in" />
|
|
<input name="inlow" type="float" interfacename="inlow" />
|
|
<input name="inhigh" type="float" interfacename="inhigh" />
|
|
<input name="outlow" type="float" value="0.0" />
|
|
<input name="outhigh" type="float" value="1.0" />
|
|
</remap>
|
|
<divide name="N_recip_vector2FA" type="float">
|
|
<input name="in1" type="float" value="1.0" />
|
|
<input name="in2" type="float" interfacename="gamma" />
|
|
</divide>
|
|
<absval name="N_abs_vector2FA" type="vector2">
|
|
<input name="in" type="vector2" nodename="N_remap1_vector2FA" />
|
|
</absval>
|
|
<power name="N_pow_vector2FA" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_abs_vector2FA" />
|
|
<input name="in2" type="float" nodename="N_recip_vector2FA" />
|
|
</power>
|
|
<sign name="N_sign_vector2FA" type="vector2">
|
|
<input name="in" type="vector2" nodename="N_remap1_vector2FA" />
|
|
</sign>
|
|
<multiply name="N_gamma_vector2FA" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_pow_vector2FA" />
|
|
<input name="in2" type="vector2" nodename="N_sign_vector2FA" />
|
|
</multiply>
|
|
<remap name="N_remap2_vector2FA" type="vector2">
|
|
<input name="in" type="vector2" nodename="N_gamma_vector2FA" />
|
|
<input name="inlow" type="float" value="0.0" />
|
|
<input name="inhigh" type="float" value="1.0" />
|
|
<input name="outlow" type="float" interfacename="outlow" />
|
|
<input name="outhigh" type="float" interfacename="outhigh" />
|
|
</remap>
|
|
<clamp name="N_clamp_vector2FA" type="vector2">
|
|
<input name="in" type="vector2" nodename="N_remap2_vector2FA" />
|
|
<input name="low" type="float" interfacename="outlow" />
|
|
<input name="high" type="float" interfacename="outhigh" />
|
|
</clamp>
|
|
<ifequal name="N_switch_vector2FA" type="vector2">
|
|
<input name="in1" type="vector2" nodename="N_clamp_vector2FA" />
|
|
<input name="in2" type="vector2" nodename="N_remap2_vector2FA" />
|
|
<input name="value1" type="boolean" interfacename="doclamp" />
|
|
<input name="value2" type="boolean" value="true" />
|
|
</ifequal>
|
|
<output name="out" type="vector2" nodename="N_switch_vector2FA" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_range_vector3FA" nodedef="ND_range_vector3FA">
|
|
<remap name="N_remap1_vector3FA" type="vector3">
|
|
<input name="in" type="vector3" interfacename="in" />
|
|
<input name="inlow" type="float" interfacename="inlow" />
|
|
<input name="inhigh" type="float" interfacename="inhigh" />
|
|
<input name="outlow" type="float" value="0.0" />
|
|
<input name="outhigh" type="float" value="1.0" />
|
|
</remap>
|
|
<divide name="N_recip_vector3FA" type="float">
|
|
<input name="in1" type="float" value="1.0" />
|
|
<input name="in2" type="float" interfacename="gamma" />
|
|
</divide>
|
|
<absval name="N_abs_vector3FA" type="vector3">
|
|
<input name="in" type="vector3" nodename="N_remap1_vector3FA" />
|
|
</absval>
|
|
<power name="N_pow_vector3FA" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_abs_vector3FA" />
|
|
<input name="in2" type="float" nodename="N_recip_vector3FA" />
|
|
</power>
|
|
<sign name="N_sign_vector3FA" type="vector3">
|
|
<input name="in" type="vector3" nodename="N_remap1_vector3FA" />
|
|
</sign>
|
|
<multiply name="N_gamma_vector3FA" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_pow_vector3FA" />
|
|
<input name="in2" type="vector3" nodename="N_sign_vector3FA" />
|
|
</multiply>
|
|
<remap name="N_remap2_vector3FA" type="vector3">
|
|
<input name="in" type="vector3" nodename="N_gamma_vector3FA" />
|
|
<input name="inlow" type="float" value="0.0" />
|
|
<input name="inhigh" type="float" value="1.0" />
|
|
<input name="outlow" type="float" interfacename="outlow" />
|
|
<input name="outhigh" type="float" interfacename="outhigh" />
|
|
</remap>
|
|
<clamp name="N_clamp_vector3FA" type="vector3">
|
|
<input name="in" type="vector3" nodename="N_remap2_vector3FA" />
|
|
<input name="low" type="float" interfacename="outlow" />
|
|
<input name="high" type="float" interfacename="outhigh" />
|
|
</clamp>
|
|
<ifequal name="N_switch_vector3FA" type="vector3">
|
|
<input name="in1" type="vector3" nodename="N_clamp_vector3FA" />
|
|
<input name="in2" type="vector3" nodename="N_remap2_vector3FA" />
|
|
<input name="value1" type="boolean" interfacename="doclamp" />
|
|
<input name="value2" type="boolean" value="true" />
|
|
</ifequal>
|
|
<output name="out" type="vector3" nodename="N_switch_vector3FA" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_range_vector4FA" nodedef="ND_range_vector4FA">
|
|
<remap name="N_remap1_vector4FA" type="vector4">
|
|
<input name="in" type="vector4" interfacename="in" />
|
|
<input name="inlow" type="float" interfacename="inlow" />
|
|
<input name="inhigh" type="float" interfacename="inhigh" />
|
|
<input name="outlow" type="float" value="0.0" />
|
|
<input name="outhigh" type="float" value="1.0" />
|
|
</remap>
|
|
<divide name="N_recip_vector4FA" type="float">
|
|
<input name="in1" type="float" value="1.0" />
|
|
<input name="in2" type="float" interfacename="gamma" />
|
|
</divide>
|
|
<absval name="N_abs_vector4FA" type="vector4">
|
|
<input name="in" type="vector4" nodename="N_remap1_vector4FA" />
|
|
</absval>
|
|
<power name="N_pow_vector4FA" type="vector4">
|
|
<input name="in1" type="vector4" nodename="N_abs_vector4FA" />
|
|
<input name="in2" type="float" nodename="N_recip_vector4FA" />
|
|
</power>
|
|
<sign name="N_sign_vector4FA" type="vector4">
|
|
<input name="in" type="vector4" nodename="N_remap1_vector4FA" />
|
|
</sign>
|
|
<multiply name="N_gamma_vector4FA" type="vector4">
|
|
<input name="in1" type="vector4" nodename="N_pow_vector4FA" />
|
|
<input name="in2" type="vector4" nodename="N_sign_vector4FA" />
|
|
</multiply>
|
|
<remap name="N_remap2_vector4FA" type="vector4">
|
|
<input name="in" type="vector4" nodename="N_gamma_vector4FA" />
|
|
<input name="inlow" type="float" value="0.0" />
|
|
<input name="inhigh" type="float" value="1.0" />
|
|
<input name="outlow" type="float" interfacename="outlow" />
|
|
<input name="outhigh" type="float" interfacename="outhigh" />
|
|
</remap>
|
|
<clamp name="N_clamp_vector4FA" type="vector4">
|
|
<input name="in" type="vector4" nodename="N_remap2_vector4FA" />
|
|
<input name="low" type="float" interfacename="outlow" />
|
|
<input name="high" type="float" interfacename="outhigh" />
|
|
</clamp>
|
|
<ifequal name="N_switch_vector4FA" type="vector4">
|
|
<input name="in1" type="vector4" nodename="N_clamp_vector4FA" />
|
|
<input name="in2" type="vector4" nodename="N_remap2_vector4FA" />
|
|
<input name="value1" type="boolean" interfacename="doclamp" />
|
|
<input name="value2" type="boolean" value="true" />
|
|
</ifequal>
|
|
<output name="out" type="vector4" nodename="N_switch_vector4FA" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <hsvadjust>
|
|
Adjust the hue, saturation and value of an RGB color by converting the input color
|
|
to HSV, adding amount.x to the hue, multiplying the saturation by amount.y,
|
|
multiplying the value by amount.z, then converting back to RGB.
|
|
-->
|
|
<nodegraph name="NG_hsvadjust_color3" nodedef="ND_hsvadjust_color3">
|
|
<rgbtohsv name="N_inhsv_color3" type="color3">
|
|
<input name="in" type="color3" interfacename="in" />
|
|
</rgbtohsv>
|
|
<convert name="N_camount_color3" type="color3">
|
|
<input name="in" type="vector3" interfacename="amount" />
|
|
</convert>
|
|
<multiply name="N_hchans_color3" type="color3">
|
|
<input name="in1" type="color3" nodename="N_camount_color3" />
|
|
<input name="in2" type="color3" value="1.0, 0.0, 0.0" />
|
|
</multiply>
|
|
<multiply name="N_tmp1_color3" type="color3">
|
|
<input name="in1" type="color3" nodename="N_camount_color3" />
|
|
<input name="in2" type="color3" value="0.0, 1.0, 1.0" />
|
|
</multiply>
|
|
<add name="N_svchans_color3" type="color3">
|
|
<input name="in1" type="color3" nodename="N_tmp1_color3" />
|
|
<input name="in2" type="color3" value="1.0, 0.0, 0.0" />
|
|
</add>
|
|
<add name="N_tmp2_color3" type="color3">
|
|
<input name="in1" type="color3" nodename="N_inhsv_color3" />
|
|
<input name="in2" type="color3" nodename="N_hchans_color3" />
|
|
</add>
|
|
<multiply name="N_tmp3_color3" type="color3">
|
|
<input name="in1" type="color3" nodename="N_tmp2_color3" />
|
|
<input name="in2" type="color3" nodename="N_svchans_color3" />
|
|
</multiply>
|
|
<hsvtorgb name="N_torgb_color3" type="color3">
|
|
<input name="in" type="color3" nodename="N_tmp3_color3" />
|
|
</hsvtorgb>
|
|
<output name="out" type="color3" nodename="N_torgb_color3" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_hsvadjust_color4" nodedef="ND_hsvadjust_color4">
|
|
<rgbtohsv name="N_inhsv_color4" type="color4">
|
|
<input name="in" type="color4" interfacename="in" />
|
|
</rgbtohsv>
|
|
<convert name="N_camt_color3" type="color3">
|
|
<input name="in" type="vector3" interfacename="amount" />
|
|
</convert>
|
|
<convert name="N_camount_color4" type="color4">
|
|
<input name="in" type="color3" nodename="N_camt_color3" />
|
|
</convert>
|
|
<multiply name="N_hchans_color4" type="color4">
|
|
<input name="in1" type="color4" nodename="N_camount_color4" />
|
|
<input name="in2" type="color4" value="1.0, 0.0, 0.0, 0.0" />
|
|
</multiply>
|
|
<multiply name="N_tmp1_color4" type="color4">
|
|
<input name="in1" type="color4" nodename="N_camount_color4" />
|
|
<input name="in2" type="color4" value="0.0, 1.0, 1.0, 0.0" />
|
|
</multiply>
|
|
<add name="N_svchans_color4" type="color4">
|
|
<input name="in1" type="color4" nodename="N_tmp1_color4" />
|
|
<input name="in2" type="color4" value="1.0, 0.0, 0.0, 1.0" />
|
|
</add>
|
|
<add name="N_tmp2_color4" type="color4">
|
|
<input name="in1" type="color4" nodename="N_inhsv_color4" />
|
|
<input name="in2" type="color4" nodename="N_hchans_color4" />
|
|
</add>
|
|
<multiply name="N_tmp3_color4" type="color4">
|
|
<input name="in1" type="color4" nodename="N_tmp2_color4" />
|
|
<input name="in2" type="color4" nodename="N_svchans_color4" />
|
|
</multiply>
|
|
<hsvtorgb name="N_torgb_color4" type="color4">
|
|
<input name="in" type="color4" nodename="N_tmp3_color4" />
|
|
</hsvtorgb>
|
|
<output name="out" type="color4" nodename="N_torgb_color4" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <saturate>
|
|
Adjust the saturation of a color using a linear interpolation between the incoming
|
|
color and the grayscale luminance of the input computed using the provided luma
|
|
coefficients; the alpha channel will be unchanged if present.
|
|
-->
|
|
<nodegraph name="NG_saturate_color3" nodedef="ND_saturate_color3">
|
|
<luminance name="N_gray_color3" type="color3">
|
|
<input name="in" type="color3" interfacename="in" />
|
|
<input name="lumacoeffs" type="color3" interfacename="lumacoeffs" />
|
|
</luminance>
|
|
<mix name="N_mix_color3" type="color3">
|
|
<input name="bg" type="color3" nodename="N_gray_color3" />
|
|
<input name="fg" type="color3" interfacename="in" />
|
|
<input name="mix" type="float" interfacename="amount" />
|
|
</mix>
|
|
<output name="out" type="color3" nodename="N_mix_color3" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_saturate_color4" nodedef="ND_saturate_color4">
|
|
<luminance name="N_gray_color4" type="color4">
|
|
<input name="in" type="color4" interfacename="in" />
|
|
<input name="lumacoeffs" type="color3" interfacename="lumacoeffs" />
|
|
</luminance>
|
|
<mix name="N_mix_color4" type="color4">
|
|
<input name="bg" type="color4" nodename="N_gray_color4" />
|
|
<input name="fg" type="color4" interfacename="in" />
|
|
<input name="mix" type="float" interfacename="amount" />
|
|
</mix>
|
|
<output name="out" type="color4" nodename="N_mix_color4" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Node: <colorcorrect>
|
|
Combines various adjustment nodes into one, artist-friendly color correction node.
|
|
-->
|
|
<nodegraph name="NG_colorcorrect_color3" nodedef="ND_colorcorrect_color3">
|
|
<multiply name="N_exposure" type="color3">
|
|
<input name="in1" type="color3" nodename="N_contrast" />
|
|
<input name="in2" type="float" nodename="N_exposurepwr" />
|
|
</multiply>
|
|
<contrast name="N_contrast" type="color3">
|
|
<input name="in" type="color3" nodename="N_gain" />
|
|
<input name="amount" type="float" interfacename="contrast" />
|
|
<input name="pivot" type="float" interfacename="contrastpivot" />
|
|
</contrast>
|
|
<power name="N_exposurepwr" type="float">
|
|
<input name="in2" type="float" interfacename="exposure" />
|
|
<input name="in1" type="float" value="2" />
|
|
</power>
|
|
<multiply name="N_gain" type="color3">
|
|
<input name="in1" type="color3" nodename="N_liftadd" />
|
|
<input name="in2" type="float" interfacename="gain" />
|
|
</multiply>
|
|
<add name="N_liftadd" type="color3">
|
|
<input name="in1" type="color3" nodename="N_liftmult" />
|
|
<input name="in2" type="float" interfacename="lift" />
|
|
</add>
|
|
<multiply name="N_liftmult" type="color3">
|
|
<input name="in1" type="color3" nodename="N_gamma" />
|
|
<input name="in2" type="float" nodename="N_liftsubtract" />
|
|
</multiply>
|
|
<range name="N_gamma" type="color3">
|
|
<input name="in" type="color3" nodename="N_saturation" />
|
|
<input name="gamma" type="float" interfacename="gamma" />
|
|
<input name="inlow" type="float" value="0" />
|
|
<input name="inhigh" type="float" value="1" />
|
|
<input name="outlow" type="float" value="0" />
|
|
<input name="outhigh" type="float" value="1" />
|
|
<input name="doclamp" type="boolean" value="false" />
|
|
</range>
|
|
<subtract name="N_liftsubtract" type="float">
|
|
<input name="in2" type="float" interfacename="lift" />
|
|
<input name="in1" type="float" value="1" />
|
|
</subtract>
|
|
<saturate name="N_saturation" type="color3">
|
|
<input name="in" type="color3" nodename="N_hsvadjust" />
|
|
<input name="amount" type="float" interfacename="saturation" />
|
|
</saturate>
|
|
<hsvadjust name="N_hsvadjust" type="color3">
|
|
<input name="in" type="color3" interfacename="in" />
|
|
<input name="amount" type="vector3" nodename="N_parm2hue" />
|
|
</hsvadjust>
|
|
<combine3 name="N_parm2hue" type="vector3">
|
|
<input name="in1" type="float" interfacename="hue" />
|
|
<input name="in2" type="float" value="1" />
|
|
<input name="in3" type="float" value="1" />
|
|
</combine3>
|
|
<output name="out" type="color3" nodename="N_exposure" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_colorcorrect_color4" nodedef="ND_colorcorrect_color4">
|
|
<separate4 name="N_split_color4" type="multioutput">
|
|
<input name="in" type="color4" interfacename="in" />
|
|
</separate4>
|
|
<combine3 name="N_combine_color" type="color3">
|
|
<input name="in1" type="float" nodename="N_split_color4" output="outr" />
|
|
<input name="in2" type="float" nodename="N_split_color4" output="outg" />
|
|
<input name="in3" type="float" nodename="N_split_color4" output="outb" />
|
|
</combine3>
|
|
<colorcorrect name="N_colorcorrect" type="color3">
|
|
<input name="in" type="color3" nodename="N_combine_color" />
|
|
<input name="hue" type="float" interfacename="hue" />
|
|
<input name="saturation" type="float" interfacename="saturation" />
|
|
<input name="gamma" type="float" interfacename="gamma" />
|
|
<input name="lift" type="float" interfacename="lift" />
|
|
<input name="gain" type="float" interfacename="gain" />
|
|
<input name="contrast" type="float" interfacename="contrast" />
|
|
<input name="contrastpivot" type="float" interfacename="contrastpivot" />
|
|
<input name="exposure" type="float" interfacename="exposure" />
|
|
</colorcorrect>
|
|
<separate3 name="N_split_color" type="multioutput">
|
|
<input name="in" type="color3" nodename="N_colorcorrect" />
|
|
</separate3>
|
|
<combine4 name="N_combine_with_alpha" type="color4">
|
|
<input name="in1" type="float" nodename="N_split_color" output="outr" />
|
|
<input name="in2" type="float" nodename="N_split_color" output="outg" />
|
|
<input name="in3" type="float" nodename="N_split_color" output="outb" />
|
|
<input name="in4" type="float" nodename="N_split_color4" output="outa" />
|
|
</combine4>
|
|
<output name="out" type="color4" nodename="N_combine_with_alpha" />
|
|
</nodegraph>
|
|
|
|
<!-- ======================================================================== -->
|
|
<!-- Compositing nodes -->
|
|
<!-- ======================================================================== -->
|
|
|
|
<!--
|
|
Node: <overlay>
|
|
Overlay is a compositing node which is a combination of multiply and screen.
|
|
-->
|
|
<nodegraph name="NG_overlay_float" nodedef="ND_overlay_float">
|
|
<output name="out" type="float" nodename="N_mix" />
|
|
<ifgreatereq name="N_ifgreatereq0_overlay_r" type="float" nodedef="ND_ifgreatereq_float">
|
|
<input name="value1" type="float" interfacename="bg" />
|
|
<input name="value2" type="float" value="0.5" />
|
|
<input name="in1" type="float" nodename="N_subtract_lower_one" />
|
|
<input name="in2" type="float" nodename="N_multiply_upper_two" />
|
|
</ifgreatereq>
|
|
<multiply name="N_multiply_upper_fg_bg" type="float" nodedef="ND_multiply_float">
|
|
<input name="in1" type="float" interfacename="fg" />
|
|
<input name="in2" type="float" interfacename="bg" />
|
|
</multiply>
|
|
<multiply name="N_multiply_upper_two" type="float" nodedef="ND_multiply_float">
|
|
<input name="in1" type="float" nodename="N_multiply_upper_fg_bg" />
|
|
<input name="in2" type="float" value="2" />
|
|
</multiply>
|
|
<subtract name="N_subtract_lower_one_bg" type="float" nodedef="ND_subtract_float">
|
|
<input name="in1" type="float" value="1" />
|
|
<input name="in2" type="float" interfacename="bg" />
|
|
</subtract>
|
|
<subtract name="N_subtract_lower_one_fg" type="float" nodedef="ND_subtract_float">
|
|
<input name="in1" type="float" value="1" />
|
|
<input name="in2" type="float" interfacename="fg" />
|
|
</subtract>
|
|
<multiply name="N_multiply_lower_fg_bg" type="float" nodedef="ND_multiply_float">
|
|
<input name="in1" type="float" nodename="N_subtract_lower_one_bg" />
|
|
<input name="in2" type="float" nodename="N_subtract_lower_one_fg" />
|
|
</multiply>
|
|
<subtract name="N_subtract_lower_one" type="float" nodedef="ND_subtract_float">
|
|
<input name="in1" type="float" value="1" />
|
|
<input name="in2" type="float" nodename="N_multiply_lower_two" />
|
|
</subtract>
|
|
<mix name="N_mix" type="float" nodedef="ND_mix_float">
|
|
<input name="fg" type="float" nodename="N_ifgreatereq0_overlay_r" />
|
|
<input name="bg" type="float" interfacename="bg" />
|
|
<input name="mix" type="float" interfacename="mix" />
|
|
</mix>
|
|
<multiply name="N_multiply_lower_two" type="float" nodedef="ND_multiply_float">
|
|
<input name="in1" type="float" nodename="N_multiply_lower_fg_bg" />
|
|
<input name="in2" type="float" value="2" />
|
|
</multiply>
|
|
</nodegraph>
|
|
<nodegraph name="NG_overlay_color3" nodedef="ND_overlay_color3">
|
|
<output name="out" type="color3" nodename="N_combine" />
|
|
<separate3 name="N_split_color3_fg" type="multioutput">
|
|
<input name="in" type="color3" interfacename="fg" />
|
|
</separate3>
|
|
<separate3 name="N_split_color3_bg" type="multioutput">
|
|
<input name="in" type="color3" interfacename="bg" />
|
|
</separate3>
|
|
<combine3 name="N_combine" type="color3" nodedef="ND_combine3_color3">
|
|
<input name="in1" type="float" nodename="N_overlay_r" />
|
|
<input name="in2" type="float" nodename="N_overlay_g" />
|
|
<input name="in3" type="float" nodename="N_overlay_b" />
|
|
</combine3>
|
|
<overlay name="N_overlay_r" type="float" nodedef="ND_overlay_float">
|
|
<input name="fg" type="float" nodename="N_split_color3_fg" output="outr" />
|
|
<input name="bg" type="float" nodename="N_split_color3_bg" output="outr" />
|
|
<input name="mix" type="float" interfacename="mix" />
|
|
</overlay>
|
|
<overlay name="N_overlay_g" type="float" nodedef="ND_overlay_float">
|
|
<input name="fg" type="float" nodename="N_split_color3_fg" output="outg" />
|
|
<input name="bg" type="float" nodename="N_split_color3_bg" output="outg" />
|
|
<input name="mix" type="float" interfacename="mix" />
|
|
</overlay>
|
|
<overlay name="N_overlay_b" type="float" nodedef="ND_overlay_float">
|
|
<input name="fg" type="float" nodename="N_split_color3_fg" output="outb" />
|
|
<input name="bg" type="float" nodename="N_split_color3_bg" output="outb" />
|
|
<input name="mix" type="float" interfacename="mix" />
|
|
</overlay>
|
|
</nodegraph>
|
|
<nodegraph name="NG_overlay_color4" nodedef="ND_overlay_color4">
|
|
<output name="out" type="color4" nodename="N_combine" />
|
|
<separate4 name="N_split_fg" type="multioutput">
|
|
<input name="in" type="color4" interfacename="fg" />
|
|
</separate4>
|
|
<separate4 name="N_split_bg" type="multioutput">
|
|
<input name="in" type="color4" interfacename="bg" />
|
|
</separate4>
|
|
<overlay name="N_overlay_r" type="float" nodedef="ND_overlay_float">
|
|
<input name="fg" type="float" nodename="N_split_fg" output="outr" />
|
|
<input name="bg" type="float" nodename="N_split_bg" output="outr" />
|
|
<input name="mix" type="float" interfacename="mix" />
|
|
</overlay>
|
|
<overlay name="N_overlay_g" type="float" nodedef="ND_overlay_float">
|
|
<input name="fg" type="float" nodename="N_split_fg" output="outg" />
|
|
<input name="bg" type="float" nodename="N_split_bg" output="outg" />
|
|
<input name="mix" type="float" interfacename="mix" />
|
|
</overlay>
|
|
<overlay name="N_overlay_b" type="float" nodedef="ND_overlay_float">
|
|
<input name="fg" type="float" nodename="N_split_fg" output="outb" />
|
|
<input name="bg" type="float" nodename="N_split_bg" output="outb" />
|
|
<input name="mix" type="float" interfacename="mix" />
|
|
</overlay>
|
|
<overlay name="N_overlay_a" type="float" nodedef="ND_overlay_float">
|
|
<input name="fg" type="float" nodename="N_split_fg" output="outa" />
|
|
<input name="bg" type="float" nodename="N_split_bg" output="outa" />
|
|
<input name="mix" type="float" interfacename="mix" />
|
|
</overlay>
|
|
<combine4 name="N_combine" type="color4" nodedef="ND_combine4_color4">
|
|
<input name="in1" type="float" nodename="N_overlay_r" />
|
|
<input name="in2" type="float" nodename="N_overlay_g" />
|
|
<input name="in3" type="float" nodename="N_overlay_b" />
|
|
<input name="in4" type="float" nodename="N_overlay_a" />
|
|
</combine4>
|
|
</nodegraph>
|
|
|
|
|
|
<!-- ======================================================================== -->
|
|
<!-- Conditional nodes -->
|
|
<!-- ======================================================================== -->
|
|
|
|
<!-- ======================================================================== -->
|
|
<!-- Channel nodes -->
|
|
<!-- ======================================================================== -->
|
|
|
|
<!--
|
|
Node: <convert>
|
|
Convert a stream from one type to another; only certain unambiguous conversion
|
|
types are supported.
|
|
-->
|
|
<nodegraph name="NG_convert_float_color3" nodedef="ND_convert_float_color3">
|
|
<combine3 name="combine" type="color3">
|
|
<input name="in1" type="float" interfacename="in" />
|
|
<input name="in2" type="float" interfacename="in" />
|
|
<input name="in3" type="float" interfacename="in" />
|
|
</combine3>
|
|
<output name="out" type="color3" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_float_color4" nodedef="ND_convert_float_color4">
|
|
<combine4 name="combine" type="color4">
|
|
<input name="in1" type="float" interfacename="in" />
|
|
<input name="in2" type="float" interfacename="in" />
|
|
<input name="in3" type="float" interfacename="in" />
|
|
<input name="in4" type="float" interfacename="in" />
|
|
</combine4>
|
|
<output name="out" type="color4" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_float_vector2" nodedef="ND_convert_float_vector2">
|
|
<combine2 name="combine" type="vector2">
|
|
<input name="in1" type="float" interfacename="in" />
|
|
<input name="in2" type="float" interfacename="in" />
|
|
</combine2>
|
|
<output name="out" type="vector2" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_float_vector3" nodedef="ND_convert_float_vector3">
|
|
<combine3 name="combine" type="vector3">
|
|
<input name="in1" type="float" interfacename="in" />
|
|
<input name="in2" type="float" interfacename="in" />
|
|
<input name="in3" type="float" interfacename="in" />
|
|
</combine3>
|
|
<output name="out" type="vector3" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_float_vector4" nodedef="ND_convert_float_vector4">
|
|
<combine4 name="combine" type="vector4">
|
|
<input name="in1" type="float" interfacename="in" />
|
|
<input name="in2" type="float" interfacename="in" />
|
|
<input name="in3" type="float" interfacename="in" />
|
|
<input name="in4" type="float" interfacename="in" />
|
|
</combine4>
|
|
<output name="out" type="vector4" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_color3_color4" nodedef="ND_convert_color3_color4">
|
|
<separate3 name="separate" type="multioutput">
|
|
<input name="in" type="color3" interfacename="in" />
|
|
</separate3>
|
|
<combine4 name="combine" type="color4">
|
|
<input name="in1" type="float" nodename="separate" output="outr" />
|
|
<input name="in2" type="float" nodename="separate" output="outg" />
|
|
<input name="in3" type="float" nodename="separate" output="outb" />
|
|
<input name="in4" type="float" value="1.0" />
|
|
</combine4>
|
|
<output name="out" type="color4" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_color3_vector2" nodedef="ND_convert_color3_vector2">
|
|
<separate3 name="separate" type="multioutput">
|
|
<input name="in" type="color3" interfacename="in" />
|
|
</separate3>
|
|
<combine2 name="combine" type="vector2">
|
|
<input name="in1" type="float" nodename="separate" output="outr" />
|
|
<input name="in2" type="float" nodename="separate" output="outg" />
|
|
</combine2>
|
|
<output name="out" type="vector2" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_color3_vector3" nodedef="ND_convert_color3_vector3">
|
|
<separate3 name="separate" type="multioutput">
|
|
<input name="in" type="color3" interfacename="in" />
|
|
</separate3>
|
|
<combine3 name="combine" type="vector3">
|
|
<input name="in1" type="float" nodename="separate" output="outr" />
|
|
<input name="in2" type="float" nodename="separate" output="outg" />
|
|
<input name="in3" type="float" nodename="separate" output="outb" />
|
|
</combine3>
|
|
<output name="out" type="vector3" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_color3_vector4" nodedef="ND_convert_color3_vector4">
|
|
<separate3 name="separate" type="multioutput">
|
|
<input name="in" type="color3" interfacename="in" />
|
|
</separate3>
|
|
<combine4 name="combine" type="vector4">
|
|
<input name="in1" type="float" nodename="separate" output="outr" />
|
|
<input name="in2" type="float" nodename="separate" output="outg" />
|
|
<input name="in3" type="float" nodename="separate" output="outb" />
|
|
<input name="in4" type="float" value="1.0" />
|
|
</combine4>
|
|
<output name="out" type="vector4" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_color4_color3" nodedef="ND_convert_color4_color3">
|
|
<separate4 name="separate" type="multioutput">
|
|
<input name="in" type="color4" interfacename="in" />
|
|
</separate4>
|
|
<combine3 name="combine" type="color3">
|
|
<input name="in1" type="float" nodename="separate" output="outr" />
|
|
<input name="in2" type="float" nodename="separate" output="outg" />
|
|
<input name="in3" type="float" nodename="separate" output="outb" />
|
|
</combine3>
|
|
<output name="out" type="color3" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_color4_vector2" nodedef="ND_convert_color4_vector2">
|
|
<separate4 name="separate" type="multioutput">
|
|
<input name="in" type="color4" interfacename="in" />
|
|
</separate4>
|
|
<combine2 name="combine" type="vector2">
|
|
<input name="in1" type="float" nodename="separate" output="outr" />
|
|
<input name="in2" type="float" nodename="separate" output="outg" />
|
|
</combine2>
|
|
<output name="out" type="vector2" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_color4_vector3" nodedef="ND_convert_color4_vector3">
|
|
<separate4 name="separate" type="multioutput">
|
|
<input name="in" type="color4" interfacename="in" />
|
|
</separate4>
|
|
<combine3 name="combine" type="vector3">
|
|
<input name="in1" type="float" nodename="separate" output="outr" />
|
|
<input name="in2" type="float" nodename="separate" output="outg" />
|
|
<input name="in3" type="float" nodename="separate" output="outb" />
|
|
</combine3>
|
|
<output name="out" type="vector3" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_color4_vector4" nodedef="ND_convert_color4_vector4">
|
|
<separate4 name="separate" type="multioutput">
|
|
<input name="in" type="color4" interfacename="in" />
|
|
</separate4>
|
|
<combine4 name="combine" type="vector4">
|
|
<input name="in1" type="float" nodename="separate" output="outr" />
|
|
<input name="in2" type="float" nodename="separate" output="outg" />
|
|
<input name="in3" type="float" nodename="separate" output="outb" />
|
|
<input name="in4" type="float" nodename="separate" output="outa" />
|
|
</combine4>
|
|
<output name="out" type="vector4" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_vector2_color3" nodedef="ND_convert_vector2_color3">
|
|
<separate2 name="separate" type="multioutput">
|
|
<input name="in" type="vector2" interfacename="in" />
|
|
</separate2>
|
|
<combine3 name="combine" type="color3">
|
|
<input name="in1" type="float" nodename="separate" output="outx" />
|
|
<input name="in2" type="float" nodename="separate" output="outy" />
|
|
<input name="in3" type="float" value="0.0" />
|
|
</combine3>
|
|
<output name="out" type="color3" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_vector2_color4" nodedef="ND_convert_vector2_color4">
|
|
<separate2 name="separate" type="multioutput">
|
|
<input name="in" type="vector2" interfacename="in" />
|
|
</separate2>
|
|
<combine4 name="combine" type="color4">
|
|
<input name="in1" type="float" nodename="separate" output="outx" />
|
|
<input name="in2" type="float" nodename="separate" output="outy" />
|
|
<input name="in3" type="float" value="0.0" />
|
|
<input name="in4" type="float" value="1.0" />
|
|
</combine4>
|
|
<output name="out" type="color4" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_vector2_vector3" nodedef="ND_convert_vector2_vector3">
|
|
<separate2 name="separate" type="multioutput">
|
|
<input name="in" type="vector2" interfacename="in" />
|
|
</separate2>
|
|
<combine3 name="combine" type="vector3">
|
|
<input name="in1" type="float" nodename="separate" output="outx" />
|
|
<input name="in2" type="float" nodename="separate" output="outy" />
|
|
<input name="in3" type="float" value="0.0" />
|
|
</combine3>
|
|
<output name="out" type="vector3" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_vector2_vector4" nodedef="ND_convert_vector2_vector4">
|
|
<separate2 name="separate" type="multioutput">
|
|
<input name="in" type="vector2" interfacename="in" />
|
|
</separate2>
|
|
<combine4 name="combine" type="vector4">
|
|
<input name="in1" type="float" nodename="separate" output="outx" />
|
|
<input name="in2" type="float" nodename="separate" output="outy" />
|
|
<input name="in3" type="float" value="0.0" />
|
|
<input name="in4" type="float" value="1.0" />
|
|
</combine4>
|
|
<output name="out" type="vector4" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_vector3_color3" nodedef="ND_convert_vector3_color3">
|
|
<separate3 name="separate" type="multioutput">
|
|
<input name="in" type="vector3" interfacename="in" />
|
|
</separate3>
|
|
<combine3 name="combine" type="color3">
|
|
<input name="in1" type="float" nodename="separate" output="outx" />
|
|
<input name="in2" type="float" nodename="separate" output="outy" />
|
|
<input name="in3" type="float" nodename="separate" output="outz" />
|
|
</combine3>
|
|
<output name="out" type="color3" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_vector3_color4" nodedef="ND_convert_vector3_color4">
|
|
<separate3 name="separate" type="multioutput">
|
|
<input name="in" type="vector3" interfacename="in" />
|
|
</separate3>
|
|
<combine4 name="combine" type="color4">
|
|
<input name="in1" type="float" nodename="separate" output="outx" />
|
|
<input name="in2" type="float" nodename="separate" output="outy" />
|
|
<input name="in3" type="float" nodename="separate" output="outz" />
|
|
<input name="in4" type="float" value="1.0" />
|
|
</combine4>
|
|
<output name="out" type="color4" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_vector3_vector2" nodedef="ND_convert_vector3_vector2">
|
|
<separate3 name="separate" type="multioutput">
|
|
<input name="in" type="vector3" interfacename="in" />
|
|
</separate3>
|
|
<combine2 name="combine" type="vector2">
|
|
<input name="in1" type="float" nodename="separate" output="outx" />
|
|
<input name="in2" type="float" nodename="separate" output="outy" />
|
|
</combine2>
|
|
<output name="out" type="vector2" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_vector3_vector4" nodedef="ND_convert_vector3_vector4">
|
|
<separate3 name="separate" type="multioutput">
|
|
<input name="in" type="vector3" interfacename="in" />
|
|
</separate3>
|
|
<combine4 name="combine" type="vector4">
|
|
<input name="in1" type="float" nodename="separate" output="outx" />
|
|
<input name="in2" type="float" nodename="separate" output="outy" />
|
|
<input name="in3" type="float" nodename="separate" output="outz" />
|
|
<input name="in4" type="float" value="1.0" />
|
|
</combine4>
|
|
<output name="out" type="vector4" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_vector4_color3" nodedef="ND_convert_vector4_color3">
|
|
<separate4 name="separate" type="multioutput">
|
|
<input name="in" type="vector4" interfacename="in" />
|
|
</separate4>
|
|
<combine3 name="combine" type="color3">
|
|
<input name="in1" type="float" nodename="separate" output="outx" />
|
|
<input name="in2" type="float" nodename="separate" output="outy" />
|
|
<input name="in3" type="float" nodename="separate" output="outz" />
|
|
</combine3>
|
|
<output name="out" type="color3" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_vector4_color4" nodedef="ND_convert_vector4_color4">
|
|
<separate4 name="separate" type="multioutput">
|
|
<input name="in" type="vector4" interfacename="in" />
|
|
</separate4>
|
|
<combine4 name="combine" type="color4">
|
|
<input name="in1" type="float" nodename="separate" output="outx" />
|
|
<input name="in2" type="float" nodename="separate" output="outy" />
|
|
<input name="in3" type="float" nodename="separate" output="outz" />
|
|
<input name="in4" type="float" nodename="separate" output="outw" />
|
|
</combine4>
|
|
<output name="out" type="color4" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_vector4_vector2" nodedef="ND_convert_vector4_vector2">
|
|
<separate4 name="separate" type="multioutput">
|
|
<input name="in" type="vector4" interfacename="in" />
|
|
</separate4>
|
|
<combine2 name="combine" type="vector2">
|
|
<input name="in1" type="float" nodename="separate" output="outx" />
|
|
<input name="in2" type="float" nodename="separate" output="outy" />
|
|
</combine2>
|
|
<output name="out" type="vector2" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_vector4_vector3" nodedef="ND_convert_vector4_vector3">
|
|
<separate4 name="separate" type="multioutput">
|
|
<input name="in" type="vector4" interfacename="in" />
|
|
</separate4>
|
|
<combine3 name="combine" type="vector3">
|
|
<input name="in1" type="float" nodename="separate" output="outx" />
|
|
<input name="in2" type="float" nodename="separate" output="outy" />
|
|
<input name="in3" type="float" nodename="separate" output="outz" />
|
|
</combine3>
|
|
<output name="out" type="vector3" nodename="combine" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_boolean_color3" nodedef="ND_convert_boolean_color3">
|
|
<convert name="convert_to_float" type="float">
|
|
<input name="in" type="boolean" interfacename="in" />
|
|
</convert>
|
|
<convert name="convert" type="color3">
|
|
<input name="in" type="float" nodename="convert_to_float" />
|
|
</convert>
|
|
<output name="out" type="color3" nodename="convert" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_boolean_color4" nodedef="ND_convert_boolean_color4">
|
|
<convert name="convert_to_float" type="float">
|
|
<input name="in" type="boolean" interfacename="in" />
|
|
</convert>
|
|
<convert name="convert" type="color4">
|
|
<input name="in" type="float" nodename="convert_to_float" />
|
|
</convert>
|
|
<output name="out" type="color4" nodename="convert" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_boolean_vector2" nodedef="ND_convert_boolean_vector2">
|
|
<convert name="convert_to_float" type="float">
|
|
<input name="in" type="boolean" interfacename="in" />
|
|
</convert>
|
|
<convert name="convert" type="vector2">
|
|
<input name="in" type="float" nodename="convert_to_float" />
|
|
</convert>
|
|
<output name="out" type="vector2" nodename="convert" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_boolean_vector3" nodedef="ND_convert_boolean_vector3">
|
|
<convert name="convert_to_float" type="float">
|
|
<input name="in" type="boolean" interfacename="in" />
|
|
</convert>
|
|
<convert name="convert" type="vector3">
|
|
<input name="in" type="float" nodename="convert_to_float" />
|
|
</convert>
|
|
<output name="out" type="vector3" nodename="convert" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_boolean_vector4" nodedef="ND_convert_boolean_vector4">
|
|
<convert name="convert_to_float" type="float">
|
|
<input name="in" type="boolean" interfacename="in" />
|
|
</convert>
|
|
<convert name="convert" type="vector4">
|
|
<input name="in" type="float" nodename="convert_to_float" />
|
|
</convert>
|
|
<output name="out" type="vector4" nodename="convert" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_boolean_integer" nodedef="ND_convert_boolean_integer">
|
|
<ifequal name="ifequal" type="integer">
|
|
<input name="value1" type="boolean" interfacename="in" />
|
|
<input name="value2" type="boolean" value="true" />
|
|
<input name="in1" type="integer" value="1" />
|
|
<input name="in2" type="integer" value="0" />
|
|
</ifequal>
|
|
<output name="out" type="integer" nodename="ifequal" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_integer_color3" nodedef="ND_convert_integer_color3">
|
|
<convert name="convert_to_float" type="float">
|
|
<input name="in" type="integer" interfacename="in" />
|
|
</convert>
|
|
<convert name="convert" type="color3">
|
|
<input name="in" type="float" nodename="convert_to_float" />
|
|
</convert>
|
|
<output name="out" type="color3" nodename="convert" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_integer_color4" nodedef="ND_convert_integer_color4">
|
|
<convert name="convert_to_float" type="float">
|
|
<input name="in" type="integer" interfacename="in" />
|
|
</convert>
|
|
<convert name="convert" type="color4">
|
|
<input name="in" type="float" nodename="convert_to_float" />
|
|
</convert>
|
|
<output name="out" type="color4" nodename="convert" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_integer_vector2" nodedef="ND_convert_integer_vector2">
|
|
<convert name="convert_to_float" type="float">
|
|
<input name="in" type="integer" interfacename="in" />
|
|
</convert>
|
|
<convert name="convert" type="vector2">
|
|
<input name="in" type="float" nodename="convert_to_float" />
|
|
</convert>
|
|
<output name="out" type="vector2" nodename="convert" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_integer_vector3" nodedef="ND_convert_integer_vector3">
|
|
<convert name="convert_to_float" type="float">
|
|
<input name="in" type="integer" interfacename="in" />
|
|
</convert>
|
|
<convert name="convert" type="vector3">
|
|
<input name="in" type="float" nodename="convert_to_float" />
|
|
</convert>
|
|
<output name="out" type="vector3" nodename="convert" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_integer_vector4" nodedef="ND_convert_integer_vector4">
|
|
<convert name="convert_to_float" type="float">
|
|
<input name="in" type="integer" interfacename="in" />
|
|
</convert>
|
|
<convert name="convert" type="vector4">
|
|
<input name="in" type="float" nodename="convert_to_float" />
|
|
</convert>
|
|
<output name="out" type="vector4" nodename="convert" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_integer_boolean" nodedef="ND_convert_integer_boolean">
|
|
<ifequal name="ifequal" type="boolean">
|
|
<input name="value1" type="integer" interfacename="in" />
|
|
<input name="value2" type="integer" value="0" />
|
|
</ifequal>
|
|
<not name="not" type="boolean">
|
|
<input name="in" type="boolean" nodename="ifequal" />
|
|
</not>
|
|
<output name="out" type="boolean" nodename="not" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_color3_surfaceshader" nodedef="ND_convert_color3_surfaceshader">
|
|
<surface_unlit name="surface" type="surfaceshader">
|
|
<input name="emission_color" type="color3" interfacename="in" />
|
|
</surface_unlit>
|
|
<output name="out" type="surfaceshader" nodename="surface" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_color4_surfaceshader" nodedef="ND_convert_color4_surfaceshader">
|
|
<surface_unlit name="surface" type="surfaceshader">
|
|
<input name="emission_color" type="color3" nodename="convert" />
|
|
<input name="opacity" type="float" nodename="extract" />
|
|
</surface_unlit>
|
|
<extract name="extract" type="float">
|
|
<input name="in" type="color4" interfacename="in" />
|
|
<input name="index" type="integer" uniform="true" value="3" />
|
|
</extract>
|
|
<convert name="convert" type="color3">
|
|
<input name="in" type="color4" interfacename="in" />
|
|
</convert>
|
|
<output name="out" type="surfaceshader" nodename="surface" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_float_surfaceshader" nodedef="ND_convert_float_surfaceshader">
|
|
<convert name="float_to_color3" type="color3">
|
|
<input name="in" type="float" interfacename="in" />
|
|
</convert>
|
|
<surface_unlit name="surface" type="surfaceshader">
|
|
<input name="emission_color" type="color3" nodename="float_to_color3" />
|
|
</surface_unlit>
|
|
<output name="out" type="surfaceshader" nodename="surface" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_vector2_surfaceshader" nodedef="ND_convert_vector2_surfaceshader">
|
|
<surface_unlit name="surface" type="surfaceshader">
|
|
<input name="emission_color" type="color3" nodename="vec3_to_color3" />
|
|
</surface_unlit>
|
|
<convert name="vec2_to_vec3" type="vector3">
|
|
<input name="in" type="vector2" interfacename="in" />
|
|
</convert>
|
|
<convert name="vec3_to_color3" type="color3">
|
|
<input name="in" type="vector3" nodename="vec2_to_vec3" />
|
|
</convert>
|
|
<output name="out" type="surfaceshader" nodename="surface" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_vector3_surfaceshader" nodedef="ND_convert_vector3_surfaceshader">
|
|
<surface_unlit name="surface" type="surfaceshader">
|
|
<input name="emission_color" type="color3" nodename="vec3_to_color3" />
|
|
</surface_unlit>
|
|
<convert name="vec3_to_color3" type="color3">
|
|
<input name="in" type="vector3" interfacename="in" />
|
|
</convert>
|
|
<output name="out" type="surfaceshader" nodename="surface" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_vector4_surfaceshader" nodedef="ND_convert_vector4_surfaceshader">
|
|
<surface_unlit name="surface" type="surfaceshader">
|
|
<input name="emission_color" type="color3" nodename="color4_to_color3" />
|
|
<input name="opacity" type="float" nodename="color4_to_float" />
|
|
</surface_unlit>
|
|
<convert name="vec4_to_color4" type="color4">
|
|
<input name="in" type="vector4" interfacename="in" />
|
|
</convert>
|
|
<extract name="color4_to_float" type="float">
|
|
<input name="in" type="color4" nodename="vec4_to_color4" />
|
|
<input name="index" type="integer" uniform="true" value="3" />
|
|
</extract>
|
|
<convert name="color4_to_color3" type="color3">
|
|
<input name="in" type="color4" nodename="vec4_to_color4" />
|
|
</convert>
|
|
<output name="out" type="surfaceshader" nodename="surface" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_integer_surfaceshader" nodedef="ND_convert_integer_surfaceshader">
|
|
<convert name="int_to_float" type="float">
|
|
<input name="in" type="integer" interfacename="in" />
|
|
</convert>
|
|
<convert name="float_to_color3" type="color3">
|
|
<input name="in" type="float" nodename="int_to_float" />
|
|
</convert>
|
|
<surface_unlit name="surface" type="surfaceshader">
|
|
<input name="emission_color" type="color3" nodename="float_to_color3" />
|
|
</surface_unlit>
|
|
<output name="out" type="surfaceshader" nodename="surface" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_convert_boolean_surfaceshader" nodedef="ND_convert_boolean_surfaceshader">
|
|
<convert name="bool_to_float" type="float">
|
|
<input name="in" type="boolean" interfacename="in" />
|
|
</convert>
|
|
<convert name="float_to_color3" type="color3">
|
|
<input name="in" type="float" nodename="bool_to_float" />
|
|
</convert>
|
|
<surface_unlit name="surface" type="surfaceshader">
|
|
<input name="emission_color" type="color3" nodename="float_to_color3" />
|
|
</surface_unlit>
|
|
<output name="out" type="surfaceshader" nodename="surface" />
|
|
</nodegraph>
|
|
|
|
<!--
|
|
Nodes: <separate2>, <separate3>, <separate4>
|
|
Output each of the channels of a color/vector stream as a separate float output.
|
|
-->
|
|
<nodegraph name="NG_separate3_color3" nodedef="ND_separate3_color3">
|
|
<extract name="N_extract_0" type="float">
|
|
<input name="in" type="color3" interfacename="in" />
|
|
<input name="index" type="integer" value="0" />
|
|
</extract>
|
|
<extract name="N_extract_1" type="float">
|
|
<input name="in" type="color3" interfacename="in" />
|
|
<input name="index" type="integer" value="1" />
|
|
</extract>
|
|
<extract name="N_extract_2" type="float">
|
|
<input name="in" type="color3" interfacename="in" />
|
|
<input name="index" type="integer" value="2" />
|
|
</extract>
|
|
<output name="outr" type="float" nodename="N_extract_0" />
|
|
<output name="outg" type="float" nodename="N_extract_1" />
|
|
<output name="outb" type="float" nodename="N_extract_2" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_separate4_color4" nodedef="ND_separate4_color4">
|
|
<extract name="N_extract_0" type="float">
|
|
<input name="in" type="color4" interfacename="in" />
|
|
<input name="index" type="integer" value="0" />
|
|
</extract>
|
|
<extract name="N_extract_1" type="float">
|
|
<input name="in" type="color4" interfacename="in" />
|
|
<input name="index" type="integer" value="1" />
|
|
</extract>
|
|
<extract name="N_extract_2" type="float">
|
|
<input name="in" type="color4" interfacename="in" />
|
|
<input name="index" type="integer" value="2" />
|
|
</extract>
|
|
<extract name="N_extract_3" type="float">
|
|
<input name="in" type="color4" interfacename="in" />
|
|
<input name="index" type="integer" value="3" />
|
|
</extract>
|
|
<output name="outr" type="float" nodename="N_extract_0" />
|
|
<output name="outg" type="float" nodename="N_extract_1" />
|
|
<output name="outb" type="float" nodename="N_extract_2" />
|
|
<output name="outa" type="float" nodename="N_extract_3" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_separate2_vector2" nodedef="ND_separate2_vector2">
|
|
<extract name="N_extract_0" type="float">
|
|
<input name="in" type="vector2" interfacename="in" />
|
|
<input name="index" type="integer" value="0" />
|
|
</extract>
|
|
<extract name="N_extract_1" type="float">
|
|
<input name="in" type="vector2" interfacename="in" />
|
|
<input name="index" type="integer" value="1" />
|
|
</extract>
|
|
<output name="outx" type="float" nodename="N_extract_0" />
|
|
<output name="outy" type="float" nodename="N_extract_1" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_separate3_vector3" nodedef="ND_separate3_vector3">
|
|
<extract name="N_extract_0" type="float">
|
|
<input name="in" type="vector3" interfacename="in" />
|
|
<input name="index" type="integer" value="0" />
|
|
</extract>
|
|
<extract name="N_extract_1" type="float">
|
|
<input name="in" type="vector3" interfacename="in" />
|
|
<input name="index" type="integer" value="1" />
|
|
</extract>
|
|
<extract name="N_extract_2" type="float">
|
|
<input name="in" type="vector3" interfacename="in" />
|
|
<input name="index" type="integer" value="2" />
|
|
</extract>
|
|
<output name="outx" type="float" nodename="N_extract_0" />
|
|
<output name="outy" type="float" nodename="N_extract_1" />
|
|
<output name="outz" type="float" nodename="N_extract_2" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_separate4_vector4" nodedef="ND_separate4_vector4">
|
|
<extract name="N_extract_0" type="float">
|
|
<input name="in" type="vector4" interfacename="in" />
|
|
<input name="index" type="integer" value="0" />
|
|
</extract>
|
|
<extract name="N_extract_1" type="float">
|
|
<input name="in" type="vector4" interfacename="in" />
|
|
<input name="index" type="integer" value="1" />
|
|
</extract>
|
|
<extract name="N_extract_2" type="float">
|
|
<input name="in" type="vector4" interfacename="in" />
|
|
<input name="index" type="integer" value="2" />
|
|
</extract>
|
|
<extract name="N_extract_3" type="float">
|
|
<input name="in" type="vector4" interfacename="in" />
|
|
<input name="index" type="integer" value="3" />
|
|
</extract>
|
|
<output name="outx" type="float" nodename="N_extract_0" />
|
|
<output name="outy" type="float" nodename="N_extract_1" />
|
|
<output name="outz" type="float" nodename="N_extract_2" />
|
|
<output name="outw" type="float" nodename="N_extract_3" />
|
|
</nodegraph>
|
|
|
|
<!-- ======================================================================== -->
|
|
<!-- Switch nodes -->
|
|
<!-- ======================================================================== -->
|
|
|
|
<nodegraph name="NG_switch_float" nodedef="ND_switch_float">
|
|
<ifgreater name="ifgreater_10" type="float">
|
|
<input name="value1" type="float" value="10.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="float" interfacename="in10" />
|
|
<input name="in2" type="float" value="0.0" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_9" type="float">
|
|
<input name="value1" type="float" value="9.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="float" interfacename="in9" />
|
|
<input name="in2" type="float" nodename="ifgreater_10" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_8" type="float">
|
|
<input name="value1" type="float" value="8.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="float" interfacename="in8" />
|
|
<input name="in2" type="float" nodename="ifgreater_9" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_7" type="float">
|
|
<input name="value1" type="float" value="7.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="float" interfacename="in7" />
|
|
<input name="in2" type="float" nodename="ifgreater_8" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_6" type="float">
|
|
<input name="value1" type="float" value="6.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="float" interfacename="in6" />
|
|
<input name="in2" type="float" nodename="ifgreater_7" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_5" type="float">
|
|
<input name="value1" type="float" value="5.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="float" interfacename="in5" />
|
|
<input name="in2" type="float" nodename="ifgreater_6" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_4" type="float">
|
|
<input name="value1" type="float" value="4.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="float" interfacename="in4" />
|
|
<input name="in2" type="float" nodename="ifgreater_5" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_3" type="float">
|
|
<input name="value1" type="float" value="3.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="float" interfacename="in3" />
|
|
<input name="in2" type="float" nodename="ifgreater_4" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_2" type="float">
|
|
<input name="value1" type="float" value="2.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="float" interfacename="in2" />
|
|
<input name="in2" type="float" nodename="ifgreater_3" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_1" type="float">
|
|
<input name="value1" type="float" value="1.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="float" interfacename="in1" />
|
|
<input name="in2" type="float" nodename="ifgreater_2" />
|
|
</ifgreater>
|
|
<output name="out" type="float" nodename="ifgreater_1" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_switch_color3" nodedef="ND_switch_color3">
|
|
<ifgreater name="ifgreater_10" type="color3">
|
|
<input name="value1" type="float" value="10.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="color3" interfacename="in10" />
|
|
<input name="in2" type="color3" value="0,0,0" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_9" type="color3">
|
|
<input name="value1" type="float" value="9.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="color3" interfacename="in9" />
|
|
<input name="in2" type="color3" nodename="ifgreater_10" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_8" type="color3">
|
|
<input name="value1" type="float" value="8.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="color3" interfacename="in8" />
|
|
<input name="in2" type="color3" nodename="ifgreater_9" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_7" type="color3">
|
|
<input name="value1" type="float" value="7.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="color3" interfacename="in7" />
|
|
<input name="in2" type="color3" nodename="ifgreater_8" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_6" type="color3">
|
|
<input name="value1" type="float" value="6.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="color3" interfacename="in6" />
|
|
<input name="in2" type="color3" nodename="ifgreater_7" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_5" type="color3">
|
|
<input name="value1" type="float" value="5.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="color3" interfacename="in5" />
|
|
<input name="in2" type="color3" nodename="ifgreater_6" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_4" type="color3">
|
|
<input name="value1" type="float" value="4.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="color3" interfacename="in4" />
|
|
<input name="in2" type="color3" nodename="ifgreater_5" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_3" type="color3">
|
|
<input name="value1" type="float" value="3.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="color3" interfacename="in3" />
|
|
<input name="in2" type="color3" nodename="ifgreater_4" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_2" type="color3">
|
|
<input name="value1" type="float" value="2.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="color3" interfacename="in2" />
|
|
<input name="in2" type="color3" nodename="ifgreater_3" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_1" type="color3">
|
|
<input name="value1" type="float" value="1.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="color3" interfacename="in1" />
|
|
<input name="in2" type="color3" nodename="ifgreater_2" />
|
|
</ifgreater>
|
|
<output name="out" type="color3" nodename="ifgreater_1" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_switch_color4" nodedef="ND_switch_color4">
|
|
<ifgreater name="ifgreater_10" type="color4">
|
|
<input name="value1" type="float" value="10.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="color4" interfacename="in10" />
|
|
<input name="in2" type="color4" value="0,0,0,0" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_9" type="color4">
|
|
<input name="value1" type="float" value="9.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="color4" interfacename="in9" />
|
|
<input name="in2" type="color4" nodename="ifgreater_10" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_8" type="color4">
|
|
<input name="value1" type="float" value="8.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="color4" interfacename="in8" />
|
|
<input name="in2" type="color4" nodename="ifgreater_9" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_7" type="color4">
|
|
<input name="value1" type="float" value="7.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="color4" interfacename="in7" />
|
|
<input name="in2" type="color4" nodename="ifgreater_8" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_6" type="color4">
|
|
<input name="value1" type="float" value="6.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="color4" interfacename="in6" />
|
|
<input name="in2" type="color4" nodename="ifgreater_7" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_5" type="color4">
|
|
<input name="value1" type="float" value="5.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="color4" interfacename="in5" />
|
|
<input name="in2" type="color4" nodename="ifgreater_6" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_4" type="color4">
|
|
<input name="value1" type="float" value="4.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="color4" interfacename="in4" />
|
|
<input name="in2" type="color4" nodename="ifgreater_5" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_3" type="color4">
|
|
<input name="value1" type="float" value="3.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="color4" interfacename="in3" />
|
|
<input name="in2" type="color4" nodename="ifgreater_4" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_2" type="color4">
|
|
<input name="value1" type="float" value="2.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="color4" interfacename="in2" />
|
|
<input name="in2" type="color4" nodename="ifgreater_3" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_1" type="color4">
|
|
<input name="value1" type="float" value="1.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="color4" interfacename="in1" />
|
|
<input name="in2" type="color4" nodename="ifgreater_2" />
|
|
</ifgreater>
|
|
<output name="out" type="color4" nodename="ifgreater_1" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_switch_vector2" nodedef="ND_switch_vector2">
|
|
<ifgreater name="ifgreater_10" type="vector2">
|
|
<input name="value1" type="float" value="10.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector2" interfacename="in10" />
|
|
<input name="in2" type="vector2" value="0,0" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_9" type="vector2">
|
|
<input name="value1" type="float" value="9.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector2" interfacename="in9" />
|
|
<input name="in2" type="vector2" nodename="ifgreater_10" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_8" type="vector2">
|
|
<input name="value1" type="float" value="8.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector2" interfacename="in8" />
|
|
<input name="in2" type="vector2" nodename="ifgreater_9" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_7" type="vector2">
|
|
<input name="value1" type="float" value="7.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector2" interfacename="in7" />
|
|
<input name="in2" type="vector2" nodename="ifgreater_8" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_6" type="vector2">
|
|
<input name="value1" type="float" value="6.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector2" interfacename="in6" />
|
|
<input name="in2" type="vector2" nodename="ifgreater_7" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_5" type="vector2">
|
|
<input name="value1" type="float" value="5.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector2" interfacename="in5" />
|
|
<input name="in2" type="vector2" nodename="ifgreater_6" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_4" type="vector2">
|
|
<input name="value1" type="float" value="4.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector2" interfacename="in4" />
|
|
<input name="in2" type="vector2" nodename="ifgreater_5" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_3" type="vector2">
|
|
<input name="value1" type="float" value="3.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector2" interfacename="in3" />
|
|
<input name="in2" type="vector2" nodename="ifgreater_4" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_2" type="vector2">
|
|
<input name="value1" type="float" value="2.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector2" interfacename="in2" />
|
|
<input name="in2" type="vector2" nodename="ifgreater_3" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_1" type="vector2">
|
|
<input name="value1" type="float" value="1.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector2" interfacename="in1" />
|
|
<input name="in2" type="vector2" nodename="ifgreater_2" />
|
|
</ifgreater>
|
|
<output name="out" type="vector2" nodename="ifgreater_1" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_switch_vector3" nodedef="ND_switch_vector3">
|
|
<ifgreater name="ifgreater_10" type="vector3">
|
|
<input name="value1" type="float" value="10.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector3" interfacename="in10" />
|
|
<input name="in2" type="vector3" value="0,0,0" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_9" type="vector3">
|
|
<input name="value1" type="float" value="9.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector3" interfacename="in9" />
|
|
<input name="in2" type="vector3" nodename="ifgreater_10" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_8" type="vector3">
|
|
<input name="value1" type="float" value="8.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector3" interfacename="in8" />
|
|
<input name="in2" type="vector3" nodename="ifgreater_9" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_7" type="vector3">
|
|
<input name="value1" type="float" value="7.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector3" interfacename="in7" />
|
|
<input name="in2" type="vector3" nodename="ifgreater_8" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_6" type="vector3">
|
|
<input name="value1" type="float" value="6.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector3" interfacename="in6" />
|
|
<input name="in2" type="vector3" nodename="ifgreater_7" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_5" type="vector3">
|
|
<input name="value1" type="float" value="5.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector3" interfacename="in5" />
|
|
<input name="in2" type="vector3" nodename="ifgreater_6" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_4" type="vector3">
|
|
<input name="value1" type="float" value="4.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector3" interfacename="in4" />
|
|
<input name="in2" type="vector3" nodename="ifgreater_5" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_3" type="vector3">
|
|
<input name="value1" type="float" value="3.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector3" interfacename="in3" />
|
|
<input name="in2" type="vector3" nodename="ifgreater_4" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_2" type="vector3">
|
|
<input name="value1" type="float" value="2.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector3" interfacename="in2" />
|
|
<input name="in2" type="vector3" nodename="ifgreater_3" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_1" type="vector3">
|
|
<input name="value1" type="float" value="1.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector3" interfacename="in1" />
|
|
<input name="in2" type="vector3" nodename="ifgreater_2" />
|
|
</ifgreater>
|
|
<output name="out" type="vector3" nodename="ifgreater_1" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_switch_vector4" nodedef="ND_switch_vector4">
|
|
<ifgreater name="ifgreater_10" type="vector4">
|
|
<input name="value1" type="float" value="10.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector4" interfacename="in10" />
|
|
<input name="in2" type="vector4" value="0,0,0,0" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_9" type="vector4">
|
|
<input name="value1" type="float" value="9.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector4" interfacename="in9" />
|
|
<input name="in2" type="vector4" nodename="ifgreater_10" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_8" type="vector4">
|
|
<input name="value1" type="float" value="8.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector4" interfacename="in8" />
|
|
<input name="in2" type="vector4" nodename="ifgreater_9" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_7" type="vector4">
|
|
<input name="value1" type="float" value="7.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector4" interfacename="in7" />
|
|
<input name="in2" type="vector4" nodename="ifgreater_8" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_6" type="vector4">
|
|
<input name="value1" type="float" value="6.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector4" interfacename="in6" />
|
|
<input name="in2" type="vector4" nodename="ifgreater_7" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_5" type="vector4">
|
|
<input name="value1" type="float" value="5.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector4" interfacename="in5" />
|
|
<input name="in2" type="vector4" nodename="ifgreater_6" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_4" type="vector4">
|
|
<input name="value1" type="float" value="4.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector4" interfacename="in4" />
|
|
<input name="in2" type="vector4" nodename="ifgreater_5" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_3" type="vector4">
|
|
<input name="value1" type="float" value="3.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector4" interfacename="in3" />
|
|
<input name="in2" type="vector4" nodename="ifgreater_4" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_2" type="vector4">
|
|
<input name="value1" type="float" value="2.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector4" interfacename="in2" />
|
|
<input name="in2" type="vector4" nodename="ifgreater_3" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_1" type="vector4">
|
|
<input name="value1" type="float" value="1.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="vector4" interfacename="in1" />
|
|
<input name="in2" type="vector4" nodename="ifgreater_2" />
|
|
</ifgreater>
|
|
<output name="out" type="vector4" nodename="ifgreater_1" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_switch_matrix33" nodedef="ND_switch_matrix33">
|
|
<ifgreater name="ifgreater_10" type="matrix33">
|
|
<input name="value1" type="float" value="10.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="matrix33" interfacename="in10" />
|
|
<input name="in2" type="matrix33" value="0,0,0,0,0,0,0,0,0" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_9" type="matrix33">
|
|
<input name="value1" type="float" value="9.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="matrix33" interfacename="in9" />
|
|
<input name="in2" type="matrix33" nodename="ifgreater_10" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_8" type="matrix33">
|
|
<input name="value1" type="float" value="8.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="matrix33" interfacename="in8" />
|
|
<input name="in2" type="matrix33" nodename="ifgreater_9" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_7" type="matrix33">
|
|
<input name="value1" type="float" value="7.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="matrix33" interfacename="in7" />
|
|
<input name="in2" type="matrix33" nodename="ifgreater_8" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_6" type="matrix33">
|
|
<input name="value1" type="float" value="6.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="matrix33" interfacename="in6" />
|
|
<input name="in2" type="matrix33" nodename="ifgreater_7" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_5" type="matrix33">
|
|
<input name="value1" type="float" value="5.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="matrix33" interfacename="in5" />
|
|
<input name="in2" type="matrix33" nodename="ifgreater_6" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_4" type="matrix33">
|
|
<input name="value1" type="float" value="4.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="matrix33" interfacename="in4" />
|
|
<input name="in2" type="matrix33" nodename="ifgreater_5" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_3" type="matrix33">
|
|
<input name="value1" type="float" value="3.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="matrix33" interfacename="in3" />
|
|
<input name="in2" type="matrix33" nodename="ifgreater_4" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_2" type="matrix33">
|
|
<input name="value1" type="float" value="2.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="matrix33" interfacename="in2" />
|
|
<input name="in2" type="matrix33" nodename="ifgreater_3" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_1" type="matrix33">
|
|
<input name="value1" type="float" value="1.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="matrix33" interfacename="in1" />
|
|
<input name="in2" type="matrix33" nodename="ifgreater_2" />
|
|
</ifgreater>
|
|
<output name="out" type="matrix33" nodename="ifgreater_1" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_switch_matrix44" nodedef="ND_switch_matrix44">
|
|
<ifgreater name="ifgreater_10" type="matrix44">
|
|
<input name="value1" type="float" value="10.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="matrix44" interfacename="in10" />
|
|
<input name="in2" type="matrix44" value="0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_9" type="matrix44">
|
|
<input name="value1" type="float" value="9.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="matrix44" interfacename="in9" />
|
|
<input name="in2" type="matrix44" nodename="ifgreater_10" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_8" type="matrix44">
|
|
<input name="value1" type="float" value="8.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="matrix44" interfacename="in8" />
|
|
<input name="in2" type="matrix44" nodename="ifgreater_9" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_7" type="matrix44">
|
|
<input name="value1" type="float" value="7.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="matrix44" interfacename="in7" />
|
|
<input name="in2" type="matrix44" nodename="ifgreater_8" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_6" type="matrix44">
|
|
<input name="value1" type="float" value="6.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="matrix44" interfacename="in6" />
|
|
<input name="in2" type="matrix44" nodename="ifgreater_7" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_5" type="matrix44">
|
|
<input name="value1" type="float" value="5.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="matrix44" interfacename="in5" />
|
|
<input name="in2" type="matrix44" nodename="ifgreater_6" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_4" type="matrix44">
|
|
<input name="value1" type="float" value="4.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="matrix44" interfacename="in4" />
|
|
<input name="in2" type="matrix44" nodename="ifgreater_5" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_3" type="matrix44">
|
|
<input name="value1" type="float" value="3.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="matrix44" interfacename="in3" />
|
|
<input name="in2" type="matrix44" nodename="ifgreater_4" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_2" type="matrix44">
|
|
<input name="value1" type="float" value="2.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="matrix44" interfacename="in2" />
|
|
<input name="in2" type="matrix44" nodename="ifgreater_3" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_1" type="matrix44">
|
|
<input name="value1" type="float" value="1.0" />
|
|
<input name="value2" type="float" interfacename="which" />
|
|
<input name="in1" type="matrix44" interfacename="in1" />
|
|
<input name="in2" type="matrix44" nodename="ifgreater_2" />
|
|
</ifgreater>
|
|
<output name="out" type="matrix44" nodename="ifgreater_1" />
|
|
</nodegraph>
|
|
|
|
<nodegraph name="NG_switch_floatI" nodedef="ND_switch_floatI">
|
|
<ifgreater name="ifgreater_10" type="float">
|
|
<input name="value1" type="integer" value="10" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="float" interfacename="in10" />
|
|
<input name="in2" type="float" value="0.0" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_9" type="float">
|
|
<input name="value1" type="integer" value="9" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="float" interfacename="in9" />
|
|
<input name="in2" type="float" nodename="ifgreater_10" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_8" type="float">
|
|
<input name="value1" type="integer" value="8" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="float" interfacename="in8" />
|
|
<input name="in2" type="float" nodename="ifgreater_9" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_7" type="float">
|
|
<input name="value1" type="integer" value="7" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="float" interfacename="in7" />
|
|
<input name="in2" type="float" nodename="ifgreater_8" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_6" type="float">
|
|
<input name="value1" type="integer" value="6" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="float" interfacename="in6" />
|
|
<input name="in2" type="float" nodename="ifgreater_7" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_5" type="float">
|
|
<input name="value1" type="integer" value="5" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="float" interfacename="in5" />
|
|
<input name="in2" type="float" nodename="ifgreater_6" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_4" type="float">
|
|
<input name="value1" type="integer" value="4" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="float" interfacename="in4" />
|
|
<input name="in2" type="float" nodename="ifgreater_5" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_3" type="float">
|
|
<input name="value1" type="integer" value="3" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="float" interfacename="in3" />
|
|
<input name="in2" type="float" nodename="ifgreater_4" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_2" type="float">
|
|
<input name="value1" type="integer" value="2" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="float" interfacename="in2" />
|
|
<input name="in2" type="float" nodename="ifgreater_3" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_1" type="float">
|
|
<input name="value1" type="integer" value="1" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="float" interfacename="in1" />
|
|
<input name="in2" type="float" nodename="ifgreater_2" />
|
|
</ifgreater>
|
|
<output name="out" type="float" nodename="ifgreater_1" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_switch_color3I" nodedef="ND_switch_color3I">
|
|
<ifgreater name="ifgreater_10" type="color3">
|
|
<input name="value1" type="integer" value="10" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="color3" interfacename="in10" />
|
|
<input name="in2" type="color3" value="0,0,0" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_9" type="color3">
|
|
<input name="value1" type="integer" value="9" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="color3" interfacename="in9" />
|
|
<input name="in2" type="color3" nodename="ifgreater_10" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_8" type="color3">
|
|
<input name="value1" type="integer" value="8" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="color3" interfacename="in8" />
|
|
<input name="in2" type="color3" nodename="ifgreater_9" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_7" type="color3">
|
|
<input name="value1" type="integer" value="7" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="color3" interfacename="in7" />
|
|
<input name="in2" type="color3" nodename="ifgreater_8" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_6" type="color3">
|
|
<input name="value1" type="integer" value="6" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="color3" interfacename="in6" />
|
|
<input name="in2" type="color3" nodename="ifgreater_7" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_5" type="color3">
|
|
<input name="value1" type="integer" value="5" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="color3" interfacename="in5" />
|
|
<input name="in2" type="color3" nodename="ifgreater_6" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_4" type="color3">
|
|
<input name="value1" type="integer" value="4" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="color3" interfacename="in4" />
|
|
<input name="in2" type="color3" nodename="ifgreater_5" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_3" type="color3">
|
|
<input name="value1" type="integer" value="3" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="color3" interfacename="in3" />
|
|
<input name="in2" type="color3" nodename="ifgreater_4" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_2" type="color3">
|
|
<input name="value1" type="integer" value="2" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="color3" interfacename="in2" />
|
|
<input name="in2" type="color3" nodename="ifgreater_3" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_1" type="color3">
|
|
<input name="value1" type="integer" value="1" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="color3" interfacename="in1" />
|
|
<input name="in2" type="color3" nodename="ifgreater_2" />
|
|
</ifgreater>
|
|
<output name="out" type="color3" nodename="ifgreater_1" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_switch_color4I" nodedef="ND_switch_color4I">
|
|
<ifgreater name="ifgreater_10" type="color4">
|
|
<input name="value1" type="integer" value="10" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="color4" interfacename="in10" />
|
|
<input name="in2" type="color4" value="0,0,0,0" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_9" type="color4">
|
|
<input name="value1" type="integer" value="9" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="color4" interfacename="in9" />
|
|
<input name="in2" type="color4" nodename="ifgreater_10" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_8" type="color4">
|
|
<input name="value1" type="integer" value="8" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="color4" interfacename="in8" />
|
|
<input name="in2" type="color4" nodename="ifgreater_9" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_7" type="color4">
|
|
<input name="value1" type="integer" value="7" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="color4" interfacename="in7" />
|
|
<input name="in2" type="color4" nodename="ifgreater_8" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_6" type="color4">
|
|
<input name="value1" type="integer" value="6" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="color4" interfacename="in6" />
|
|
<input name="in2" type="color4" nodename="ifgreater_7" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_5" type="color4">
|
|
<input name="value1" type="integer" value="5" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="color4" interfacename="in5" />
|
|
<input name="in2" type="color4" nodename="ifgreater_6" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_4" type="color4">
|
|
<input name="value1" type="integer" value="4" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="color4" interfacename="in4" />
|
|
<input name="in2" type="color4" nodename="ifgreater_5" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_3" type="color4">
|
|
<input name="value1" type="integer" value="3" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="color4" interfacename="in3" />
|
|
<input name="in2" type="color4" nodename="ifgreater_4" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_2" type="color4">
|
|
<input name="value1" type="integer" value="2" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="color4" interfacename="in2" />
|
|
<input name="in2" type="color4" nodename="ifgreater_3" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_1" type="color4">
|
|
<input name="value1" type="integer" value="1" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="color4" interfacename="in1" />
|
|
<input name="in2" type="color4" nodename="ifgreater_2" />
|
|
</ifgreater>
|
|
<output name="out" type="color4" nodename="ifgreater_1" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_switch_vector2I" nodedef="ND_switch_vector2I">
|
|
<ifgreater name="ifgreater_10" type="vector2">
|
|
<input name="value1" type="integer" value="10" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector2" interfacename="in10" />
|
|
<input name="in2" type="vector2" value="0,0" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_9" type="vector2">
|
|
<input name="value1" type="integer" value="9" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector2" interfacename="in9" />
|
|
<input name="in2" type="vector2" nodename="ifgreater_10" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_8" type="vector2">
|
|
<input name="value1" type="integer" value="8" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector2" interfacename="in8" />
|
|
<input name="in2" type="vector2" nodename="ifgreater_9" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_7" type="vector2">
|
|
<input name="value1" type="integer" value="7" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector2" interfacename="in7" />
|
|
<input name="in2" type="vector2" nodename="ifgreater_8" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_6" type="vector2">
|
|
<input name="value1" type="integer" value="6" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector2" interfacename="in6" />
|
|
<input name="in2" type="vector2" nodename="ifgreater_7" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_5" type="vector2">
|
|
<input name="value1" type="integer" value="5" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector2" interfacename="in5" />
|
|
<input name="in2" type="vector2" nodename="ifgreater_6" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_4" type="vector2">
|
|
<input name="value1" type="integer" value="4" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector2" interfacename="in4" />
|
|
<input name="in2" type="vector2" nodename="ifgreater_5" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_3" type="vector2">
|
|
<input name="value1" type="integer" value="3" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector2" interfacename="in3" />
|
|
<input name="in2" type="vector2" nodename="ifgreater_4" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_2" type="vector2">
|
|
<input name="value1" type="integer" value="2" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector2" interfacename="in2" />
|
|
<input name="in2" type="vector2" nodename="ifgreater_3" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_1" type="vector2">
|
|
<input name="value1" type="integer" value="1" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector2" interfacename="in1" />
|
|
<input name="in2" type="vector2" nodename="ifgreater_2" />
|
|
</ifgreater>
|
|
<output name="out" type="vector2" nodename="ifgreater_1" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_switch_vector3I" nodedef="ND_switch_vector3I">
|
|
<ifgreater name="ifgreater_10" type="vector3">
|
|
<input name="value1" type="integer" value="10" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector3" interfacename="in10" />
|
|
<input name="in2" type="vector3" value="0,0,0" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_9" type="vector3">
|
|
<input name="value1" type="integer" value="9" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector3" interfacename="in9" />
|
|
<input name="in2" type="vector3" nodename="ifgreater_10" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_8" type="vector3">
|
|
<input name="value1" type="integer" value="8" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector3" interfacename="in8" />
|
|
<input name="in2" type="vector3" nodename="ifgreater_9" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_7" type="vector3">
|
|
<input name="value1" type="integer" value="7" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector3" interfacename="in7" />
|
|
<input name="in2" type="vector3" nodename="ifgreater_8" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_6" type="vector3">
|
|
<input name="value1" type="integer" value="6" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector3" interfacename="in6" />
|
|
<input name="in2" type="vector3" nodename="ifgreater_7" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_5" type="vector3">
|
|
<input name="value1" type="integer" value="5" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector3" interfacename="in5" />
|
|
<input name="in2" type="vector3" nodename="ifgreater_6" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_4" type="vector3">
|
|
<input name="value1" type="integer" value="4" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector3" interfacename="in4" />
|
|
<input name="in2" type="vector3" nodename="ifgreater_5" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_3" type="vector3">
|
|
<input name="value1" type="integer" value="3" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector3" interfacename="in3" />
|
|
<input name="in2" type="vector3" nodename="ifgreater_4" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_2" type="vector3">
|
|
<input name="value1" type="integer" value="2" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector3" interfacename="in2" />
|
|
<input name="in2" type="vector3" nodename="ifgreater_3" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_1" type="vector3">
|
|
<input name="value1" type="integer" value="1" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector3" interfacename="in1" />
|
|
<input name="in2" type="vector3" nodename="ifgreater_2" />
|
|
</ifgreater>
|
|
<output name="out" type="vector3" nodename="ifgreater_1" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_switch_vector4I" nodedef="ND_switch_vector4I">
|
|
<ifgreater name="ifgreater_10" type="vector4">
|
|
<input name="value1" type="integer" value="10" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector4" interfacename="in10" />
|
|
<input name="in2" type="vector4" value="0,0,0,0" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_9" type="vector4">
|
|
<input name="value1" type="integer" value="9" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector4" interfacename="in9" />
|
|
<input name="in2" type="vector4" nodename="ifgreater_10" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_8" type="vector4">
|
|
<input name="value1" type="integer" value="8" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector4" interfacename="in8" />
|
|
<input name="in2" type="vector4" nodename="ifgreater_9" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_7" type="vector4">
|
|
<input name="value1" type="integer" value="7" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector4" interfacename="in7" />
|
|
<input name="in2" type="vector4" nodename="ifgreater_8" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_6" type="vector4">
|
|
<input name="value1" type="integer" value="6" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector4" interfacename="in6" />
|
|
<input name="in2" type="vector4" nodename="ifgreater_7" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_5" type="vector4">
|
|
<input name="value1" type="integer" value="5" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector4" interfacename="in5" />
|
|
<input name="in2" type="vector4" nodename="ifgreater_6" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_4" type="vector4">
|
|
<input name="value1" type="integer" value="4" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector4" interfacename="in4" />
|
|
<input name="in2" type="vector4" nodename="ifgreater_5" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_3" type="vector4">
|
|
<input name="value1" type="integer" value="3" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector4" interfacename="in3" />
|
|
<input name="in2" type="vector4" nodename="ifgreater_4" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_2" type="vector4">
|
|
<input name="value1" type="integer" value="2" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector4" interfacename="in2" />
|
|
<input name="in2" type="vector4" nodename="ifgreater_3" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_1" type="vector4">
|
|
<input name="value1" type="integer" value="1" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="vector4" interfacename="in1" />
|
|
<input name="in2" type="vector4" nodename="ifgreater_2" />
|
|
</ifgreater>
|
|
<output name="out" type="vector4" nodename="ifgreater_1" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_switch_matrix33I" nodedef="ND_switch_matrix33I">
|
|
<ifgreater name="ifgreater_10" type="matrix33">
|
|
<input name="value1" type="integer" value="10" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="matrix33" interfacename="in10" />
|
|
<input name="in2" type="matrix33" value="0,0,0,0,0,0,0,0,0" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_9" type="matrix33">
|
|
<input name="value1" type="integer" value="9" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="matrix33" interfacename="in9" />
|
|
<input name="in2" type="matrix33" nodename="ifgreater_10" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_8" type="matrix33">
|
|
<input name="value1" type="integer" value="8" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="matrix33" interfacename="in8" />
|
|
<input name="in2" type="matrix33" nodename="ifgreater_9" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_7" type="matrix33">
|
|
<input name="value1" type="integer" value="7" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="matrix33" interfacename="in7" />
|
|
<input name="in2" type="matrix33" nodename="ifgreater_8" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_6" type="matrix33">
|
|
<input name="value1" type="integer" value="6" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="matrix33" interfacename="in6" />
|
|
<input name="in2" type="matrix33" nodename="ifgreater_7" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_5" type="matrix33">
|
|
<input name="value1" type="integer" value="5" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="matrix33" interfacename="in5" />
|
|
<input name="in2" type="matrix33" nodename="ifgreater_6" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_4" type="matrix33">
|
|
<input name="value1" type="integer" value="4" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="matrix33" interfacename="in4" />
|
|
<input name="in2" type="matrix33" nodename="ifgreater_5" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_3" type="matrix33">
|
|
<input name="value1" type="integer" value="3" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="matrix33" interfacename="in3" />
|
|
<input name="in2" type="matrix33" nodename="ifgreater_4" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_2" type="matrix33">
|
|
<input name="value1" type="integer" value="2" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="matrix33" interfacename="in2" />
|
|
<input name="in2" type="matrix33" nodename="ifgreater_3" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_1" type="matrix33">
|
|
<input name="value1" type="integer" value="1" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="matrix33" interfacename="in1" />
|
|
<input name="in2" type="matrix33" nodename="ifgreater_2" />
|
|
</ifgreater>
|
|
<output name="out" type="matrix33" nodename="ifgreater_1" />
|
|
</nodegraph>
|
|
<nodegraph name="NG_switch_matrix44I" nodedef="ND_switch_matrix44I">
|
|
<ifgreater name="ifgreater_10" type="matrix44">
|
|
<input name="value1" type="integer" value="10" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="matrix44" interfacename="in10" />
|
|
<input name="in2" type="matrix44" value="0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_9" type="matrix44">
|
|
<input name="value1" type="integer" value="9" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="matrix44" interfacename="in9" />
|
|
<input name="in2" type="matrix44" nodename="ifgreater_10" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_8" type="matrix44">
|
|
<input name="value1" type="integer" value="8" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="matrix44" interfacename="in8" />
|
|
<input name="in2" type="matrix44" nodename="ifgreater_9" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_7" type="matrix44">
|
|
<input name="value1" type="integer" value="7" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="matrix44" interfacename="in7" />
|
|
<input name="in2" type="matrix44" nodename="ifgreater_8" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_6" type="matrix44">
|
|
<input name="value1" type="integer" value="6" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="matrix44" interfacename="in6" />
|
|
<input name="in2" type="matrix44" nodename="ifgreater_7" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_5" type="matrix44">
|
|
<input name="value1" type="integer" value="5" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="matrix44" interfacename="in5" />
|
|
<input name="in2" type="matrix44" nodename="ifgreater_6" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_4" type="matrix44">
|
|
<input name="value1" type="integer" value="4" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="matrix44" interfacename="in4" />
|
|
<input name="in2" type="matrix44" nodename="ifgreater_5" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_3" type="matrix44">
|
|
<input name="value1" type="integer" value="3" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="matrix44" interfacename="in3" />
|
|
<input name="in2" type="matrix44" nodename="ifgreater_4" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_2" type="matrix44">
|
|
<input name="value1" type="integer" value="2" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="matrix44" interfacename="in2" />
|
|
<input name="in2" type="matrix44" nodename="ifgreater_3" />
|
|
</ifgreater>
|
|
<ifgreater name="ifgreater_1" type="matrix44">
|
|
<input name="value1" type="integer" value="1" />
|
|
<input name="value2" type="integer" interfacename="which" />
|
|
<input name="in1" type="matrix44" interfacename="in1" />
|
|
<input name="in2" type="matrix44" nodename="ifgreater_2" />
|
|
</ifgreater>
|
|
<output name="out" type="matrix44" nodename="ifgreater_1" />
|
|
</nodegraph>
|
|
|
|
|
|
<!-- ======================================================================== -->
|
|
<!-- Logical operator nodes -->
|
|
<!-- ======================================================================== -->
|
|
|
|
<!--
|
|
Node: <xor>
|
|
Logical XOR operation for two boolean values.
|
|
-->
|
|
<nodegraph name="NG_logical_xor" nodedef="ND_logical_xor">
|
|
<not name="not_in1" type="boolean">
|
|
<input name="in" type="boolean" interfacename="in1"/>
|
|
</not>
|
|
<not name="not_in2" type="boolean">
|
|
<input name="in" type="boolean" interfacename="in2"/>
|
|
</not>
|
|
<and name="in1_and_not_in2" type="boolean">
|
|
<input name="in1" type="boolean" interfacename="in1" />
|
|
<input name="in2" type="boolean" nodename="not_in2" />
|
|
</and>
|
|
<and name="in2_and_not_in1" type="boolean">
|
|
<input name="in1" type="boolean" interfacename="in2" />
|
|
<input name="in2" type="boolean" nodename="not_in1" />
|
|
</and>
|
|
<or name="or" type="boolean">
|
|
<input name="in1" type="boolean" nodename="in1_and_not_in2"/>
|
|
<input name="in2" type="boolean" nodename="in2_and_not_in1"/>
|
|
</or>
|
|
<output name="out" type="boolean" nodename="or" />
|
|
</nodegraph>
|
|
|
|
</materialx>
|