Open CASCADE Technology
7.7.0
|
Forward declaration. More...
#include <Graphic3d_ShaderObject.hxx>
Data Structures | |
struct | ShaderVariable |
Structure defining shader uniform or in/out variable. More... | |
Public Types | |
typedef NCollection_Sequence< ShaderVariable > | ShaderVariableList |
List of variable of shader program. More... | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. More... | |
Public Member Functions | |
virtual | ~Graphic3d_ShaderObject () |
Releases resources of shader object. More... | |
virtual Standard_Boolean | IsDone () const |
Checks if the shader object is valid or not. More... | |
const OSD_Path & | Path () const |
Returns the full path to the shader source. More... | |
const TCollection_AsciiString & | Source () const |
Returns the source code of the shader object. More... | |
Graphic3d_TypeOfShaderObject | Type () const |
Returns type of the shader object. More... | |
const TCollection_AsciiString & | GetId () const |
Returns unique ID used to manage resource in graphic driver. More... | |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. More... | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. More... | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. More... | |
virtual | ~Standard_Transient () |
Destructor must be virtual. More... | |
virtual void | Delete () const |
Memory deallocator for transient classes. More... | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. More... | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. More... | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. More... | |
Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More... | |
Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More... | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. More... | |
Standard_Integer | GetRefCount () const |
Get the reference counter of this object. More... | |
void | IncrementRefCounter () const |
Increments the reference counter of this object. More... | |
Standard_Integer | DecrementRefCounter () const |
Decrements the reference counter of this object; returns the decremented value. More... | |
Static Public Member Functions | |
static Handle< Graphic3d_ShaderObject > | CreateFromFile (const Graphic3d_TypeOfShaderObject theType, const TCollection_AsciiString &thePath) |
Creates new shader object from specified file. More... | |
static Handle< Graphic3d_ShaderObject > | CreateFromSource (const Graphic3d_TypeOfShaderObject theType, const TCollection_AsciiString &theSource) |
Creates new shader object from specified source. More... | |
static Handle< Graphic3d_ShaderObject > | CreateFromSource (TCollection_AsciiString &theSource, Graphic3d_TypeOfShaderObject theType, const ShaderVariableList &theUniforms, const ShaderVariableList &theStageInOuts, const TCollection_AsciiString &theInName=TCollection_AsciiString(), const TCollection_AsciiString &theOutName=TCollection_AsciiString(), Standard_Integer theNbGeomInputVerts=0) |
This is a preprocessor for Graphic3d_ShaderObject::CreateFromSource() function. Creates a new shader object from specified source according to list of uniforms and in/out variables. More... | |
Static Public Member Functions inherited from Standard_Transient | |
static const char * | get_type_name () |
Returns a type descriptor about this object. More... | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. More... | |
Protected Attributes | |
TCollection_AsciiString | myID |
the ID of shader object More... | |
TCollection_AsciiString | mySource |
the source code of shader object More... | |
OSD_Path | myPath |
the path to shader source (may be empty) More... | |
Forward declaration.
This class is responsible for managing shader objects.
List of variable of shader program.
|
virtual |
Releases resources of shader object.
|
static |
Creates new shader object from specified file.
|
static |
Creates new shader object from specified source.
|
static |
This is a preprocessor for Graphic3d_ShaderObject::CreateFromSource() function. Creates a new shader object from specified source according to list of uniforms and in/out variables.
theSource | shader object source code to modify |
theType | shader object type to create |
theUniforms | list of uniform variables |
theStageInOuts | list of stage in/out variables |
theInName | name of input variables block; can be empty for accessing each variable without block prefix (mandatory for stages accessing both inputs and outputs) |
theOutName | name of output variables block; can be empty for accessing each variable without block prefix (mandatory for stages accessing both inputs and outputs) |
theNbGeomInputVerts | number of geometry shader input vertexes |
|
inline |
Returns unique ID used to manage resource in graphic driver.
|
virtual |
Checks if the shader object is valid or not.
|
inline |
Returns the full path to the shader source.
|
inline |
Returns the source code of the shader object.
|
inline |
Returns type of the shader object.
|
protected |
the ID of shader object
|
protected |
the path to shader source (may be empty)
|
protected |
the source code of shader object