pass
Tag: pass
Parent tag: pipeline
Attributes:
name(string): the pass nameclass(string): the pass class. Can be one of: default, depthmap, quad, profiler, compute, optix or optixPrime
Different classes take different subsets of child tags. Class “profiler” does not take any child tags as it has a fixed behaviour: displaying profiler stats on top of the previously rendered stuff.
All pass classes child tags:
modepreProcesspostProcesstestScriptpreScriptpostScript
Class “default” and “depthmap” child tags:
scenescameraviewportlightsrenderTargetmaterialMapsinjectionMapscolor related tagsdepth related tagsstencil related tags
Class “quad” child tags:
Class “compute” child tags:
Class “optix” child tags:
scenescameraviewportlightsrenderTargetmaterialMapsinjectionMapsoptixEntryPointsoptixDefaultMaterialoptixMaterialMapoptixVertexAttributesoptixGeometryProgramoptixMaterialAttributesoptixGlobalAttributesoptixInput
Class “optixPrime” child tags:
Class “default” example (simple):
1 2 3 4 5 6 7 8 9 10  | <pass class="default" name="teapotRendering" >    <viewport name="MainViewport" />    <scenes>        <scene name="Teapot" />    </scenes>    <camera name="MainCamera" />    <lights>        <light name="Sun" />    </lights></pass> | 
Class “default” example (with material and injection maps maps):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25  | <pass class="default" name="pass1">    <scenes>        <scene name="Main" />        <scene name="Trees" />        <scene name="Other" />    </scenes>    <camera name="MainCamera" />    <viewport name="MainViewport" />                  <lights>        <light name="Sun" />    </lights>    <materialMaps>        <map fromMaterial="Glass"             toLibrary="PL3D_Materials" toMaterial="Glass" />        <map fromMaterial="Water"             toLibrary="PL3D_Materials" toMaterial="Water" />        <map fromMaterial="skydome"             toLibrary="PL3D_Materials" toMaterial="Sky" />    </materialMaps>    <injectionMaps>        <map toMaterial="BalconyBars*">            <state name="BalconyBars" fromLibrary="PL3D_Materials" />        </map>    </injectionMaps></pass> | 
Class “quad” examples:
1 2 3 4 5 6 7 8 9  | <pass class="quad" name="pass4">    <viewport name="MiddleViewport" />    <texture name="offscreenrender" fromLibrary="Optix Ray Tracer Render Target" /></pass><pass class="quad" name="pass5">    <viewport name="RightViewport" />    <material name="combine" fromLibrary="Deferred" />         </pass>    | 
Class “compute” example:
1 2 3  | <pass class="compute" name="pass1">    <material name="computeShader" fromLibrary="Compute" dimX=64, dimY=64 dimZ=1 /></pass> | 
Class “optix” example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33  | <pass class="optix" name="pass2">    <scenes>        <scene name="MainScene" />    </scenes>    <camera name="MainCamera" />    <rendertarget name="test" fromLibrary="Optix Ray Tracer Render Target" />    <lights>        <light name="Sun" />    </lights>    <materialMaps>        <map fromMaterial="*" toLibrary="nau_material_lib" toMaterial="__Black" />    </materialMaps>    <optixEntryPoint>        <optixProgram type="RayGen" file="optix/deferredShadows.ptx" proc="buffer_camera"/>         <optixProgram type="Exception" file="optix/deferredShadows.ptx" proc="exception"/>     </optixEntryPoint>    <optixDefaultMaterial>        <optixProgram type="Any_Hit"      ray="Shadow" file="optix/deferredShadows.ptx" proc="any_hit_shadow"/>     </optixDefaultMaterial>    <optixGeometryProgram>        <optixProgram type="Geometry_Intersection"   file="optix/deferredShadows.ptx" proc="geometryintersection"/>        <optixProgram type="Bounding_Box"   file="optix/deferredShadows.ptx" proc="boundingbox"/>    </optixGeometryProgram>    <optixVertexAttributes>        <attribute name="position"/>    </optixVertexAttributes>    <optixGlobalAttributes>        <valueof optixVar="lightDir" type="CURRENT" context="LIGHT" id=0 component="DIRECTION" />    </optixGlobalAttributes>    <optixInput>        <buffer var="pos_buffer" texture="Deferred Render Targets::pos" />    </optixInput></pass> | 
Class “optixPrime” example:
1 2 3 4 5  | <pass name="Optix Prime" class="optixPrime">    <scene name="bench" />    <rays buffer="PrimeShadows::rays" queryType = "ANY"/>     <hits buffer ="PrimeShadows::hits" /></pass>        |