25 #ifndef OSD_GL_DRAW_REGISTRY_H
26 #define OSD_GL_DRAW_REGISTRY_H
28 #include "../version.h"
30 #include "../osd/drawRegistry.h"
31 #include "../osd/vertex.h"
33 #include "../osd/opengl.h"
37 namespace OpenSubdiv {
38 namespace OPENSUBDIV_VERSION {
104 template <
class DESC_TYPE = DrawContext::PatchDescriptor,
105 class CONFIG_TYPE = GLDrawConfig,
106 class SOURCE_CONFIG_TYPE = GLDrawSourceConfig >
124 for (
typename ConfigMap::iterator
125 i = _configMap.begin(); i != _configMap.end(); ++i) {
134 typename ConfigMap::iterator it = _configMap.find(desc);
135 if (it != _configMap.end()) {
140 _configMap[desc] = config;
170 using namespace OPENSUBDIV_VERSION;
DrawShaderSource commonShader
virtual SourceConfigType * _NewDrawSourceConfig()
DrawContext::PatchDescriptor DescType
bool IsPtexEnabled() const
DrawShaderSource fragmentShader
DrawShaderSource tessControlShader
DrawShaderSource geometryShader
virtual ~GLDrawRegistry()
ConfigType * GetDrawConfig(DescType const &desc)
virtual ConfigType * _CreateDrawConfig(DescType const &desc, SourceConfigType const *sconfig)
void SetPtexEnabled(bool b)
GLDrawRegistryBase(bool enablePtex=false)
virtual SourceConfigType * _CreateDrawSourceConfig(DescType const &)
virtual ~GLDrawRegistryBase()
virtual SourceConfigType * _NewDrawSourceConfig()
GLDrawRegistryBase BaseRegistry
DrawShaderSource vertexShader
SOURCE_CONFIG_TYPE SourceConfigType
virtual ConfigType * _NewDrawConfig()
virtual ConfigType * _NewDrawConfig()
virtual ConfigType * _CreateDrawConfig(DescType const &, SourceConfigType const *)
GLDrawSourceConfig SourceConfigType
std::map< DescType, ConfigType * > ConfigMap
DrawShaderSource tessEvalShader
virtual SourceConfigType * _CreateDrawSourceConfig(DescType const &desc)