class
Pass
Class defining a single pass of a variation (of a material).
Pass may contain multiple GPU programs (vertex, fragment, geometry, etc.), and a set of pipeline states (blend, rasterizer, etc.). When initially created the pass is in its uncompiled state. It needs to be explicitly compiled by calling Compile() before use.
Public
Methods
~Pass
Compile
Initializes the pass internals by compiling the GPU programs and creating the relevant pipeline state.
This method must be called before pass pipelines can be retrieved. After initial compilation further calls do this method will perform no operation.
staticGetRttiStatic
~TPass<IsRenderProxy>
HasBlending
Returns true if this pass has some element of transparency.
IsCompute
Returns true if the pass executes a compute program.
GetStencilRefValue
Gets the stencil reference value that is used when performing operations using the stencil buffer.
GetGpuProgramCreateInformation
Returns the GPU program descriptor for the specified GPU program type.
GetGraphicsPipelineState
Returns the graphics pipeline state describing this pass, or null if its a compute pass.
Only valid after Compile() has been called.
GetComputePipelineState
Returns the compute pipeline state describing this pass, or null if its a graphics pass.
Only valid after compile has been called.
Protected
Constructors
Pass
Pass
Methods
CreateRenderProxySyncPacket
Creates a data packet that will be used for syncing the core object with it's render proxy.
Caller must free the retrieved packet using the provided allocator when done using it.
CreateRenderProxy
Creates an object that contains render thread specific data and methods for this object.
Can be null if such object is not required.
staticCreateEmpty
Creates a new empty pass but doesn't initialize it.
CreatePipelineState
Creates either the graphics or the compute pipeline state from the stored pass data.