Documentation
Urho3D::ShaderVariation Class Reference
Vertex or pixel shader on the GPU. More...
#include <OGLShaderVariation.h>
Inheritance diagram for Urho3D::ShaderVariation:
Collaboration diagram for Urho3D::ShaderVariation:
Public Member Functions | |
ShaderVariation (Shader *owner, ShaderType type) | |
Construct. | |
virtual | ~ShaderVariation () |
Destruct. | |
virtual void | Release () |
Release the shader. | |
bool | Create () |
Compile the shader. Return true if successful. | |
void | SetName (const String &name) |
Set name. | |
void | SetDefines (const String &defines) |
Set defines. | |
Shader * | GetOwner () const |
Return the owner resource. | |
ShaderType | GetShaderType () const |
Return shader type. | |
const String & | GetName () const |
Return shader name. | |
String | GetFullName () const |
Return full shader name. | |
bool | HasParameter (StringHash param) const |
Return whether uses a parameter. | |
bool | HasTextureUnit (TextureUnit unit) const |
Return whether uses a texture unit (only for pixel shaders.) | |
const HashMap< StringHash, ShaderParameter > & | GetParameters () const |
Return all parameter definitions. | |
unsigned | GetElementMask () const |
Return vertex element mask. | |
const PODVector< unsigned char > & | GetByteCode () const |
Return shader bytecode. | |
const String & | GetDefines () const |
Return defines. | |
const String & | GetCompilerOutput () const |
Return compile error/warning string. | |
const unsigned * | GetConstantBufferSizes () const |
Return constant buffer data sizes. | |
ShaderVariation (Shader *owner, ShaderType type) | |
Construct. | |
virtual | ~ShaderVariation () |
Destruct. | |
virtual void | OnDeviceLost () |
Mark the GPU resource destroyed on context destruction. | |
virtual void | Release () |
Release the shader. | |
bool | Create () |
Compile the shader. Return true if successful. | |
void | SetName (const String &name) |
Set name. | |
void | SetDefines (const String &defines) |
Set defines. | |
Shader * | GetOwner () const |
Return the owner resource. | |
ShaderType | GetShaderType () const |
Return shader type. | |
const String & | GetName () const |
Return name. | |
const String & | GetDefines () const |
Return defines. | |
String | GetFullName () const |
Return full shader name. | |
const String & | GetCompilerOutput () const |
Return compile error/warning string. | |
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. | |
RefCount * | RefCountPtr () |
Return pointer to the reference count structure. | |
Public Member Functions inherited from Urho3D::GPUObject | |
GPUObject (Graphics *graphics) | |
Construct with graphics subsystem pointer. | |
virtual | ~GPUObject () |
Destruct. Remove from the graphics subsystem. | |
void | ClearDataLost () |
Clear the data lost flag. No-op on D3D11. | |
Graphics * | GetGraphics () const |
Return the graphics subsystem. | |
void * | GetGPUObject () const |
Return Direct3D object. | |
bool | IsDataLost () const |
Return whether data is lost due to device loss. Always false on D3D11. | |
bool | HasPendingData () const |
Return whether has pending data assigned while device was lost. Always false on D3D11. | |
GPUObject (Graphics *graphics) | |
Construct with graphics subsystem pointer. | |
virtual | ~GPUObject () |
Destruct. Remove from the Graphics. | |
virtual void | OnDeviceReset () |
Recreate the GPU resource and restore data if applicable. | |
void | ClearDataLost () |
Clear the data lost flag. | |
Graphics * | GetGraphics () const |
Return the graphics subsystem. | |
unsigned | GetGPUObject () const |
Return the object's OpenGL handle. | |
bool | IsDataLost () const |
Return whether data is lost due to context loss. | |
bool | HasPendingData () const |
Return whether has pending data assigned while context was lost. | |
Private Member Functions | |
bool | LoadByteCode (const String &binaryShaderName) |
Load bytecode from a file. Return true if successful. More... | |
bool | Compile () |
Compile from source. Return true if successful. | |
void | ParseParameters (unsigned char *bufData, unsigned bufSize) |
Inspect the constant parameters and input layout (if applicable) from the shader bytecode. | |
void | SaveByteCode (const String &binaryShaderName) |
Save bytecode to a file. | |
void | CalculateConstantBufferSizes () |
Calculate constant buffer sizes from parameters. | |
Private Attributes | |
WeakPtr< Shader > | owner_ |
Shader this variation belongs to. | |
ShaderType | type_ |
Shader type. | |
unsigned | elementMask_ |
Vertex element mask for vertex shaders. Zero for pixel shaders. | |
HashMap< StringHash, ShaderParameter > | parameters_ |
Shader parameters. | |
bool | useTextureUnit_ [MAX_TEXTURE_UNITS] |
Texture unit use flags. | |
unsigned | constantBufferSizes_ [MAX_SHADER_PARAMETER_GROUPS] |
Constant buffer sizes. 0 if a constant buffer slot is not in use. | |
PODVector< unsigned char > | byteCode_ |
Bytecode. Needed for inspecting the input signature and parameters. | |
String | name_ |
Shader name. | |
String | defines_ |
Defines to use in compiling. | |
String | compilerOutput_ |
Shader compile error string. | |
Additional Inherited Members | |
Protected Attributes inherited from Urho3D::GPUObject | |
WeakPtr< Graphics > | graphics_ |
Graphics subsystem. | |
void * | object_ |
Direct3D object. | |
unsigned | object_ |
Object handle. | |
bool | dataLost_ |
Data lost flag. | |
bool | dataPending_ |
Data pending flag. | |
Detailed Description
Vertex or pixel shader on the GPU.
Member Function Documentation
|
private |
Load bytecode from a file. Return true if successful.
- Todo:
- Check that shader type and model match
Here is the call graph for this function:
Here is the caller graph for this function:
The documentation for this class was generated from the following files:
- /home/travis/build/urho3d/Urho3D/Source/Urho3D/Graphics/Direct3D11/D3D11ShaderVariation.h
- /home/travis/build/urho3d/Urho3D/Source/Urho3D/Graphics/OpenGL/OGLShaderVariation.h
- /home/travis/build/urho3d/Urho3D/Source/Urho3D/Graphics/Direct3D11/D3D11ShaderVariation.cpp
- /home/travis/build/urho3d/Urho3D/Source/Urho3D/Graphics/OpenGL/OGLShaderVariation.cpp