19 #ifndef EQUTIL_OBJECTMANAGER_H 20 #define EQUTIL_OBJECTMANAGER_H 23 #include <eq/util/types.h> 24 #include <pression/types.h> 65 EQ_API
explicit ObjectManager(
const GLEWContext*
const glewContext);
68 EQ_API ObjectManager(
const ObjectManager& shared);
71 EQ_API
virtual ~ObjectManager();
73 ObjectManager& operator=(
const ObjectManager& rhs);
76 EQ_API
bool isShared()
const;
85 EQ_API
void deleteAll();
87 EQ_API
unsigned getList(
const void* key)
const;
88 EQ_API
unsigned newList(
const void* key,
const int num = 1);
89 EQ_API
unsigned obtainList(
const void* key,
const int num = 1);
90 EQ_API
void deleteList(
const void* key);
92 EQ_API
unsigned getVertexArray(
const void* key)
const;
93 EQ_API
unsigned newVertexArray(
const void* key);
94 EQ_API
unsigned obtainVertexArray(
const void* key);
95 EQ_API
void deleteVertexArray(
const void* key);
97 EQ_API
unsigned getTexture(
const void* key)
const;
98 EQ_API
unsigned newTexture(
const void* key);
99 EQ_API
unsigned obtainTexture(
const void* key);
100 EQ_API
void deleteTexture(
const void* key);
102 EQ_API
bool supportsBuffers()
const;
103 EQ_API
unsigned getBuffer(
const void* key)
const;
104 EQ_API
unsigned newBuffer(
const void* key);
105 EQ_API
unsigned obtainBuffer(
const void* key);
106 EQ_API
void deleteBuffer(
const void* key);
108 EQ_API
bool supportsPrograms()
const;
109 EQ_API
unsigned getProgram(
const void* key)
const;
110 EQ_API
unsigned newProgram(
const void* key);
111 EQ_API
unsigned obtainProgram(
const void* key);
112 EQ_API
void deleteProgram(
const void* key);
114 EQ_API
bool supportsShaders()
const;
115 EQ_API
unsigned getShader(
const void* key)
const;
116 EQ_API
unsigned newShader(
const void* key,
const unsigned type);
117 EQ_API
unsigned obtainShader(
const void* key,
const unsigned type);
118 EQ_API
void deleteShader(
const void* key);
120 EQ_API
Accum* getEqAccum(
const void* key)
const;
121 EQ_API
Accum* newEqAccum(
const void* key);
122 EQ_API
Accum* obtainEqAccum(
const void* key);
123 EQ_API
void deleteEqAccum(
const void* key);
126 EQ_API pression::Uploader* getEqUploader(
const void* key)
const;
128 EQ_API pression::Uploader* newEqUploader(
const void* key);
130 EQ_API pression::Uploader* obtainEqUploader(
const void* key);
132 EQ_API
void deleteEqUploader(
const void* key);
134 EQ_API
bool supportsEqTexture()
const;
135 EQ_API
Texture* getEqTexture(
const void* key)
const;
136 EQ_API
Texture* newEqTexture(
const void* key,
const unsigned target);
137 EQ_API
Texture* obtainEqTexture(
const void* key,
const unsigned target);
138 EQ_API
void deleteEqTexture(
const void* key);
140 EQ_API
bool supportsEqFrameBufferObject()
const;
144 EQ_API
void deleteEqFrameBufferObject(
const void* key);
146 EQ_API
bool supportsEqPixelBufferObject()
const;
150 EQ_API
void deleteEqPixelBufferObject(
const void* key);
155 EQ_API
void deleteEqBitmapFont(
const void* key);
157 EQ_API
const GLEWContext* glewGetContext()
const;
160 typedef lunchbox::RefPtr<detail::ObjectManager> SharedDataPtr;
166 #endif // EQUTIL_OBJECTMANAGER_H A C++ class to abstract an accumulation buffer.
A C++ class to abstract OpenGL frame buffer objects.
A C++ class to abstract OpenGL pixel buffer objects.
A wrapper around AGL, WGL and GLX bitmap fonts.
A wrapper around OpenGL textures.
The Equalizer client library.
A facility class to manage OpenGL objects across shared contexts.