HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GR_ShaderCache Class Reference

#include <GR_Material.h>

Public Member Functions

 GR_ShaderCache ()
 
 ~GR_ShaderCache ()
 
 UT_NON_COPYABLE (GR_ShaderCache)
 

Static Public Member Functions

static void initCache ()
 
static void destroyCache ()
 
static void clearCache ()
 
static exint getShaderID (const UT_StringHolder &name)
 
static exint getComputeID (const UT_StringHolder &name)
 
static RV_ShaderProgramgetShader (exint id)
 
static RV_ShaderComputegetComputeShader (exint id)
 
static exint createEntryID (const UT_StringHolder &name)
 
static exint createComputeEntryID (const UT_StringHolder &name)
 
static void cacheShader (exint entry, const GR_Material &for_material, UT_UniquePtr< RV_ShaderProgram > shader)
 
static void cacheComputeShader (exint entry, const GR_Material &for_material, UT_UniquePtr< RV_ShaderCompute > shader)
 
static void addShaderRef (exint id, const GR_Material &material)
 
static void addComputeRef (exint id, const GR_Material &material)
 
static bool removeShader (const UT_StringHolder &name, const GR_Material &for_material)
 
static bool removeComputeShader (const UT_StringHolder &name, const GR_Material &for_material)
 

Detailed Description

Definition at line 362 of file GR_Material.h.

Constructor & Destructor Documentation

GR_ShaderCache::GR_ShaderCache ( )
inline

Definition at line 365 of file GR_Material.h.

GR_ShaderCache::~GR_ShaderCache ( )

Member Function Documentation

static void GR_ShaderCache::addComputeRef ( exint  id,
const GR_Material material 
)
static
static void GR_ShaderCache::addShaderRef ( exint  id,
const GR_Material material 
)
static
static void GR_ShaderCache::cacheComputeShader ( exint  entry,
const GR_Material for_material,
UT_UniquePtr< RV_ShaderCompute shader 
)
static
static void GR_ShaderCache::cacheShader ( exint  entry,
const GR_Material for_material,
UT_UniquePtr< RV_ShaderProgram shader 
)
static
static void GR_ShaderCache::clearCache ( )
static
static exint GR_ShaderCache::createComputeEntryID ( const UT_StringHolder name)
static
static exint GR_ShaderCache::createEntryID ( const UT_StringHolder name)
static
static void GR_ShaderCache::destroyCache ( )
static
static exint GR_ShaderCache::getComputeID ( const UT_StringHolder name)
static
static RV_ShaderCompute* GR_ShaderCache::getComputeShader ( exint  id)
static
static RV_ShaderProgram* GR_ShaderCache::getShader ( exint  id)
static
static exint GR_ShaderCache::getShaderID ( const UT_StringHolder name)
static
static void GR_ShaderCache::initCache ( )
static
static bool GR_ShaderCache::removeComputeShader ( const UT_StringHolder name,
const GR_Material for_material 
)
static
static bool GR_ShaderCache::removeShader ( const UT_StringHolder name,
const GR_Material for_material 
)
static
GR_ShaderCache::UT_NON_COPYABLE ( GR_ShaderCache  )

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