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:
mode
preProcess
postProcess
testScript
preScript
postScript
Class “default” and “depthmap” child tags:
scenes
camera
viewport
lights
renderTarget
materialMaps
injectionMaps
color related tags
depth related tags
stencil related tags
Class “quad” child tags:
Class “compute” child tags:
Class “optix” child tags:
scenes
camera
viewport
lights
renderTarget
materialMaps
injectionMaps
optixEntryPoints
optixDefaultMaterial
optixMaterialMap
optixVertexAttributes
optixGeometryProgram
optixMaterialAttributes
optixGlobalAttributes
optixInput
Class “optixPrime” child tags:
Class “default” example (simple):
<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):
<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:
<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:
<pass class="compute" name="pass1"> <material name="computeShader" fromLibrary="Compute" dimX=64, dimY=64 dimZ=1 /> </pass>
Class “optix” example:
<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:
<pass name="Optix Prime" class="optixPrime"> <scene name="bench" /> <rays buffer="PrimeShadows::rays" queryType = "ANY"/> <hits buffer ="PrimeShadows::hits" /> </pass>