Urho3D::ShaderVariation Class Reference

Vertex or pixel shader on the GPU. More...

#include <OGLShaderVariation.h>

Inheritance diagram for Urho3D::ShaderVariation:
[legend]
Collaboration diagram for Urho3D::ShaderVariation:
[legend]

Public Member Functions

 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.
 
ShaderGetOwner () const
 Return the owner resource.
 
ShaderType GetShaderType () const
 Return shader type.
 
const StringGetName () const
 Return name.
 
const StringGetDefines () const
 Return defines.
 
String GetFullName () const
 Return full shader name.
 
const StringGetCompilerOutput () 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.
 
RefCountRefCountPtr ()
 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.
 
virtual void OnDeviceReset ()
 Recreate the GPU resource and restore data if applicable.
 
void ClearDataLost ()
 Clear the data lost flag.
 
GraphicsGetGraphics () 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 Attributes

WeakPtr< Shaderowner_
 Shader this variation belongs to.
 
ShaderType type_
 Shader type.
 
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< Graphicsgraphics_
 Graphics subsystem.
 
unsigned object_
 Object handle.
 
bool dataLost_
 Data lost flag.
 
bool dataPending_
 Data pending flag.
 

Detailed Description

Vertex or pixel shader on the GPU.


The documentation for this class was generated from the following files:
  • /home/travis/build/urho3d/Urho3D/Source/Urho3D/Graphics/OpenGL/OGLShaderVariation.h
  • /home/travis/build/urho3d/Urho3D/Source/Urho3D/Graphics/OpenGL/OGLShaderVariation.cpp