|
|
| ShaderVariation (Shader *owner, ShaderType type) |
| | Construct.
|
| |
|
| ~ShaderVariation () override |
| | Destruct.
|
| |
| void | OnDeviceLost () override |
| | Mark the GPU resource destroyed on graphics context destruction. More...
|
| |
| void | Release () override |
| | Release the shader. More...
|
| |
|
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. Not applicable on OpenGL, where this information is contained in ShaderProgram instead.
|
| |
|
bool | HasTextureUnit (TextureUnit unit) const |
| | Return whether uses a texture unit (only for pixel shaders). Not applicable on OpenGL, where this information is contained in ShaderProgram instead.
|
| |
|
const HashMap< StringHash, ShaderParameter > & | GetParameters () const |
| | Return all parameter definitions. Not applicable on OpenGL, where this information is contained in ShaderProgram instead.
|
| |
|
unsigned long long | GetElementHash () const |
| | Return vertex element hash.
|
| |
|
const PODVector< unsigned char > & | GetByteCode () const |
| | Return shader bytecode. Stored persistently on Direct3D11 only.
|
| |
|
const String & | GetDefines () const |
| | Return defines.
|
| |
|
const String & | GetCompilerOutput () const |
| | Return compile error/warning string.
|
| |
|
const unsigned * | GetConstantBufferSizes () const |
| | Return constant buffer data sizes.
|
| |
|
const String & | GetDefinesClipPlane () |
| | Return defines with the CLIPPLANE define appended. Used internally on Direct3D11 only, will be empty on other APIs.
|
| |
|
| 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.
|
| |
|
| GPUObject (Graphics *graphics) |
| | Construct with graphics subsystem pointer.
|
| |
|
virtual | ~GPUObject () |
| | Destruct. Remove from the Graphics.
|
| |
| virtual void | OnDeviceLost () |
| | Mark the GPU resource destroyed on graphics context destruction. More...
|
| |
| virtual void | OnDeviceReset () |
| | Recreate the GPU resource and restore data if applicable. More...
|
| |
| virtual void | Release () |
| | Unconditionally release the GPU resource. More...
|
| |
|
void | ClearDataLost () |
| | Clear the data lost flag.
|
| |
|
Graphics * | GetGraphics () const |
| | Return the graphics subsystem associated with this GPU object.
|
| |
|
void * | GetGPUObject () const |
| | Return the object pointer. Applicable only on Direct3D.
|
| |
|
unsigned | GetGPUObjectName () const |
| | Return the object name. Applicable only on OpenGL.
|
| |
| bool | IsDataLost () const |
| |
|
bool | HasPendingData () const |
| | Return whether has pending data assigned while graphics context was lost.
|
| |
|
|
bool | LoadByteCode (const String &binaryShaderName) |
| | Load bytecode from a file. Return true if successful.
|
| |
|
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.
|
| |
|
|
WeakPtr< Shader > | owner_ |
| | Shader this variation belongs to.
|
| |
|
ShaderType | type_ |
| | Shader type.
|
| |
|
unsigned long long | elementHash_ {} |
| | Vertex element hash for vertex shaders. Zero for pixel shaders. Note that hashing is different than vertex buffers.
|
| |
|
HashMap< StringHash, ShaderParameter > | parameters_ |
| | Shader parameters.
|
| |
|
bool | useTextureUnits_ [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_ |
| | Shader bytecode. Needed for inspecting the input signature and parameters. Not used on OpenGL.
|
| |
|
String | name_ |
| | Shader name.
|
| |
|
String | defines_ |
| | Defines to use in compiling.
|
| |
|
String | definesClipPlane_ |
| | Defines to use in compiling + CLIPPLANE define appended. Used only on Direct3D11.
|
| |
|
String | compilerOutput_ |
| | Shader compile error string.
|
| |
Vertex or pixel shader on the GPU.