Rebel Fork Framework
|
Vertex or pixel shader on the GPU. More...
#include <Urho3D/Graphics/ShaderVariation.h>
Public Member Functions | |
ShaderVariation (Shader *owner, ShaderType type, const ea::string &defines) | |
ea::string | GetShaderName () const |
Return shader name (as used in resources). | |
ea::string | GetShaderVariationName () const |
Return full shader variation name with defines. | |
const ea::string & | GetDefines () const |
Return defines used to create the shader. | |
Private Member Functions | |
ea::string | GetCachedVariationName (ea::string_view extension) const |
bool | NeedShaderTranslation () const |
bool | NeedShaderOptimization () const |
ea::string | PrepareGLSLShaderCode (const ea::string &originalShaderCode) const |
bool | ProcessShaderSource (ea::string_view &translatedSource, const SpirVShader *&translatedSpirv, ConstByteSpan &translatedBytecode, ea::string_view originalShaderCode) |
void | OnReloaded () |
bool | Create () |
bool | CompileFromSource () |
bool | LoadByteCode (const FileIdentifier &binaryShaderName) |
void | SaveByteCode (const FileIdentifier &binaryShaderName) |
Private Attributes | |
WeakPtr< Graphics > | graphics_ |
Cached pointer to Graphics subsystem. | |
WeakPtr< Shader > | owner_ |
Source shader. | |
ea::string | defines_ |
Defines to use when compiling the shader. | |
Vertex or pixel shader on the GPU.