OpenGL specialized DrawContext class. More...
#include <glDrawContext.h>
Public Types | |
typedef GLuint | VertexBufferBinding |
Public Types inherited from DrawContext | |
typedef std::vector< PatchArray > | PatchArrayVector |
typedef std::vector< float > | FVarData |
Public Member Functions | |
virtual | ~GLDrawContext () |
template<class VERTEX_BUFFER > | |
void | UpdateVertexTexture (VERTEX_BUFFER *vbo) |
GLuint | GetPatchIndexBuffer () const |
Returns the GL texture buffer containing the patch control vertices array. More... | |
GLuint | GetPatchParamTextureBuffer () const |
GLuint | GetVertexTextureBuffer () const |
Returns the GL texture buffer containing the vertex data. More... | |
GLuint | GetVertexValenceTextureBuffer () const |
GLuint | GetQuadOffsetsTextureBuffer () const |
GLuint | GetFvarDataTextureBuffer () const |
Returns the GL texture buffer containing fvar data. More... | |
bool | SetFVarDataTexture (Far::PatchTables const &patchTables, int fvarWidth, FVarData const &fvarData) |
Public Member Functions inherited from DrawContext | |
DrawContext () | |
Constructor. More... | |
virtual | ~DrawContext () |
Descrtuctor. More... | |
bool | IsAdaptive () const |
PatchArrayVector const & | GetPatchArrays () const |
Static Public Member Functions | |
static GLDrawContext * | Create (Far::PatchTables const *patchTables, int numVertexElements) |
Create an GLDraContext from Far::PatchTables. More... | |
static bool | SupportsAdaptiveTessellation () |
true if the GL version detected supports shader tessellation More... | |
Static Public Member Functions inherited from DrawContext | |
static void | ConvertPatchArrays (Far::PatchTables::PatchArrayVector const &farPatchArrays, DrawContext::PatchArrayVector &osdPatchArrays, int maxValence, int numElements) |
Protected Member Functions | |
GLDrawContext () | |
bool | create (Far::PatchTables const &patchTables, int numElements) |
void | updateVertexTexture (GLuint vbo) |
Protected Attributes | |
GLuint | _patchIndexBuffer |
GLuint | _patchParamTextureBuffer |
GLuint | _fvarDataTextureBuffer |
GLuint | _vertexTextureBuffer |
GLuint | _vertexValenceTextureBuffer |
GLuint | _quadOffsetsTextureBuffer |
Protected Attributes inherited from DrawContext | |
PatchArrayVector | _patchArrays |
bool | _isAdaptive |
Additional Inherited Members | |
Static Protected Member Functions inherited from DrawContext | |
static void | packFVarData (Far::PatchTables const &patchTables, int fvarWidth, FVarData const &src, FVarData &dst) |
OpenGL specialized DrawContext class.
GLDrawContext implements the OSD drawing interface with the OpenGL API. Some functionality may be disabled depending on compile and run-time driver support.
Contexts interface the serialized topological data pertaining to the geometric primitives with the capabilities of the selected discrete compute device.
Definition at line 54 of file glDrawContext.h.
typedef GLuint VertexBufferBinding |
Definition at line 56 of file glDrawContext.h.
|
virtual |
|
protected |
|
static |
Create an GLDraContext from Far::PatchTables.
patchTables | a valid set of Far::PatchTables |
numVertexElements | the number of vertex elements |
|
protected |
|
inline |
Returns the GL texture buffer containing fvar data.
Definition at line 110 of file glDrawContext.h.
|
inline |
Returns the GL texture buffer containing the patch control vertices array.
Definition at line 82 of file glDrawContext.h.
|
inline |
Returns the GL texture buffer containing the patch local parameterization data
Definition at line 88 of file glDrawContext.h.
|
inline |
Returns the GL texture buffer containing patch quad offsets data (only used by Gregory patches)
Definition at line 105 of file glDrawContext.h.
|
inline |
Returns the GL texture buffer containing the vertex data.
Definition at line 93 of file glDrawContext.h.
|
inline |
Returns the GL texture buffer containing patch vertex valence data (only used by Gregory patches)
Definition at line 99 of file glDrawContext.h.
bool SetFVarDataTexture | ( | Far::PatchTables const & | patchTables, |
int | fvarWidth, | ||
FVarData const & | fvarData | ||
) |
Sets face-varying data buffer
patchTables | A valid set of Far::PatchTables |
fvarWidth | Total face-varying primvar data width in fvarData |
fvarData | Vector containing the face-varying data |
|
static |
true if the GL version detected supports shader tessellation
|
inline |
Set vbo as a vertex texture (for gregory patch drawing)
vbo | the vertex buffer object to update |
Definition at line 73 of file glDrawContext.h.
|
protected |
|
protected |
Definition at line 132 of file glDrawContext.h.
|
protected |
Definition at line 129 of file glDrawContext.h.
|
protected |
Definition at line 131 of file glDrawContext.h.
|
protected |
Definition at line 136 of file glDrawContext.h.
|
protected |
Definition at line 134 of file glDrawContext.h.
|
protected |
Definition at line 135 of file glDrawContext.h.