|
| 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.