Ajout du projet Depths sur Git
This commit is contained in:
+52
@@ -0,0 +1,52 @@
|
||||
<?xml version="1.0"?>
|
||||
<materialx version="1.38" colorspace="acescg">
|
||||
|
||||
<!-- LamaAdd for BSDFs -->
|
||||
<nodedef name="ND_lama_add_bsdf" node="LamaAdd" nodegroup="pbr" version="1.0" isdefaultversion="true">
|
||||
<input name="material1" uiname="Material 1" type="BSDF" doc="First material to add." />
|
||||
<input name="material2" uiname="Material 2" type="BSDF" doc="Second material to add." />
|
||||
<input name="weight1" uiname="Weight 1" type="float" uimin="0.0" uimax="1.0" value="1.0" doc="Weight of the first material." />
|
||||
<input name="weight2" uiname="Weight 2" type="float" uimin="0.0" uimax="1.0" value="0.0" doc="Weight of the second material." />
|
||||
<output name="out" type="BSDF" />
|
||||
</nodedef>
|
||||
<nodegraph name="NG_lama_add_bsdf" nodedef="ND_lama_add_bsdf">
|
||||
<multiply name="mul1" type="BSDF">
|
||||
<input name="in1" type="BSDF" interfacename="material1" />
|
||||
<input name="in2" type="float" interfacename="weight1" />
|
||||
</multiply>
|
||||
<multiply name="mul2" type="BSDF">
|
||||
<input name="in1" type="BSDF" interfacename="material2" />
|
||||
<input name="in2" type="float" interfacename="weight2" />
|
||||
</multiply>
|
||||
<add name="add1" type="BSDF">
|
||||
<input name="in1" type="BSDF" nodename="mul1" />
|
||||
<input name="in2" type="BSDF" nodename="mul2" />
|
||||
</add>
|
||||
<output name="out" type="BSDF" nodename="add1" />
|
||||
</nodegraph>
|
||||
|
||||
<!-- LamaAdd for EDFs -->
|
||||
<nodedef name="ND_lama_add_edf" node="LamaAdd" nodegroup="pbr" version="1.0" isdefaultversion="true">
|
||||
<input name="material1" uiname="Material 1" type="EDF" doc="First material to add." />
|
||||
<input name="material2" uiname="Material 2" type="EDF" doc="Second material to add." />
|
||||
<input name="weight1" uiname="Weight 1" type="float" uimin="0.0" uimax="1.0" value="1.0" doc="Weight of the first material." />
|
||||
<input name="weight2" uiname="Weight 2" type="float" uimin="0.0" uimax="1.0" value="0.0" doc="Weight of the second material." />
|
||||
<output name="out" type="EDF" />
|
||||
</nodedef>
|
||||
<nodegraph name="NG_lama_add_edf" nodedef="ND_lama_add_edf">
|
||||
<multiply name="mul1" type="EDF">
|
||||
<input name="in1" type="EDF" interfacename="material1" />
|
||||
<input name="in2" type="float" interfacename="weight1" />
|
||||
</multiply>
|
||||
<multiply name="mul2" type="EDF">
|
||||
<input name="in1" type="EDF" interfacename="material2" />
|
||||
<input name="in2" type="float" interfacename="weight2" />
|
||||
</multiply>
|
||||
<add name="add1" type="EDF">
|
||||
<input name="in1" type="EDF" nodename="mul1" />
|
||||
<input name="in2" type="EDF" nodename="mul2" />
|
||||
</add>
|
||||
<output name="out" type="EDF" nodename="add1" />
|
||||
</nodegraph>
|
||||
|
||||
</materialx>
|
||||
Vendored
+159
@@ -0,0 +1,159 @@
|
||||
<?xml version="1.0"?>
|
||||
<materialx version="1.38" colorspace="acescg">
|
||||
<nodedef name="ND_lama_conductor" node="LamaConductor" nodegroup="pbr" doc="Lama conductor" version="1.0" isdefaultversion="true">
|
||||
<input name="tint" type="color3" value="1, 1, 1" uiname="Tint" uifolder="Main"
|
||||
doc="Overall color multiplier. It should be used with parcimony, as a non-white value breaks physicality. The prefered way to define the color of a conductor is through the Fresnel attributes right below." />
|
||||
<input name="fresnelMode" type="integer" uniform="true" enum="Scientific,Artistic" enumvalues="0,1" value="0" uiname="Fresnel Mode" uifolder="Main"
|
||||
doc="Fresnel mode" />
|
||||
<input name="IOR" type="vector3" value="0.180000007153,0.419999986887,1.37000000477" uiname="IOR" uifolder="Main"
|
||||
doc="Index of refraction (often denoted by eta), defining the color reflected by the surface in the normal direction." />
|
||||
<input name="extinction" type="vector3" value="3.42000007629,2.34999990463,1.76999998093" uiname="Extinction" uifolder="Main"
|
||||
doc="Extinction coefficient (often denoted by kappa), influencing how the reflected color curve evolves between its value in the normal direction (or 0 degree), and 1 when reaching 90 degrees. A null value does not deviate the curve at all." />
|
||||
<input name="reflectivity" type="color3" value="0.9450, 0.7772, 0.3737" uiname="Reflectivity" uifolder="Main"
|
||||
doc="Color reflected by the surface in the normal direction." />
|
||||
<input name="edgeColor" type="color3" value="0.9979, 0.9813, 0.7523" uiname="Edge Color" uifolder="Main"
|
||||
doc="Indicates how the reflected color curve evolves between its value in the normal direction (or 0 degree), and 1 when reaching 90 degrees. Note that this color is unlikely to be reached, and just bends the curve towards it when reaching grazing angles. A null value does not deviate the curve at all." />
|
||||
<input name="roughness" type="float" value="0.1" uimin="0.0" uimax="1.0" uiname="Roughness" uifolder="Main"
|
||||
doc="Micro-facet distribution roughness." />
|
||||
<input name="normal" type="vector3" defaultgeomprop="Nworld" uiname="Normal" uifolder="Main"
|
||||
doc="Shading normal, typically defined by bump or normal mapping. Defaults to the smooth surface normal if not set." />
|
||||
<input name="anisotropy" type="float" value="0.0" uimin="-1.0" uimax="1.0" uiname="Anisotropy" uifolder="Anisotropy"
|
||||
doc="Defines the amount of anisotropy, changing the co-tangent axis roughness from the original value to 1 (or to 0 with a negative value)." />
|
||||
<input name="anisotropyDirection" type="vector3" defaultgeomprop="Tworld" uiname="Direction" uifolder="Anisotropy"
|
||||
doc="Overrides the surface tangent as the anisotropy direction." />
|
||||
<input name="anisotropyRotation" type="float" value="0.0" uiname="Rotation" uifolder="Anisotropy"
|
||||
doc="Rotates the anisotropy direction (possibly overriden by the previous attribute) around the normal, from 0 to 360 degrees." />
|
||||
<input name="iridescenceThickness" type="float" value="0.0" uimin="0.0" uisoftmax="200.0" uiname="Thickness" uifolder="Iridescence"
|
||||
doc="Thin film thickness in nanometers, driving the iridescent effect." />
|
||||
<input name="iridescenceIOR" type="float" value="1.5" uimin="1.0" uimax="3.0" uiname="IOR" uifolder="Iridescence"
|
||||
doc="Thin film index of refraction, driving the iridescent effect." />
|
||||
<input name="exteriorIOR" type="float" value="1.0" uimin="1.0" uimax="3.0" uiname="Exterior IOR" uifolder="Advanced"
|
||||
doc="Defines what the IOR of the exterior medium is (can be either the outside medium, eg. air or water, or in case of a layered material, the top layer medium, like plexiglass or varnish)." />
|
||||
<output name="out" type="BSDF" />
|
||||
</nodedef>
|
||||
|
||||
<nodegraph name="IMPL_lama_conductor" nodedef="ND_lama_conductor">
|
||||
|
||||
<!-- IOR -->
|
||||
<ifgreater name="exterior_ior_switch" type="float">
|
||||
<input name="in1" type="float" interfacename="iridescenceIOR" />
|
||||
<input name="in2" type="float" interfacename="exteriorIOR" />
|
||||
<input name="value1" type="float" interfacename="iridescenceThickness" />
|
||||
<input name="value2" type="float" value="0" />
|
||||
</ifgreater>
|
||||
<artistic_ior name="artistic_ior" type="multioutput">
|
||||
<input name="reflectivity" type="color3" interfacename="reflectivity" />
|
||||
<input name="edge_color" type="color3" interfacename="edgeColor" />
|
||||
</artistic_ior>
|
||||
<convert name="convert_ior" type="color3">
|
||||
<input name="in" type="vector3" interfacename="IOR" />
|
||||
</convert>
|
||||
<convert name="convert_extinction" type="color3">
|
||||
<input name="in" type="vector3" interfacename="extinction" />
|
||||
</convert>
|
||||
<switch name="eta_switch" type="color3">
|
||||
<input name="in1" type="color3" nodename="convert_ior" />
|
||||
<input name="in2" type="color3" nodename="artistic_ior" output="ior" />
|
||||
<input name="which" type="integer" interfacename="fresnelMode" />
|
||||
</switch>
|
||||
<switch name="kappa_switch" type="color3">
|
||||
<input name="in1" type="color3" nodename="convert_extinction" />
|
||||
<input name="in2" type="color3" nodename="artistic_ior" output="extinction" />
|
||||
<input name="which" type="integer" interfacename="fresnelMode" />
|
||||
</switch>
|
||||
<divide name="relative_eta" type="color3">
|
||||
<input name="in1" type="color3" nodename="eta_switch" />
|
||||
<input name="in2" type="float" nodename="exterior_ior_switch" />
|
||||
</divide>
|
||||
<divide name="relative_kappa" type="color3">
|
||||
<input name="in1" type="color3" nodename="kappa_switch" />
|
||||
<input name="in2" type="float" nodename="exterior_ior_switch" />
|
||||
</divide>
|
||||
|
||||
<!-- Roughness -->
|
||||
<subtract name="roughness_inverse" type="float">
|
||||
<input name="in1" type="float" value="1.0" />
|
||||
<input name="in2" type="float" interfacename="roughness" />
|
||||
</subtract>
|
||||
<ifgreatereq name="delta" type="float">
|
||||
<input name="in1" type="float" nodename="roughness_inverse" />
|
||||
<input name="in2" type="float" interfacename="roughness" />
|
||||
<input name="value1" type="float" interfacename="anisotropy" />
|
||||
<input name="value2" type="float" value="0" />
|
||||
</ifgreatereq>
|
||||
<multiply name="roughness_additional" type="float">
|
||||
<input name="in1" type="float" interfacename="anisotropy" />
|
||||
<input name="in2" type="float" nodename="delta" />
|
||||
</multiply>
|
||||
<add name="roughness_bitangent" type="float">
|
||||
<input name="in1" type="float" interfacename="roughness" />
|
||||
<input name="in2" type="float" nodename="roughness_additional" />
|
||||
</add>
|
||||
<clamp name="roughness_bitangent_clamped" type="float">
|
||||
<input name="in" type="float" nodename="roughness_bitangent" />
|
||||
</clamp>
|
||||
<combine2 name="roughness_linear" type="vector2">
|
||||
<input name="in1" type="float" interfacename="roughness" />
|
||||
<input name="in2" type="float" nodename="roughness_bitangent_clamped" />
|
||||
</combine2>
|
||||
<power name="roughness_anisotropic_squared" type="vector2">
|
||||
<input name="in1" type="vector2" nodename="roughness_linear" />
|
||||
<input name="in2" type="float" value="2" />
|
||||
</power>
|
||||
<max name="roughness_anisotropic_squared_clamped" type="vector2">
|
||||
<input name="in1" type="vector2" nodename="roughness_anisotropic_squared" />
|
||||
<input name="in2" type="float" value="0.000001" />
|
||||
</max>
|
||||
|
||||
<!-- Tangent -->
|
||||
<multiply name="tangent_rotate_degree" type="float">
|
||||
<input name="in1" type="float" interfacename="anisotropyRotation" />
|
||||
<input name="in2" type="float" value="-360" />
|
||||
</multiply>
|
||||
<rotate3d name="tangent_rotate" type="vector3">
|
||||
<input name="in" type="vector3" interfacename="anisotropyDirection" />
|
||||
<input name="amount" type="float" nodename="tangent_rotate_degree" />
|
||||
<input name="axis" type="vector3" interfacename="normal" />
|
||||
</rotate3d>
|
||||
<normalize name="tangent_rotate_normalize" type="vector3">
|
||||
<input name="in" type="vector3" nodename="tangent_rotate" />
|
||||
</normalize>
|
||||
|
||||
<!-- BRDF -->
|
||||
<conductor_bsdf name="conductor_bsdf" type="BSDF">
|
||||
<input name="weight" type="float" value="1.0" />
|
||||
<input name="ior" type="color3" nodename="relative_eta" />
|
||||
<input name="extinction" type="color3" nodename="relative_kappa" />
|
||||
<input name="roughness" type="vector2" nodename="roughness_anisotropic_squared_clamped" />
|
||||
<input name="normal" type="vector3" interfacename="normal" />
|
||||
<input name="tangent" type="vector3" nodename="tangent_rotate_normalize" />
|
||||
<input name="distribution" type="string" value="ggx" />
|
||||
</conductor_bsdf>
|
||||
|
||||
<!-- BRDF + Thin film -->
|
||||
<divide name="iridescence_relative_ior" type="float">
|
||||
<input name="in1" type="float" interfacename="iridescenceIOR" />
|
||||
<input name="in2" type="float" interfacename="exteriorIOR" />
|
||||
</divide>
|
||||
<thin_film_bsdf name="thin_film_bsdf" type="BSDF">
|
||||
<input name="thickness" type="float" interfacename="iridescenceThickness" />
|
||||
<input name="ior" type="float" nodename="iridescence_relative_ior" />
|
||||
</thin_film_bsdf>
|
||||
|
||||
<!-- Layered BRDF -->
|
||||
<layer name="thin_film_conductor_bsdf" type="BSDF">
|
||||
<input name="top" type="BSDF" nodename="thin_film_bsdf" />
|
||||
<input name="base" type="BSDF" nodename="conductor_bsdf" />
|
||||
</layer>
|
||||
|
||||
<!-- Tinted BRDF -->
|
||||
<multiply name="tinted_bsdf" type="BSDF">
|
||||
<input name="in1" type="BSDF" nodename="thin_film_conductor_bsdf" />
|
||||
<input name="in2" type="color3" interfacename="tint" />
|
||||
</multiply>
|
||||
|
||||
<!-- Output -->
|
||||
<output name="out" type="BSDF" nodename="tinted_bsdf" />
|
||||
|
||||
</nodegraph>
|
||||
</materialx>
|
||||
Vendored
+165
@@ -0,0 +1,165 @@
|
||||
<?xml version="1.0"?>
|
||||
<materialx version="1.38" colorspace="acescg">
|
||||
<nodedef name="ND_lama_dielectric" node="LamaDielectric" nodegroup="pbr" doc="Lama dielectric" version="1.0" isdefaultversion="true">
|
||||
<input name="reflectionTint" type="color3" value="1.0, 1.0, 1.0" uiname="Reflection Tint" uifolder="Main"
|
||||
doc="Color multiplier for external reflection. It should be used with parcimony, as a non-white value breaks physicality." />
|
||||
<input name="transmissionTint" type="color3" value="1.0, 1.0, 1.0" uiname="Transmission Tint" uifolder="Main"
|
||||
doc="Color multiplier for rays going inside the medium (covers external transmission and internal reflection). It should be used with parcimony, as a non-white value breaks physicality. The prefered way to define the color of a dielectric is through the Interior attributes right below." />
|
||||
<input name="fresnelMode" type="integer" uniform="true" enum="Scientific,Artistic" enumvalues="0,1" value="0" uiname="Fresnel Mode" uifolder="Main"
|
||||
doc="Fresnel mode" />
|
||||
<input name="IOR" type="float" value="1.5" uimin="1.0" uimax="3.0" uiname="IOR" uifolder="Main"
|
||||
doc="Index of refraction (often denoted by eta), defining the amount reflected by the surface in the normal direction, and how the rays are bent by refraction." />
|
||||
<input name="reflectivity" type="float" value="0.04" uiname="Reflectivity" uifolder="Main"
|
||||
doc="Reflectivity" />
|
||||
<input name="roughness" type="float" value="0.1" uimin="0.0" uimax="1.0" uiname="Roughness" uifolder="Main"
|
||||
doc="Micro-facet distribution roughness." />
|
||||
<input name="normal" type="vector3" defaultgeomprop="Nworld" uiname="Normal" uifolder="Main"
|
||||
doc="Shading normal, typically defined by bump or normal mapping. Defaults to the smooth surface normal if not set." />
|
||||
<input name="anisotropy" type="float" value="0.0" uimin="-1.0" uimax="1.0" uiname="Anisotropy" uifolder="Anisotropy"
|
||||
doc="Defines the amount of anisotropy, changing the co-tangent axis roughness from the original value to 1 (or to 0 with a negative value)." />
|
||||
<input name="direction" type="vector3" defaultgeomprop="Tworld" uiname="Direction" uifolder="Anisotropy"
|
||||
doc="Overrides the surface tangent as the anisotropy direction." />
|
||||
<input name="rotation" type="float" value="0.0" uiname="Rotation" uifolder="Anisotropy"
|
||||
doc="Rotates the anisotropy direction (possibly overriden by the previous attribute) around the normal, from 0 to 360 degrees." />
|
||||
<input name="exteriorIOR" type="float" value="1.0" uimin="1.0" uimax="3.0" uiname="Exterior IOR" uifolder="Advanced"
|
||||
doc="Defines what the IOR of the exterior medium is (can be either the outside medium, eg. air or water, or in case of a layered material, the top layer medium, like plexiglass or varnish)." />
|
||||
<input name="absorptionColor" type="color3" value="1.0, 1.0, 1.0" uiname="Absorption Color" uifolder="Interior"
|
||||
doc="Absorption color" />
|
||||
<input name="absorptionRadius" type="float" value="1.0" uiname="Absorption Radius" uifolder="Interior"
|
||||
doc="Absorption radius" />
|
||||
<input name="scatterColor" type="color3" value="0.0, 0.0, 0.0" uiname="Scatter Color" uifolder="Interior"
|
||||
doc="Scatter color" />
|
||||
<input name="scatterAnisotropy" type="float" value="0.0" uimin="-1.0" uimax="1.0" uiname="Scatter Anisotropy" uifolder="Interior"
|
||||
doc="Scatter anisotropy" />
|
||||
<output name="out" type="BSDF" />
|
||||
</nodedef>
|
||||
|
||||
<nodegraph name="IMPL_lama_dielectric" nodedef="ND_lama_dielectric">
|
||||
|
||||
<!-- IOR -->
|
||||
<convert name="reflectivity_color" type="color3">
|
||||
<input name="in" type="float" interfacename="reflectivity" uivisible="false" />
|
||||
</convert>
|
||||
<artistic_ior name="artistic_ior" type="multioutput">
|
||||
<input name="reflectivity" type="color3" nodename="reflectivity_color" />
|
||||
<input name="edge_color" type="color3" value="0.0, 0.0, 0.0" />
|
||||
</artistic_ior>
|
||||
<switch name="fresnel_mode_switch" type="float">
|
||||
<input name="in1" type="float" interfacename="IOR" />
|
||||
<input name="in2" type="float" nodename="artistic_ior" output="ior" channels="r" />
|
||||
<input name="which" type="integer" interfacename="fresnelMode" />
|
||||
</switch>
|
||||
<divide name="relative_ior" type="float">
|
||||
<input name="in1" type="float" nodename="fresnel_mode_switch" />
|
||||
<input name="in2" type="float" interfacename="exteriorIOR" />
|
||||
</divide>
|
||||
|
||||
<!-- Roughness -->
|
||||
<subtract name="roughness_inverse" type="float">
|
||||
<input name="in1" type="float" value="1.0" />
|
||||
<input name="in2" type="float" interfacename="roughness" />
|
||||
</subtract>
|
||||
<ifgreatereq name="delta" type="float">
|
||||
<input name="in1" type="float" nodename="roughness_inverse" />
|
||||
<input name="in2" type="float" interfacename="roughness" />
|
||||
<input name="value1" type="float" interfacename="anisotropy" />
|
||||
<input name="value2" type="float" value="0" />
|
||||
</ifgreatereq>
|
||||
<multiply name="roughness_additional" type="float">
|
||||
<input name="in1" type="float" interfacename="anisotropy" />
|
||||
<input name="in2" type="float" nodename="delta" />
|
||||
</multiply>
|
||||
<add name="roughness_bitangent" type="float">
|
||||
<input name="in1" type="float" interfacename="roughness" />
|
||||
<input name="in2" type="float" nodename="roughness_additional" />
|
||||
</add>
|
||||
<clamp name="roughness_bitangent_clamped" type="float">
|
||||
<input name="in" type="float" nodename="roughness_bitangent" />
|
||||
</clamp>
|
||||
<combine2 name="roughness_linear" type="vector2">
|
||||
<input name="in1" type="float" interfacename="roughness" />
|
||||
<input name="in2" type="float" nodename="roughness_bitangent_clamped" />
|
||||
</combine2>
|
||||
<power name="roughness_anisotropic_squared" type="vector2">
|
||||
<input name="in1" type="vector2" nodename="roughness_linear" />
|
||||
<input name="in2" type="float" value="2" />
|
||||
</power>
|
||||
<max name="roughness_anisotropic_squared_clamped" type="vector2">
|
||||
<input name="in1" type="vector2" nodename="roughness_anisotropic_squared" />
|
||||
<input name="in2" type="float" value="0.000001" />
|
||||
</max>
|
||||
|
||||
<!-- Tangent -->
|
||||
<multiply name="tangent_rotate_degree" type="float">
|
||||
<input name="in1" type="float" interfacename="rotation" />
|
||||
<input name="in2" type="float" value="-360" />
|
||||
</multiply>
|
||||
<subtract name="tangent_rotate_degree_offset" type="float">
|
||||
<input name="in1" type="float" nodename="tangent_rotate_degree" />
|
||||
<input name="in2" type="float" value="0" />
|
||||
</subtract>
|
||||
<rotate3d name="tangent_rotate" type="vector3">
|
||||
<input name="in" type="vector3" interfacename="direction" />
|
||||
<input name="amount" type="float" nodename="tangent_rotate_degree_offset" />
|
||||
<input name="axis" type="vector3" interfacename="normal" />
|
||||
</rotate3d>
|
||||
<normalize name="tangent_rotate_normalize" type="vector3">
|
||||
<input name="in" type="vector3" nodename="tangent_rotate" />
|
||||
</normalize>
|
||||
|
||||
<!-- Interior -->
|
||||
<divide name="absorption" type="color3">
|
||||
<input name="in1" type="color3" interfacename="absorptionColor" />
|
||||
<input name="in2" type="float" interfacename="absorptionRadius" />
|
||||
</divide>
|
||||
<convert name="absorption_vector" type="vector3">
|
||||
<input name="in" type="color3" nodename="absorption" />
|
||||
</convert>
|
||||
<convert name="scatter_vector" type="vector3">
|
||||
<input name="in" type="color3" interfacename="scatterColor" />
|
||||
</convert>
|
||||
<anisotropic_vdf name="interior_vdf" type="VDF">
|
||||
<input name="absorption" type="vector3" nodename="absorption_vector" />
|
||||
<input name="scattering" type="vector3" nodename="scatter_vector" />
|
||||
<input name="anisotropy" type="float" interfacename="scatterAnisotropy" />
|
||||
</anisotropic_vdf>
|
||||
|
||||
<!-- BTDF -->
|
||||
<dielectric_bsdf name="transmission_bsdf" type="BSDF">
|
||||
<input name="weight" type="float" value="1.0" />
|
||||
<input name="tint" type="color3" interfacename="transmissionTint" />
|
||||
<input name="ior" type="float" nodename="relative_ior" />
|
||||
<input name="roughness" type="vector2" nodename="roughness_anisotropic_squared_clamped" />
|
||||
<input name="normal" type="vector3" interfacename="normal" />
|
||||
<input name="tangent" type="vector3" nodename="tangent_rotate_normalize" />
|
||||
<input name="distribution" type="string" value="ggx" />
|
||||
<input name="scatter_mode" type="string" value="T" />
|
||||
</dielectric_bsdf>
|
||||
<layer name="transmission_layer" type="BSDF">
|
||||
<input name="top" type="BSDF" nodename="transmission_bsdf" />
|
||||
<input name="base" type="VDF" nodename="interior_vdf" />
|
||||
</layer>
|
||||
|
||||
<!-- BRDF -->
|
||||
<dielectric_bsdf name="reflection_bsdf" type="BSDF">
|
||||
<input name="weight" type="float" value="1.0" />
|
||||
<input name="tint" type="color3" interfacename="reflectionTint" />
|
||||
<input name="ior" type="float" nodename="relative_ior" />
|
||||
<input name="roughness" type="vector2" nodename="roughness_anisotropic_squared_clamped" />
|
||||
<input name="normal" type="vector3" interfacename="normal" />
|
||||
<input name="tangent" type="vector3" nodename="tangent_rotate_normalize" />
|
||||
<input name="distribution" type="string" value="ggx" />
|
||||
<input name="scatter_mode" type="string" value="R" />
|
||||
</dielectric_bsdf>
|
||||
|
||||
<!-- BSDF -->
|
||||
<layer name="dielectric_bsdf" type="BSDF">
|
||||
<input name="top" type="BSDF" nodename="reflection_bsdf" />
|
||||
<input name="base" type="BSDF" nodename="transmission_layer" />
|
||||
</layer>
|
||||
|
||||
<!-- Output -->
|
||||
<output name="out" type="BSDF" nodename="dielectric_bsdf" />
|
||||
|
||||
</nodegraph>
|
||||
</materialx>
|
||||
Vendored
+35
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0"?>
|
||||
<materialx version="1.38" colorspace="acescg">
|
||||
<nodedef name="ND_lama_diffuse" node="LamaDiffuse" nodegroup="pbr" version="1.0" isdefaultversion="true">
|
||||
<input name="color" uiname="Color" type="color3" value="0.18, 0.18, 0.18"
|
||||
doc="Diffuse color (aka albedo), defining what ratio of light is reflected for each color channel." />
|
||||
<input name="roughness" uiname="Roughness" type="float" uimin="0.0" uimax="1.0" value="0.0" doc="Micro-facet distribution (Oren-Nayar) roughness." />
|
||||
<input name="normal" uiname="Normal" type="vector3" defaultgeomprop="Nworld"
|
||||
doc="Shading normal, typically defined by bump or normal mapping. Defaults to the smooth surface normal if not set." />
|
||||
<input name="energyCompensation" uiname="Energy Compensation" uifolder="Advanced" type="float" uniform="true" uimin="0.0" uimax="1.0" value="1.0"
|
||||
doc="Indicates how much energy should be added to compensate for the loss inherent to the Oren-Nayar model, ranging from no compensation at all, to the expected energy from multiple scattering between the micro-facets. This prevents overly dark results when roughness is high." />
|
||||
<input name="lobeName" uiname="Lobe Name" uifolder="Advanced" type="string" uniform="true" value="diffuse"
|
||||
doc="Defines the name that can be used in LPE AOVs for this lobe." />
|
||||
<input name="matte" uiname="Matte" uifolder="Advanced" type="string" uniform="true" value=""
|
||||
doc="Defines the name that can be used by the matte system, to output the weight of this lobe in the final material as an AOV." />
|
||||
<output name="out" type="BSDF" />
|
||||
</nodedef>
|
||||
|
||||
<nodegraph name="NG_lama_diffuse" nodedef="ND_lama_diffuse">
|
||||
<multiply name="roughness_squared" type="float">
|
||||
<input name="in1" type="float" interfacename="roughness" />
|
||||
<input name="in2" type="float" interfacename="roughness" />
|
||||
</multiply>
|
||||
<multiply name="half_roughness_squared" type="float">
|
||||
<input name="in1" type="float" nodename="roughness_squared" />
|
||||
<input name="in2" type="float" value="0.5" />
|
||||
</multiply>
|
||||
<oren_nayar_diffuse_bsdf name="oren_nayar" type="BSDF">
|
||||
<input name="weight" type="float" value="1.0" />
|
||||
<input name="color" type="color3" interfacename="color" />
|
||||
<input name="roughness" type="float" nodename="half_roughness_squared" />
|
||||
<input name="normal" type="vector3" interfacename="normal" />
|
||||
</oren_nayar_diffuse_bsdf>
|
||||
<output name="out" type="BSDF" nodename="oren_nayar" />
|
||||
</nodegraph>
|
||||
</materialx>
|
||||
Vendored
+20
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0"?>
|
||||
<materialx version="1.38" colorspace="acescg">
|
||||
<nodedef name="ND_lama_emission" node="LamaEmission" nodegroup="pbr" doc="Lama emission" version="1.0" isdefaultversion="true">
|
||||
<input name="color" type="color3" value="1.0, 1.0, 1.0" uiname="Color" uifolder="Main"
|
||||
doc="Color being uniformly emitted in all directions above the surface." />
|
||||
<output name="out" type="EDF" />
|
||||
</nodedef>
|
||||
|
||||
<nodegraph name="IMPL_lama_emission" nodedef="ND_lama_emission">
|
||||
|
||||
<!-- EDF -->
|
||||
<uniform_edf name="emission" type="EDF">
|
||||
<input name="color" type="color3" interfacename="color" />
|
||||
</uniform_edf>
|
||||
|
||||
<!-- Output -->
|
||||
<output name="out" type="EDF" nodename="emission" />
|
||||
|
||||
</nodegraph>
|
||||
</materialx>
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0"?>
|
||||
<materialx version="1.38" colorspace="acescg">
|
||||
<!-- LamaLayer for BSDFs -->
|
||||
<nodedef name="ND_lama_layer_bsdf" node="LamaLayer" nodegroup="pbr" version="1.0" isdefaultversion="true">
|
||||
<input name="materialTop" uiname="Material Top" type="BSDF"
|
||||
doc="Material used for the top slab. If not set, the base material will be used by itself." />
|
||||
<input name="materialBase" uiname="Material Base" type="BSDF"
|
||||
doc="Base material, right under the top one." />
|
||||
<input name="topMix" uiname="Top Mix" type="float" uimin="0.0" uimax="1.0" value="1.0"
|
||||
doc="Defines how visible the top material is." />
|
||||
<!-- NOTE: The topThickness feature isn't supported by the MaterialX definitions of the nodes right now. -->
|
||||
<input name="topThickness" uiname="Top Thickness" type="float" uimin="0.0" value="0.0"
|
||||
doc="Thickness of the top slab. It is only relevant for interior effects associated with the top material, such as absorption. If the top material is itself a layer node, this value is passed on to its base component. And if the top material is a mix or add, this value is passed on to both child materials." />
|
||||
<output name="out" type="BSDF" />
|
||||
</nodedef>
|
||||
<nodegraph name="NG_lama_layer_bsdf" nodedef="ND_lama_layer_bsdf">
|
||||
<multiply name="mul" type="BSDF">
|
||||
<input name="in1" type="BSDF" interfacename="materialTop" />
|
||||
<input name="in2" type="float" interfacename="topMix" />
|
||||
</multiply>
|
||||
<layer name="layer" type="BSDF">
|
||||
<input name="top" type="BSDF" nodename="mul" />
|
||||
<input name="base" type="BSDF" interfacename="materialBase" />
|
||||
</layer>
|
||||
<output name="out" type="BSDF" nodename="layer" />
|
||||
</nodegraph>
|
||||
</materialx>
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0"?>
|
||||
<materialx version="1.38" colorspace="acescg">
|
||||
|
||||
<!-- LamaMix for BSDFs -->
|
||||
<nodedef name="ND_lama_mix_bsdf" node="LamaMix" nodegroup="pbr" version="1.0" isdefaultversion="true">
|
||||
<input name="material1" uiname="Material 1" type="BSDF"
|
||||
doc="First material to mix." />
|
||||
<input name="material2" uiname="Material 2" type="BSDF"
|
||||
doc="Second material to mix." />
|
||||
<input name="mix" type="float" uimin="0.0" uimax="1.0" value="0.0"
|
||||
doc="Defines the balance between the two materials, ranging from 0 (Material 1 only) to 1 (Material 2 only). Can also be seen as a Material 2 over Material 1 mask." />
|
||||
<output name="out" type="BSDF" />
|
||||
</nodedef>
|
||||
<nodegraph name="NG_lama_mix_bsdf" nodedef="ND_lama_mix_bsdf">
|
||||
<mix name="mix" type="BSDF">
|
||||
<input name="fg" type="BSDF" interfacename="material2" />
|
||||
<input name="bg" type="BSDF" interfacename="material1" />
|
||||
<input name="mix" type="float" interfacename="mix" />
|
||||
</mix>
|
||||
<output name="out" type="BSDF" nodename="mix" />
|
||||
</nodegraph>
|
||||
|
||||
<!-- LamaMix for EDFs -->
|
||||
<nodedef name="ND_lama_mix_edf" node="LamaMix" nodegroup="pbr" version="1.0" isdefaultversion="true">
|
||||
<input name="material1" uiname="Material 1" type="EDF"
|
||||
doc="First material to mix." />
|
||||
<input name="material2" uiname="Material 2" type="EDF"
|
||||
doc="Second material to mix." />
|
||||
<input name="mix" type="float" uimin="0.0" uimax="1.0" value="0.0"
|
||||
doc="Defines the balance between the two materials, ranging from 0 (Material 1 only) to 1 (Material 2 only). Can also be seen as a Material 2 over Material 1 mask." />
|
||||
<output name="out" type="EDF" />
|
||||
</nodedef>
|
||||
<nodegraph name="NG_lama_mix_edf" nodedef="ND_lama_mix_edf">
|
||||
<mix name="mix" type="EDF">
|
||||
<input name="fg" type="EDF" interfacename="material2" />
|
||||
<input name="bg" type="EDF" interfacename="material1" />
|
||||
<input name="mix" type="float" interfacename="mix" />
|
||||
</mix>
|
||||
<output name="out" type="EDF" nodename="mix" />
|
||||
</nodegraph>
|
||||
</materialx>
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0"?>
|
||||
<materialx version="1.38" colorspace="acescg">
|
||||
<nodedef name="ND_lama_sheen" node="LamaSheen" nodegroup="pbr" doc="Lama sheen" version="1.0" isdefaultversion="true">
|
||||
<input name="color" type="color3" value="1, 1, 1" uiname="Color" uifolder="Main"
|
||||
doc="Amount of sheen to add, per channel. When this node is used as top material in a stack, the more sheen is added, the less energy will be transmitted to the base material." />
|
||||
<input name="roughness" type="float" value="0.1" uimin="0.0" uimax="1.0" uiname="Roughness" uifolder="Main"
|
||||
doc="Roughness of the sheen effect. Very rough sheen can be used to create a rough diffuse look (when combined with a diffuse node by a stack or mix)." />
|
||||
<input name="normal" type="vector3" defaultgeomprop="Nworld" uiname="Normal" uifolder="Main"
|
||||
doc="Shading normal, typically defined by bump or normal mapping. Defaults to the smooth surface normal if not set." />
|
||||
<output name="out" type="BSDF" />
|
||||
</nodedef>
|
||||
|
||||
<nodegraph name="IMPL_lama_sheen" nodedef="ND_lama_sheen">
|
||||
|
||||
<!-- Roughness -->
|
||||
<multiply name="roughness_compressed" type="float">
|
||||
<input name="in1" type="float" interfacename="roughness" />
|
||||
<input name="in2" type="float" value="0.9" />
|
||||
</multiply>
|
||||
<add name="roughness_remapped" type="float">
|
||||
<input name="in1" type="float" nodename="roughness_compressed" />
|
||||
<input name="in2" type="float" value="0.1" />
|
||||
</add>
|
||||
<power name="roughness_squared" type="float">
|
||||
<input name="in1" type="float" nodename="roughness_remapped" />
|
||||
<input name="in2" type="float" value="2" />
|
||||
</power>
|
||||
|
||||
<!-- BRDF -->
|
||||
<sheen_bsdf name="sheen_bsdf" type="BSDF">
|
||||
<input name="weight" type="float" value="1.0" />
|
||||
<input name="color" type="color3" interfacename="color" />
|
||||
<input name="roughness" type="float" nodename="roughness_squared" />
|
||||
<input name="normal" type="vector3" interfacename="normal" />
|
||||
</sheen_bsdf>
|
||||
|
||||
<!-- Output -->
|
||||
<output name="out" type="BSDF" nodename="sheen_bsdf" />
|
||||
|
||||
</nodegraph>
|
||||
</materialx>
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
<?xml version="1.0"?>
|
||||
<materialx version="1.38" colorspace="acescg">
|
||||
<nodedef name="ND_lama_sss" node="LamaSSS" nodegroup="pbr" doc="Lama SSS" version="1.0" isdefaultversion="true">
|
||||
<input name="color" type="color3" value="0.18, 0.18, 0.18" uiname="Color" uifolder="Main"
|
||||
doc="Diffuse color (aka albedo), defining what ratio of light is reflected -- or transmitted -- for each color channel." />
|
||||
<input name="normal" type="vector3" defaultgeomprop="Nworld" uiname="Normal" uifolder="Main"
|
||||
doc="Shading normal, typically defined by bump or normal mapping. Defaults to the smooth surface normal if not set." />
|
||||
<input name="sssRadius" type="color3" value="0.0, 0.0, 0.0" uiname="Radius" uifolder="SSS"
|
||||
doc="Diffuse Mean Free Path, expressed for each color channel in mm. Indicates on average how much the light travels under the surface before being scattered. The higher the value, the softer the result will be. If null, the computation simplifies to a Lambertian lobe." />
|
||||
<input name="sssScale" type="float" value="1.0" uiname="Scale" uifolder="SSS"
|
||||
doc="Multiplies the radius, to adjust its scale to the scene at hand. If null, the computation simplifies to a Lambertian lobe." />
|
||||
<input name="sssMode" type="integer" uniform="true" enum="Path-traced Davis,Path-traced exponential,Diffusion Burley,Diffusion Burley (mean free path)" enumvalues="0,1,2,3" value="0" uiname="Mode" uifolder="Main"
|
||||
doc="Selects what method should be used to compute sub-surface scattering. Proposes two path-traced variants, and a more traditional approximate diffusion model." />
|
||||
<input name="sssIOR" type="float" value="1.0" uimin="1.0" uimax="2.0" uiname="IOR" uifolder="SSS"
|
||||
doc="Index of refraction use to trigger cases of total internal reflections, when the paths are reaching the surface after having travelled under it. Can be used to avoid excessive glow in highly curved regions (corners, creases, ...)." />
|
||||
<input name="sssAnisotropy" type="float" value="0.0" uimin="-1.0" uimax="1.0" uiname="Anisotropy" uifolder="SSS"
|
||||
doc="Higher values makes light scatter predominantly forward under the surface, making the object look less diffuse and more transparent." />
|
||||
<input name="sssBleed" type="float" value="0.0" uimin="0.0" uimax="1.0" uiname="Bleed" uifolder="SSS"
|
||||
doc="Controls the depth of light bleed in the subsurface medium. Has the effect of increasing the distance light travels in the medium while preserving fine detail, compared to increasing the Mean Free Path." />
|
||||
<input name="sssFollowTopology" type="float" value="0.0" uimin="0.0" uimax="1.0" uiname="Follow Topology" uifolder="SSS"
|
||||
doc="Controls how strongly normals are considered in the subsurface computation." />
|
||||
<input name="sssSubset" type="string" uniform="true" value="" uiname="Subset" uifolder="SSS"
|
||||
doc="Specifies trace subset for inclusion/exclusion when struck by a ray indirectly." />
|
||||
<input name="sssContinuationRays" type="integer" value="0" uiname="Continuation Rays" uifolder="SSS"
|
||||
doc="When enabled, ignores internal geometry and jumps to the last surface." />
|
||||
<input name="sssUnitLength" type="float" value="0.00328" uiname="Unit Length" uifolder="SSS"
|
||||
doc="Specifies what unit length the scene is using. It is a multiplier on the mean free path or diffuse mean free path which is expressed in mm. The default value of 0.00328 converts between feet and mm." />
|
||||
<input name="mode" type="integer" uniform="true" enum="Reflection,Transmission,Reflection(with direct illumination)" enumvalues="0,1,2" value="0" uiname="Mode" uifolder="Advanced"
|
||||
doc="If the subsurface is enabled, Reflection: should be used when both the camera and the light are outside of the object. Reflection(with direct illumination): should be used when both the camera and the light are outside of the object. This mode also computes the direct illumination at the sss ray exit point. Transmission: should be used when the light is inside the object while the camera is outside. " />
|
||||
<input name="albedoInversionMethod" type="integer" enum="Pixar,Chiang" enumvalues="0,1" value="0" uiname="Albedo Inversion Method" uifolder="Advanced"
|
||||
doc="Decides which albedo inversion methods is used. Pixar: Does the Pixar Path Traced SSS default albedo inversion. Chiang: Does Chiang's albedo inversion (with no dmfp remapping). The look is closer to Arnold Standard Surface randomwalk." />
|
||||
<input name="diffuseLobeName" type="string" uniform="true" value="diffuse" uiname="Diffuse Lobe Name" uifolder="Advanced"
|
||||
doc="Defines the name that can be used in LPE AOVs for the diffuse lobe (when the SSS radius is null)." />
|
||||
<input name="sssEntryLobeName" type="string" uniform="true" value="irradiance" uiname="SSS Entry Lobe Name" uifolder="Advanced"
|
||||
doc="Defines the name that can be used in LPE AOVs for the SSS Entry lobe." />
|
||||
<input name="sssExitLobeName" type="string" uniform="true" value="" uiname="SSS Exit Lobe Name" uifolder="Advanced"
|
||||
doc="Defines the name that can be used in LPE AOVs for the SSS Exit lobe." />
|
||||
<input name="sssId" type="integer" uniform="true" value="0" enum="0, 1" enumvalues="0, 1" uiname="SSS Id" uifolder="Advanced"
|
||||
doc="SSS ID" />
|
||||
<input name="matte" type="string" uniform="true" value="" uiname="Matte" uifolder="Advanced"
|
||||
doc="Defines the name that can be used by the matte system, to output the weight of this lobe in the final material as an AOV." />
|
||||
<output name="out" type="BSDF" />
|
||||
</nodedef>
|
||||
|
||||
<nodegraph name="IMPL_lama_sss" nodedef="ND_lama_sss">
|
||||
|
||||
<!-- DMFP -->
|
||||
<convert name="subsurface_radius_vector" type="vector3">
|
||||
<input name="in" type="color3" interfacename="sssRadius" />
|
||||
</convert>
|
||||
<multiply name="subsurface_radius_scaled" type="vector3">
|
||||
<input name="in1" type="vector3" nodename="subsurface_radius_vector" />
|
||||
<input name="in2" type="float" interfacename="sssScale" />
|
||||
</multiply>
|
||||
<multiply name="subsurface_multiply_unitlength" type="vector3">
|
||||
<input name="in1" type="vector3" nodename="subsurface_radius_scaled" />
|
||||
<input name="in2" type="float" interfacename="sssUnitLength" />
|
||||
</multiply>
|
||||
|
||||
<!-- BRDF -->
|
||||
<subsurface_bsdf name="subsurface_bsdf" type="BSDF">
|
||||
<input name="weight" type="float" value="1.0" />
|
||||
<input name="color" type="color3" interfacename="color" />
|
||||
<input name="radius" type="vector3" nodename="subsurface_multiply_unitlength" />
|
||||
<input name="anisotropy" type="float" interfacename="sssAnisotropy" />
|
||||
<input name="normal" type="vector3" interfacename="normal" />
|
||||
</subsurface_bsdf>
|
||||
|
||||
<!-- Output -->
|
||||
<output name="out" type="BSDF" nodename="subsurface_bsdf" />
|
||||
|
||||
</nodegraph>
|
||||
</materialx>
|
||||
Vendored
+26
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0"?>
|
||||
<materialx version="1.38" colorspace="acescg">
|
||||
<nodedef name="ND_lama_translucent" node="LamaTranslucent" nodegroup="pbr" version="1.0" isdefaultversion="true">
|
||||
<input name="color" uiname="Color" type="color3" value="0.18, 0.18, 0.18"
|
||||
doc="Translucent color (aka albedo), defining what ratio of light is transmitted for each color channel." />
|
||||
<input name="roughness" uiname="Roughness" type="float" uimin="0.0" uimax="1.0" value="0.0"
|
||||
doc="Micro-facet distribution (Oren-Nayar) roughness." />
|
||||
<input name="normal" uiname="Normal" type="vector3" defaultgeomprop="Nworld"
|
||||
doc="Shading normal, typically defined by bump or normal mapping. Defaults to the smooth surface normal if not set." />
|
||||
<input name="energyCompensation" uiname="Energy Compensation" uifolder="Advanced" type="float" uniform="true" uimin="0.0" uimax="1.0" value="1.0"
|
||||
doc="Indicates how much energy should be added to compensate for the loss inherent to the Oren-Nayar model, ranging from no compensation at all, to the expected energy from multiple scattering between the micro-facets. This prevents overly dark results when roughness is high." />
|
||||
<input name="lobeName" uiname="Lobe Name" uifolder="Advanced" type="string" uniform="true" value="diffuse"
|
||||
doc="Defines the name that can be used in LPE AOVs for this lobe." />
|
||||
<input name="matte" uiname="Matte" uifolder="Advanced" type="string" uniform="true" value=""
|
||||
doc="Defines the name that can be used by the matte system, to output the weight of this lobe in the final material as an AOV." />
|
||||
<output name="out" type="BSDF" />
|
||||
</nodedef>
|
||||
|
||||
<nodegraph name="NG_lama_translucent" nodedef="ND_lama_translucent">
|
||||
<translucent_bsdf name="translucent_bsdf1" type="BSDF">
|
||||
<input name="color" type="color3" interfacename="color" />
|
||||
<input name="normal" type="vector3" interfacename="normal" />
|
||||
</translucent_bsdf>
|
||||
<output name="out" type="BSDF" nodename="translucent_bsdf1" />
|
||||
</nodegraph>
|
||||
</materialx>
|
||||
Reference in New Issue
Block a user