Material rendering pass, which defines shaders and render state. More...

#include <Technique.h>

Inheritance diagram for Urho3D::Pass:
[legend]
Collaboration diagram for Urho3D::Pass:
[legend]

Public Member Functions

 Pass (const String &passName)
 Construct.
 
 ~Pass ()
 Destruct.
 
void SetBlendMode (BlendMode mode)
 Set blend mode.
 
void SetDepthTestMode (CompareMode mode)
 Set depth compare mode.
 
void SetLightingMode (PassLightingMode mode)
 Set pass lighting mode, affects what shader variations will be attempted to be loaded.
 
void SetDepthWrite (bool enable)
 Set depth write on/off.
 
void SetAlphaMask (bool enable)
 Set alpha masking hint. Completely opaque draw calls will be performed before alpha masked.
 
void SetIsDesktop (bool enable)
 Set whether requires desktop level hardware.
 
void SetVertexShader (const String &name)
 Set vertex shader name.
 
void SetPixelShader (const String &name)
 Set pixel shader name.
 
void SetVertexShaderDefines (const String &defines)
 Set vertex shader defines.
 
void SetPixelShaderDefines (const String &defines)
 Set pixel shader defines.
 
void ReleaseShaders ()
 Reset shader pointers.
 
void MarkShadersLoaded (unsigned frameNumber)
 Mark shaders loaded this frame.
 
const StringGetName () const
 Return pass name.
 
unsigned GetIndex () const
 Return pass index. This is used for optimal render-time pass queries that avoid map lookups.
 
BlendMode GetBlendMode () const
 Return blend mode.
 
CompareMode GetDepthTestMode () const
 Return depth compare mode.
 
PassLightingMode GetLightingMode () const
 Return pass lighting mode.
 
unsigned GetShadersLoadedFrameNumber () const
 Return last shaders loaded frame number.
 
bool GetDepthWrite () const
 Return depth write mode.
 
bool GetAlphaMask () const
 Return alpha masking hint.
 
bool IsDesktop () const
 Return whether requires desktop level hardware.
 
const StringGetVertexShader () const
 Return vertex shader name.
 
const StringGetPixelShader () const
 Return pixel shader name.
 
const StringGetVertexShaderDefines () const
 Return vertex shader defines.
 
const StringGetPixelShaderDefines () const
 Return pixel shader defines.
 
Vector< SharedPtr
< ShaderVariation > > & 
GetVertexShaders ()
 Return vertex shaders.
 
Vector< SharedPtr
< ShaderVariation > > & 
GetPixelShaders ()
 Return pixel shaders.
 
- Public Member Functions inherited from Urho3D::RefCounted
 RefCounted ()
 Construct. Allocate the reference count structure and set an initial self weak reference.
 
virtual ~RefCounted ()
 Destruct. Mark as expired and also delete the reference count structure if no outside weak references exist.
 
void AddRef ()
 Increment reference count. Can also be called outside of a SharedPtr for traditional reference counting.
 
void ReleaseRef ()
 Decrement reference count and delete self if no more references. Can also be called outside of a SharedPtr for traditional reference counting.
 
int Refs () const
 Return reference count.
 
int WeakRefs () const
 Return weak reference count.
 
RefCountRefCountPtr ()
 Return pointer to the reference count structure.
 

Private Attributes

unsigned index_
 Pass index.
 
BlendMode blendMode_
 Blend mode.
 
CompareMode depthTestMode_
 Depth compare mode.
 
PassLightingMode lightingMode_
 Lighting mode.
 
unsigned shadersLoadedFrameNumber_
 Last shaders loaded frame number.
 
bool depthWrite_
 Depth write mode.
 
bool alphaMask_
 Alpha masking hint.
 
bool isDesktop_
 Require desktop level hardware flag.
 
String vertexShaderName_
 Vertex shader name.
 
String pixelShaderName_
 Pixel shader name.
 
String vertexShaderDefines_
 Vertex shader defines.
 
String pixelShaderDefines_
 Pixel shader defines.
 
Vector< SharedPtr
< ShaderVariation > > 
vertexShaders_
 Vertex shaders.
 
Vector< SharedPtr
< ShaderVariation > > 
pixelShaders_
 Pixel shaders.
 
String name_
 Pass name.
 

Detailed Description

Material rendering pass, which defines shaders and render state.


The documentation for this class was generated from the following files:
  • /home/travis/build/urho3d/Urho3D/Source/Urho3D/Graphics/Technique.h
  • /home/travis/build/urho3d/Urho3D/Source/Urho3D/Graphics/Technique.cpp