U3D
Open-source, cross-platform 2D and 3D game engine built in C++
|
Material rendering pass, which defines shaders and render state. More...
#include </var/dev/u3d/stable/Source/Urho3D/Graphics/Technique.h>
Public Member Functions | |
Pass (const String &name) | |
Construct. | |
~Pass () override | |
Destruct. | |
void | SetBlendMode (BlendMode mode) |
void | SetCullMode (CullMode mode) |
void | SetDepthTestMode (CompareMode mode) |
void | SetLightingMode (PassLightingMode mode) |
void | SetDepthWrite (bool enable) |
void | SetAlphaToCoverage (bool enable) |
void | SetIsDesktop (bool enable) |
void | SetVertexShader (const String &name) |
void | SetPixelShader (const String &name) |
void | SetVertexShaderDefines (const String &defines) |
void | SetPixelShaderDefines (const String &defines) |
void | SetVertexShaderDefineExcludes (const String &excludes) |
void | SetPixelShaderDefineExcludes (const String &excludes) |
void | ReleaseShaders () |
Reset shader pointers. | |
void | MarkShadersLoaded (unsigned frameNumber) |
Mark shaders loaded this frame. | |
const String & | GetName () 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 |
CullMode | GetCullMode () const |
CompareMode | GetDepthTestMode () const |
PassLightingMode | GetLightingMode () const |
unsigned | GetShadersLoadedFrameNumber () const |
Return last shaders loaded frame number. | |
bool | GetDepthWrite () const |
bool | GetAlphaToCoverage () const |
bool | IsDesktop () const |
const String & | GetVertexShader () const |
const String & | GetPixelShader () const |
const String & | GetVertexShaderDefines () const |
const String & | GetPixelShaderDefines () const |
const String & | GetVertexShaderDefineExcludes () const |
const String & | GetPixelShaderDefineExcludes () const |
Vector< SharedPtr< ShaderVariation > > & | GetVertexShaders () |
Return vertex shaders. | |
Vector< SharedPtr< ShaderVariation > > & | GetPixelShaders () |
Return pixel shaders. | |
Vector< SharedPtr< ShaderVariation > > & | GetVertexShaders (const StringHash &extraDefinesHash) |
Return vertex shaders with extra defines from the renderpath. | |
Vector< SharedPtr< ShaderVariation > > & | GetPixelShaders (const StringHash &extraDefinesHash) |
Return pixel shaders with extra defines from the renderpath. | |
String | GetEffectiveVertexShaderDefines () const |
Return the effective vertex shader defines, accounting for excludes. Called internally by Renderer. | |
String | GetEffectivePixelShaderDefines () const |
Return the effective pixel shader defines, accounting for excludes. Called internally by Renderer. | |
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. | |
RefCounted (const RefCounted &rhs)=delete | |
Prevent copy construction. | |
RefCounted & | operator= (const RefCounted &rhs)=delete |
Prevent assignment. | |
void | AddRef () |
void | ReleaseRef () |
int | Refs () const |
int | WeakRefs () const |
RefCount * | RefCountPtr () |
Return pointer to the reference count structure. | |
Private Attributes | |
unsigned | index_ |
Pass index. | |
BlendMode | blendMode_ |
Blend mode. | |
CullMode | cullMode_ |
Culling mode. | |
CompareMode | depthTestMode_ |
Depth compare mode. | |
PassLightingMode | lightingMode_ |
Lighting mode. | |
unsigned | shadersLoadedFrameNumber_ |
Last shaders loaded frame number. | |
bool | depthWrite_ |
Depth write mode. | |
bool | alphaToCoverage_ |
Alpha-to-coverage mode. | |
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. | |
String | vertexShaderDefineExcludes_ |
Vertex shader define excludes. | |
String | pixelShaderDefineExcludes_ |
Pixel shader define excludes. | |
Vector< SharedPtr< ShaderVariation > > | vertexShaders_ |
Vertex shaders. | |
Vector< SharedPtr< ShaderVariation > > | pixelShaders_ |
Pixel shaders. | |
HashMap< StringHash, Vector< SharedPtr< ShaderVariation > > > | extraVertexShaders_ |
Vertex shaders with extra defines from the renderpath. | |
HashMap< StringHash, Vector< SharedPtr< ShaderVariation > > > | extraPixelShaders_ |
Pixel shaders with extra defines from the renderpath. | |
String | name_ |
Pass name. | |
Material rendering pass, which defines shaders and render state.
|
inline |
Return alpha-to-coverage mode.
|
inline |
Return blend mode.
|
inline |
Return culling mode override. If pass is not overriding culling mode (default), the illegal mode MAX_CULLMODES is returned.
|
inline |
Return depth compare mode.
|
inline |
Return depth write mode.
|
inline |
Return pass lighting mode.
|
inline |
Return pixel shader name.
|
inline |
Return pixel shader define excludes.
|
inline |
Return pixel shader defines.
|
inline |
Return vertex shader name.
|
inline |
Return vertex shader define excludes.
|
inline |
Return vertex shader defines.
|
inline |
Return whether requires desktop level hardware.
void Urho3D::Pass::SetAlphaToCoverage | ( | bool | enable | ) |
Set alpha-to-coverage on/off.
void Urho3D::Pass::SetBlendMode | ( | BlendMode | mode | ) |
Set blend mode.
void Urho3D::Pass::SetCullMode | ( | CullMode | mode | ) |
Set culling mode override. By default culling mode is read from the material instead. Set the illegal culling mode MAX_CULLMODES to disable override again.
void Urho3D::Pass::SetDepthTestMode | ( | CompareMode | mode | ) |
Set depth compare mode.
void Urho3D::Pass::SetDepthWrite | ( | bool | enable | ) |
Set depth write on/off.
void Urho3D::Pass::SetIsDesktop | ( | bool | enable | ) |
Set whether requires desktop level hardware.
void Urho3D::Pass::SetLightingMode | ( | PassLightingMode | mode | ) |
Set pass lighting mode, affects what shader variations will be attempted to be loaded.
void Urho3D::Pass::SetPixelShader | ( | const String & | name | ) |
Set pixel shader name.
void Urho3D::Pass::SetPixelShaderDefineExcludes | ( | const String & | excludes | ) |
Set pixel shader define excludes. Use to mark defines that the shader code will not recognize, to prevent compiling redundant shader variations.
void Urho3D::Pass::SetPixelShaderDefines | ( | const String & | defines | ) |
Set pixel shader defines. Separate multiple defines with spaces.
void Urho3D::Pass::SetVertexShader | ( | const String & | name | ) |
Set vertex shader name.
void Urho3D::Pass::SetVertexShaderDefineExcludes | ( | const String & | excludes | ) |
Set vertex shader define excludes. Use to mark defines that the shader code will not recognize, to prevent compiling redundant shader variations.
void Urho3D::Pass::SetVertexShaderDefines | ( | const String & | defines | ) |
Set vertex shader defines. Separate multiple defines with spaces.