class
Shader
Contains definitions of GPU programs used for rendering, as well as a set of global parameters to control those programs.
Public
Methods
GetShaderName
Returns the name of the shader.
SetIncludeFiles
Sets a list include file paths that are referenced by this shader.
staticIsSampler
Checks is the provided object type a sampler.
staticIsTexture
Checks is the provided object type a texture.
staticIsLoadStoreTexture
Checks is the provided object type a load/store (unordered read/write) texture.
staticIsBuffer
Checks is the provided object type a buffer.
staticGetDataParameterSize
Returns the size in bytes for a specific data type.
staticCreate
Creates a new shader resource using the provided descriptor and variations.
staticCreateEmpty
Returns a shader object but doesn't initialize it.
staticComputeHash
Computes a hash from shader source code.
staticComputeIncludeHash
Computes a hash for a shader include at the provided path.
- path
- Relative path to the include, as provided in the shader source.
Returns: Computed hash value.
staticGetRttiStatic
~TShader<IsRenderProxy>
GetVariationCount
Returns the total number of variations in this shader.
GetCompatibleVariations
Returns the list of all supported variations based on current render API and renderer.
GetVariations
Returns a list of all variations in this shader.
GetVariationParameters
Returns the list of all variation parameters supported by this shader, possible values of each parameter and other meta-data.
GetQueuePriority
Returns currently active queue priority.
GetAllowSeparablePasses
Returns if separable passes are allowed.
GetFlags
Returns flags that control how the renderer interprets the shader.
Actual interpretation of the flags depends on the active renderer.
GetDataParameterDescription
Returns description for a data parameter with the specified name.
Returns null if it doesn't exist.
GetTextureParameterDescription
Returns description for a texture parameter with the specified name.
Returns null if it doesn't exist.
GetSamplerParameterDescription
Returns description for a sampler parameter with the specified name.
Returns null if it doesn't exist.
GetBufferParameterInformation
Returns description for a buffer parameter with the specified name.
Returns null if it doesn't exist.
HasDataParameter
Checks if the parameter with the specified name exists, and is a data parameter.
HasTextureParameter
Checks if the parameter with the specified name exists, and is a texture parameter.
HasSamplerParameter
Checks if the parameter with the specified name exists, and is a sampler parameter.
HasBufferParameter
Checks if the parameter with the specified name exists, and is a buffer parameter.
HasUniformBuffer
Checks if the uniform buffer with the specified name exists.
GetDataParameters
Returns a map of all data parameters in the shader.
GetTextureParameters
Returns a map of all texture parameters in the shader.
GetBufferParameters
Returns a map of all buffer parameters in the shader.
GetSamplerParameters
Returns a map of all sampler parameters in the shader.
GetUniformBuffers
Returns a map of all uniform buffers.
GetParameterAttributes
Returns a list of all parameter attributes, as referenced by individual parameters.
GetDefault2DTexture
Returns a default 2D texture for a parameter that has the specified default value index (retrieved from the parameters descriptor).
GetDefault3DTexture
Returns a default 3D texture for a parameter that has the specified default value index (retrieved from the parameters descriptor).
GetDefaultSampler
Returns a default sampler state for a parameter that has the specified default value index (retrieved from the parameters descriptor).
GetDefaultValue
Returns a pointer to the internal buffer containing the default value for a data parameter that has the specified default value index (retrieved from the parameters descriptor).
GetShaderId
Returns the unique shader ID.
Internal
Methods
GetCompilerMetaData
Returns the meta-data required by the shader compiler to compile individual shader variations.
Protected
Fields
mInformation
mShaderId
Private
Constructors
Shader
Shader
*********************************************************************
Methods
GetCoreDependencies
Populates the provided array with all core objects that this core object depends upon.
Dependencies are required for syncing to the render thread, so the system can be aware to update the dependant objects if a dependency is marked as dirty (for example updating a camera's viewport should also trigger an update on camera so it has a chance to potentially update its data).
CreateRenderProxy
Creates an object that contains render thread specific data and methods for this object.
Can be null if such object is not required.