HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HdStGLSLProgram Class Referencefinal

#include <glslProgram.h>

Public Types

typedef size_t ID
 

Public Member Functions

HDST_API HdStGLSLProgram (TfToken const &role, HdStResourceRegistry *const registry)
 
HDST_API ~HdStGLSLProgram ()
 
HDST_API bool CompileShader (HgiShaderStage stage, std::string const &source)
 Compile shader source for a shader stage. More...
 
HDST_API bool Link ()
 Link the compiled shaders together. More...
 
HDST_API bool Validate () const
 Validate if this program is a valid progam in the current context. More...
 
HgiShaderProgramHandle constGetProgram () const
 Returns HdResource of the program object. More...
 
TfToken constGetRole () const
 Returns the role of the GPU data in this resource. More...
 

Static Public Member Functions

static HDST_API ID ComputeHash (TfToken const &sourceFile)
 Returns the hash value of the program for sourceFile. More...
 
static HDST_API
HdStGLSLProgramSharedPtr 
GetComputeProgram (TfToken const &shaderToken, HdStResourceRegistry *resourceRegistry)
 Convenience method to get a shared compute shader program. More...
 
static HDST_API
HdStGLSLProgramSharedPtr 
GetComputeProgram (TfToken const &shaderFileName, TfToken const &shaderToken, HdStResourceRegistry *resourceRegistry)
 

Detailed Description

An instance of a glsl program.

Definition at line 45 of file glslProgram.h.

Member Typedef Documentation

typedef size_t HdStGLSLProgram::ID

Definition at line 48 of file glslProgram.h.

Constructor & Destructor Documentation

HDST_API HdStGLSLProgram::HdStGLSLProgram ( TfToken const role,
HdStResourceRegistry *const  registry 
)
HDST_API HdStGLSLProgram::~HdStGLSLProgram ( )

Member Function Documentation

HDST_API bool HdStGLSLProgram::CompileShader ( HgiShaderStage  stage,
std::string const source 
)

Compile shader source for a shader stage.

static HDST_API ID HdStGLSLProgram::ComputeHash ( TfToken const sourceFile)
static

Returns the hash value of the program for sourceFile.

static HDST_API HdStGLSLProgramSharedPtr HdStGLSLProgram::GetComputeProgram ( TfToken const shaderToken,
HdStResourceRegistry resourceRegistry 
)
static

Convenience method to get a shared compute shader program.

static HDST_API HdStGLSLProgramSharedPtr HdStGLSLProgram::GetComputeProgram ( TfToken const shaderFileName,
TfToken const shaderToken,
HdStResourceRegistry resourceRegistry 
)
static
HgiShaderProgramHandle const& HdStGLSLProgram::GetProgram ( ) const
inline

Returns HdResource of the program object.

Definition at line 72 of file glslProgram.h.

TfToken const& HdStGLSLProgram::GetRole ( ) const
inline

Returns the role of the GPU data in this resource.

Definition at line 87 of file glslProgram.h.

HDST_API bool HdStGLSLProgram::Link ( )

Link the compiled shaders together.

HDST_API bool HdStGLSLProgram::Validate ( ) const

Validate if this program is a valid progam in the current context.


The documentation for this class was generated from the following file: