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):
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 > |