Open CASCADE Technology 7.8.2.dev
|
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. | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. | |
Public Member Functions | |
virtual | ~Graphic3d_ShaderObject () |
Releases resources of shader object. | |
virtual Standard_Boolean | IsDone () const |
Checks if the shader object is valid or not. | |
const OSD_Path & | Path () const |
Returns the full path to the shader source. | |
const TCollection_AsciiString & | Source () const |
Returns the source code of the shader object. | |
Graphic3d_TypeOfShaderObject | Type () const |
Returns type of the shader object. | |
const TCollection_AsciiString & | GetId () const |
Returns unique ID used to manage resource in graphic driver. | |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. | |
virtual | ~Standard_Transient () |
Destructor must be virtual. | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. | |
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. | |
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. | |
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. | |
Standard_Integer | GetRefCount () const noexcept |
Get the reference counter of this object. | |
void | IncrementRefCounter () noexcept |
Increments the reference counter of this object. | |
Standard_Integer | DecrementRefCounter () noexcept |
Decrements the reference counter of this object; returns the decremented value. | |
virtual void | Delete () const |
Memory deallocator for transient classes. | |
Static Public Member Functions | |
static Handle< Graphic3d_ShaderObject > | CreateFromFile (const Graphic3d_TypeOfShaderObject theType, const TCollection_AsciiString &thePath) |
Creates new shader object from specified file. | |
static Handle< Graphic3d_ShaderObject > | CreateFromSource (const Graphic3d_TypeOfShaderObject theType, const TCollection_AsciiString &theSource) |
Creates new shader object from specified source. | |
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. | |
Static Public Member Functions inherited from Standard_Transient | |
static constexpr const char * | get_type_name () |
Returns a type descriptor about this object. | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. | |
Protected Attributes | |
TCollection_AsciiString | myID |
the ID of shader object | |
TCollection_AsciiString | mySource |
the source code of shader object | |
OSD_Path | myPath |
the path to shader source (may be empty) | |
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