#include <glComputeEvaluator.h>
Public Types | |
typedef bool | Instantiatable |
Public Member Functions | |
GLComputeEvaluator () | |
Constructor. More... | |
~GLComputeEvaluator () | |
Destructor. note that the GL context must be made current. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename STENCIL_TABLE > | |
bool | EvalStencils (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, STENCIL_TABLE const *stencilTable) const |
Generic stencil function. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename STENCIL_TABLE > | |
bool | EvalStencils (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, STENCIL_TABLE const *stencilTable) const |
Generic stencil function. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename STENCIL_TABLE > | |
bool | EvalStencils (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, DST_BUFFER *duuBuffer, BufferDescriptor const &duuDesc, DST_BUFFER *duvBuffer, BufferDescriptor const &duvDesc, DST_BUFFER *dvvBuffer, BufferDescriptor const &dvvDesc, STENCIL_TABLE const *stencilTable) const |
Generic stencil function. More... | |
bool | EvalStencils (GLuint srcBuffer, BufferDescriptor const &srcDesc, GLuint dstBuffer, BufferDescriptor const &dstDesc, GLuint duBuffer, BufferDescriptor const &duDesc, GLuint dvBuffer, BufferDescriptor const &dvDesc, GLuint sizesBuffer, GLuint offsetsBuffer, GLuint indicesBuffer, GLuint weightsBuffer, GLuint duWeightsBuffer, GLuint dvWeightsBuffer, int start, int end) const |
Dispatch the GLSL compute kernel on GPU asynchronously returns false if the kernel hasn't been compiled yet. More... | |
bool | EvalStencils (GLuint srcBuffer, BufferDescriptor const &srcDesc, GLuint dstBuffer, BufferDescriptor const &dstDesc, GLuint duBuffer, BufferDescriptor const &duDesc, GLuint dvBuffer, BufferDescriptor const &dvDesc, GLuint duuBuffer, BufferDescriptor const &duuDesc, GLuint duvBuffer, BufferDescriptor const &duvDesc, GLuint dvvBuffer, BufferDescriptor const &dvvDesc, GLuint sizesBuffer, GLuint offsetsBuffer, GLuint indicesBuffer, GLuint weightsBuffer, GLuint duWeightsBuffer, GLuint dvWeightsBuffer, GLuint duuWeightsBuffer, GLuint duvWeightsBuffer, GLuint dvvWeightsBuffer, int start, int end) const |
Dispatch the GLSL compute kernel on GPU asynchronously returns false if the kernel hasn't been compiled yet. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
bool | EvalPatches (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable) const |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
bool | EvalPatches (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable) const |
Generic limit eval function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
bool | EvalPatches (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, DST_BUFFER *duuBuffer, BufferDescriptor const &duuDesc, DST_BUFFER *duvBuffer, BufferDescriptor const &duvDesc, DST_BUFFER *dvvBuffer, BufferDescriptor const &dvvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable) const |
Generic limit eval function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
bool | EvalPatches (GLuint srcBuffer, BufferDescriptor const &srcDesc, GLuint dstBuffer, BufferDescriptor const &dstDesc, GLuint duBuffer, BufferDescriptor const &duDesc, GLuint dvBuffer, BufferDescriptor const &dvDesc, int numPatchCoords, GLuint patchCoordsBuffer, const PatchArrayVector &patchArrays, GLuint patchIndexBuffer, GLuint patchParamsBuffer) const |
bool | EvalPatches (GLuint srcBuffer, BufferDescriptor const &srcDesc, GLuint dstBuffer, BufferDescriptor const &dstDesc, GLuint duBuffer, BufferDescriptor const &duDesc, GLuint dvBuffer, BufferDescriptor const &dvDesc, GLuint duuBuffer, BufferDescriptor const &duuDesc, GLuint duvBuffer, BufferDescriptor const &duvDesc, GLuint dvvBuffer, BufferDescriptor const &dvvDesc, int numPatchCoords, GLuint patchCoordsBuffer, const PatchArrayVector &patchArrays, GLuint patchIndexBuffer, GLuint patchParamsBuffer) const |
template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
bool | EvalPatchesVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable) const |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
bool | EvalPatchesVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable) const |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
bool | EvalPatchesVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, DST_BUFFER *duuBuffer, BufferDescriptor const &duuDesc, DST_BUFFER *duvBuffer, BufferDescriptor const &duvDesc, DST_BUFFER *dvvBuffer, BufferDescriptor const &dvvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable) const |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
bool | EvalPatchesFaceVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, int fvarChannel=0) const |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
bool | EvalPatchesFaceVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, int fvarChannel=0) const |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
bool | EvalPatchesFaceVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, DST_BUFFER *duuBuffer, BufferDescriptor const &duuDesc, DST_BUFFER *duvBuffer, BufferDescriptor const &duvDesc, DST_BUFFER *dvvBuffer, BufferDescriptor const &dvvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, int fvarChannel=0) const |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
bool | Compile (BufferDescriptor const &srcDesc, BufferDescriptor const &dstDesc, BufferDescriptor const &duDesc=BufferDescriptor(), BufferDescriptor const &dvDesc=BufferDescriptor(), BufferDescriptor const &duuDesc=BufferDescriptor(), BufferDescriptor const &duvDesc=BufferDescriptor(), BufferDescriptor const &dvvDesc=BufferDescriptor()) |
Static Public Member Functions | |
static GLComputeEvaluator * | Create (BufferDescriptor const &srcDesc, BufferDescriptor const &dstDesc, BufferDescriptor const &duDesc, BufferDescriptor const &dvDesc, void *deviceContext=NULL) |
static GLComputeEvaluator * | Create (BufferDescriptor const &srcDesc, BufferDescriptor const &dstDesc, BufferDescriptor const &duDesc, BufferDescriptor const &dvDesc, BufferDescriptor const &duuDesc, BufferDescriptor const &duvDesc, BufferDescriptor const &dvvDesc, void *deviceContext=NULL) |
template<typename SRC_BUFFER , typename DST_BUFFER , typename STENCIL_TABLE > | |
static bool | EvalStencils (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, STENCIL_TABLE const *stencilTable, GLComputeEvaluator const *instance, void *deviceContext=NULL) |
Generic static stencil function. This function has a same signature as other device kernels have so that it can be called transparently from OsdMesh template interface. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename STENCIL_TABLE > | |
static bool | EvalStencils (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, STENCIL_TABLE const *stencilTable, GLComputeEvaluator const *instance, void *deviceContext=NULL) |
Generic static stencil function. This function has a same signature as other device kernels have so that it can be called transparently from OsdMesh template interface. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename STENCIL_TABLE > | |
static bool | EvalStencils (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, DST_BUFFER *duuBuffer, BufferDescriptor const &duuDesc, DST_BUFFER *duvBuffer, BufferDescriptor const &duvDesc, DST_BUFFER *dvvBuffer, BufferDescriptor const &dvvDesc, STENCIL_TABLE const *stencilTable, GLComputeEvaluator const *instance, void *deviceContext=NULL) |
Generic static stencil function. This function has a same signature as other device kernels have so that it can be called transparently from OsdMesh template interface. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
static bool | EvalPatches (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, GLComputeEvaluator const *instance, void *deviceContext=NULL) |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
static bool | EvalPatches (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, GLComputeEvaluator const *instance, void *deviceContext=NULL) |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
static bool | EvalPatches (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, DST_BUFFER *duuBuffer, BufferDescriptor const &duuDesc, DST_BUFFER *duvBuffer, BufferDescriptor const &duvDesc, DST_BUFFER *dvvBuffer, BufferDescriptor const &dvvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, GLComputeEvaluator const *instance, void *deviceContext=NULL) |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
static bool | EvalPatchesVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, GLComputeEvaluator const *instance, void *deviceContext=NULL) |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
static bool | EvalPatchesVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, GLComputeEvaluator const *instance, void *deviceContext=NULL) |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
static bool | EvalPatchesVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, DST_BUFFER *duuBuffer, BufferDescriptor const &duuDesc, DST_BUFFER *duvBuffer, BufferDescriptor const &duvDesc, DST_BUFFER *dvvBuffer, BufferDescriptor const &dvvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, GLComputeEvaluator const *instance, void *deviceContext=NULL) |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
static bool | EvalPatchesFaceVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, int fvarChannel, GLComputeEvaluator const *instance, void *deviceContext=NULL) |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
static bool | EvalPatchesFaceVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, int fvarChannel, GLComputeEvaluator const *instance, void *deviceContext=NULL) |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
static bool | EvalPatchesFaceVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, DST_BUFFER *duuBuffer, BufferDescriptor const &duuDesc, DST_BUFFER *duvBuffer, BufferDescriptor const &duvDesc, DST_BUFFER *dvvBuffer, BufferDescriptor const &dvvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, int fvarChannel, GLComputeEvaluator const *instance, void *deviceContext=NULL) |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
static void | Synchronize (void *deviceContext) |
Wait the dispatched kernel finishes. More... | |
Definition at line 96 of file glComputeEvaluator.h.
typedef bool Instantiatable |
Definition at line 98 of file glComputeEvaluator.h.
Constructor.
~GLComputeEvaluator | ( | ) |
Destructor. note that the GL context must be made current.
bool Compile | ( | BufferDescriptor const & | srcDesc, |
BufferDescriptor const & | dstDesc, | ||
BufferDescriptor const & | duDesc = BufferDescriptor() , |
||
BufferDescriptor const & | dvDesc = BufferDescriptor() , |
||
BufferDescriptor const & | duuDesc = BufferDescriptor() , |
||
BufferDescriptor const & | duvDesc = BufferDescriptor() , |
||
BufferDescriptor const & | dvvDesc = BufferDescriptor() |
||
) |
Other methods
Configure GLSL kernel. A valid GL context must be made current before calling this function. Returns false if it fails to compile the kernel.
|
inlinestatic |
Definition at line 99 of file glComputeEvaluator.h.
|
inlinestatic |
Definition at line 111 of file glComputeEvaluator.h.
|
inlinestatic |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
Limit evaluations with PatchTable
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the output buffer |
numPatchCoords | number of patchCoords. |
patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
patchTable | GLPatchTable or equivalent |
instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
deviceContext | not used in the GLXFB evaluator |
Definition at line 691 of file glComputeEvaluator.h.
|
inlinestatic |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the output buffer |
duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvDesc | vertex buffer descriptor for the dvBuffer |
numPatchCoords | number of patchCoords. |
patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
patchTable | GLPatchTable or equivalent |
instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
deviceContext | not used in the GLXFB evaluator |
Definition at line 769 of file glComputeEvaluator.h.
|
inlinestatic |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the output buffer |
duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvDesc | vertex buffer descriptor for the dvBuffer |
duuBuffer | Output buffer 2nd derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duuDesc | vertex buffer descriptor for the duuBuffer |
duvBuffer | Output buffer 2nd derivative wrt u and v must have BindVBO() method returning a GL buffer object of destination data |
duvDesc | vertex buffer descriptor for the duvBuffer |
dvvBuffer | Output buffer 2nd derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvvDesc | vertex buffer descriptor for the dvvBuffer |
numPatchCoords | number of patchCoords. |
patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
patchTable | GLPatchTable or equivalent |
instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
deviceContext | not used in the GLXFB evaluator |
Definition at line 870 of file glComputeEvaluator.h.
|
inline |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the output buffer |
numPatchCoords | number of patchCoords. |
patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
patchTable | GLPatchTable or equivalent |
Definition at line 943 of file glComputeEvaluator.h.
|
inline |
Generic limit eval function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the output buffer |
duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvDesc | vertex buffer descriptor for the dvBuffer |
numPatchCoords | number of patchCoords. |
patchCoords | array of locations to be evaluated. |
patchTable | GLPatchTable or equivalent |
Definition at line 997 of file glComputeEvaluator.h.
|
inline |
Generic limit eval function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the output buffer |
duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvDesc | vertex buffer descriptor for the dvBuffer |
duuBuffer | Output buffer 2nd derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duuDesc | vertex buffer descriptor for the duuBuffer |
duvBuffer | Output buffer 2nd derivative wrt u and v must have BindVBO() method returning a GL buffer object of destination data |
duvDesc | vertex buffer descriptor for the duvBuffer |
dvvBuffer | Output buffer 2nd derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvvDesc | vertex buffer descriptor for the dvvBuffer |
numPatchCoords | number of patchCoords. |
patchCoords | array of locations to be evaluated. |
patchTable | GLPatchTable or equivalent |
Definition at line 1071 of file glComputeEvaluator.h.
bool EvalPatches | ( | GLuint | srcBuffer, |
BufferDescriptor const & | srcDesc, | ||
GLuint | dstBuffer, | ||
BufferDescriptor const & | dstDesc, | ||
GLuint | duBuffer, | ||
BufferDescriptor const & | duDesc, | ||
GLuint | dvBuffer, | ||
BufferDescriptor const & | dvDesc, | ||
int | numPatchCoords, | ||
GLuint | patchCoordsBuffer, | ||
const PatchArrayVector & | patchArrays, | ||
GLuint | patchIndexBuffer, | ||
GLuint | patchParamsBuffer | ||
) | const |
bool EvalPatches | ( | GLuint | srcBuffer, |
BufferDescriptor const & | srcDesc, | ||
GLuint | dstBuffer, | ||
BufferDescriptor const & | dstDesc, | ||
GLuint | duBuffer, | ||
BufferDescriptor const & | duDesc, | ||
GLuint | dvBuffer, | ||
BufferDescriptor const & | dvDesc, | ||
GLuint | duuBuffer, | ||
BufferDescriptor const & | duuDesc, | ||
GLuint | duvBuffer, | ||
BufferDescriptor const & | duvDesc, | ||
GLuint | dvvBuffer, | ||
BufferDescriptor const & | dvvDesc, | ||
int | numPatchCoords, | ||
GLuint | patchCoordsBuffer, | ||
const PatchArrayVector & | patchArrays, | ||
GLuint | patchIndexBuffer, | ||
GLuint | patchParamsBuffer | ||
) | const |
|
inlinestatic |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the output buffer |
numPatchCoords | number of patchCoords. |
patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
patchTable | GLPatchTable or equivalent |
fvarChannel | face-varying channel |
instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
deviceContext | not used in the GLXFB evaluator |
Definition at line 1606 of file glComputeEvaluator.h.
|
inline |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the output buffer |
numPatchCoords | number of patchCoords. |
patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
patchTable | GLPatchTable or equivalent |
fvarChannel | face-varying channel |
Definition at line 1669 of file glComputeEvaluator.h.
|
inlinestatic |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the output buffer |
duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvDesc | vertex buffer descriptor for the dvBuffer |
numPatchCoords | number of patchCoords. |
patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
patchTable | GLPatchTable or equivalent |
fvarChannel | face-varying channel |
instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
deviceContext | not used in the GLXFB evaluator |
Definition at line 1736 of file glComputeEvaluator.h.
|
inline |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the output buffer |
duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a GL object of destination data |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvDesc | vertex buffer descriptor for the dvBuffer |
numPatchCoords | number of patchCoords. |
patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
patchTable | GLPatchTable or equivalent |
fvarChannel | face-varying channel |
Definition at line 1816 of file glComputeEvaluator.h.
|
inlinestatic |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the output buffer |
duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvDesc | vertex buffer descriptor for the dvBuffer |
duuBuffer | Output buffer 2nd derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duuDesc | vertex buffer descriptor for the duuBuffer |
duvBuffer | Output buffer 2nd derivative wrt u and v must have BindVBO() method returning a GL buffer object of destination data |
duvDesc | vertex buffer descriptor for the duvBuffer |
dvvBuffer | Output buffer 2nd derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvvDesc | vertex buffer descriptor for the dvvBuffer |
numPatchCoords | number of patchCoords. |
patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
patchTable | GLPatchTable or equivalent |
fvarChannel | face-varying channel |
instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
deviceContext | not used in the GLXFB evaluator |
Definition at line 1903 of file glComputeEvaluator.h.
|
inline |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the output buffer |
duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvDesc | vertex buffer descriptor for the dvBuffer |
duuBuffer | Output buffer 2nd derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duuDesc | vertex buffer descriptor for the duuBuffer |
duvBuffer | Output buffer 2nd derivative wrt u and v must have BindVBO() method returning a GL buffer object of destination data |
duvDesc | vertex buffer descriptor for the duvBuffer |
dvvBuffer | Output buffer 2nd derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvvDesc | vertex buffer descriptor for the dvvBuffer |
numPatchCoords | number of patchCoords. |
patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
patchTable | GLPatchTable or equivalent |
fvarChannel | face-varying channel |
Definition at line 2011 of file glComputeEvaluator.h.
|
inlinestatic |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the output buffer |
numPatchCoords | number of patchCoords. |
patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
patchTable | GLPatchTable or equivalent |
instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
deviceContext | not used in the GLXFB evaluator |
Definition at line 1154 of file glComputeEvaluator.h.
|
inline |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the output buffer |
numPatchCoords | number of patchCoords. |
patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
patchTable | GLPatchTable or equivalent |
Definition at line 1214 of file glComputeEvaluator.h.
|
inlinestatic |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the output buffer |
duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvDesc | vertex buffer descriptor for the dvBuffer |
numPatchCoords | number of patchCoords. |
patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
patchTable | GLPatchTable or equivalent |
instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
deviceContext | not used in the GLXFB evaluator |
Definition at line 1278 of file glComputeEvaluator.h.
|
inline |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the output buffer |
duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvDesc | vertex buffer descriptor for the dvBuffer |
numPatchCoords | number of patchCoords. |
patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
patchTable | GLPatchTable or equivalent |
Definition at line 1355 of file glComputeEvaluator.h.
|
inlinestatic |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the output buffer |
duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvDesc | vertex buffer descriptor for the dvBuffer |
duuBuffer | Output buffer 2nd derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duuDesc | vertex buffer descriptor for the duuBuffer |
duvBuffer | Output buffer 2nd derivative wrt u and v must have BindVBO() method returning a GL buffer object of destination data |
duvDesc | vertex buffer descriptor for the duvBuffer |
dvvBuffer | Output buffer 2nd derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvvDesc | vertex buffer descriptor for the dvvBuffer |
numPatchCoords | number of patchCoords. |
patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
patchTable | GLPatchTable or equivalent |
instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
deviceContext | not used in the GLXFB evaluator |
Definition at line 1439 of file glComputeEvaluator.h.
|
inline |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the output buffer |
duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvDesc | vertex buffer descriptor for the dvBuffer |
duuBuffer | Output buffer 2nd derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duuDesc | vertex buffer descriptor for the duuBuffer |
duvBuffer | Output buffer 2nd derivative wrt u and v must have BindVBO() method returning a GL buffer object of destination data |
duvDesc | vertex buffer descriptor for the duvBuffer |
dvvBuffer | Output buffer 2nd derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvvDesc | vertex buffer descriptor for the dvvBuffer |
numPatchCoords | number of patchCoords. |
patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
patchTable | GLPatchTable or equivalent |
Definition at line 1544 of file glComputeEvaluator.h.
|
inlinestatic |
Generic static stencil function. This function has a same signature as other device kernels have so that it can be called transparently from OsdMesh template interface.
Stencil evaluations with StencilTable
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the output buffer |
stencilTable | stencil table to be applied. The table must have SSBO interfaces. |
instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
deviceContext | not used in the GLSL kernel |
Definition at line 168 of file glComputeEvaluator.h.
|
inlinestatic |
Generic static stencil function. This function has a same signature as other device kernels have so that it can be called transparently from OsdMesh template interface.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the dstBuffer |
duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvDesc | vertex buffer descriptor for the dvBuffer |
stencilTable | stencil table to be applied. The table must have SSBO interfaces. |
instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
deviceContext | not used in the GLSL kernel |
Definition at line 236 of file glComputeEvaluator.h.
|
inlinestatic |
Generic static stencil function. This function has a same signature as other device kernels have so that it can be called transparently from OsdMesh template interface.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the dstBuffer |
duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvDesc | vertex buffer descriptor for the dvBuffer |
duuBuffer | Output buffer 2nd derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duuDesc | vertex buffer descriptor for the duuBuffer |
duvBuffer | Output buffer 2nd derivative wrt u and v must have BindVBO() method returning a GL buffer object of destination data |
duvDesc | vertex buffer descriptor for the duvBuffer |
dvvBuffer | Output buffer 2nd derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvvDesc | vertex buffer descriptor for the dvvBuffer |
stencilTable | stencil table to be applied. The table must have SSBO interfaces. |
instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
deviceContext | not used in the GLSL kernel |
Definition at line 326 of file glComputeEvaluator.h.
|
inline |
Generic stencil function.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the output buffer |
stencilTable | stencil table to be applied. The table must have SSBO interfaces. |
Definition at line 386 of file glComputeEvaluator.h.
|
inline |
Generic stencil function.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the dstBuffer |
duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvDesc | vertex buffer descriptor for the dvBuffer |
stencilTable | stencil table to be applied. The table must have SSBO interfaces. |
Definition at line 434 of file glComputeEvaluator.h.
|
inline |
Generic stencil function.
srcBuffer | Input primvar buffer. must have BindVBO() method returning a GL buffer object of source data |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindVBO() method returning a GL buffer object of destination data |
dstDesc | vertex buffer descriptor for the dstBuffer |
duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvDesc | vertex buffer descriptor for the dvBuffer |
duuBuffer | Output buffer 2nd derivative wrt u must have BindVBO() method returning a GL buffer object of destination data |
duuDesc | vertex buffer descriptor for the duuBuffer |
duvBuffer | Output buffer 2nd derivative wrt u and v must have BindVBO() method returning a GL buffer object of destination data |
duvDesc | vertex buffer descriptor for the duvBuffer |
dvvBuffer | Output buffer 2nd derivative wrt v must have BindVBO() method returning a GL buffer object of destination data |
dvvDesc | vertex buffer descriptor for the dvvBuffer |
stencilTable | stencil table to be applied. The table must have SSBO interfaces. |
Definition at line 502 of file glComputeEvaluator.h.
bool EvalStencils | ( | GLuint | srcBuffer, |
BufferDescriptor const & | srcDesc, | ||
GLuint | dstBuffer, | ||
BufferDescriptor const & | dstDesc, | ||
GLuint | duBuffer, | ||
BufferDescriptor const & | duDesc, | ||
GLuint | dvBuffer, | ||
BufferDescriptor const & | dvDesc, | ||
GLuint | sizesBuffer, | ||
GLuint | offsetsBuffer, | ||
GLuint | indicesBuffer, | ||
GLuint | weightsBuffer, | ||
GLuint | duWeightsBuffer, | ||
GLuint | dvWeightsBuffer, | ||
int | start, | ||
int | end | ||
) | const |
Dispatch the GLSL compute kernel on GPU asynchronously returns false if the kernel hasn't been compiled yet.
srcBuffer | GL buffer of input primvar source data |
srcDesc | vertex buffer descriptor for the srcBuffer |
dstBuffer | GL buffer of output primvar destination data |
dstDesc | vertex buffer descriptor for the dstBuffer |
duBuffer | GL buffer of output derivative wrt u |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | GL buffer of output derivative wrt v |
dvDesc | vertex buffer descriptor for the dvBuffer |
sizesBuffer | GL buffer of the sizes in the stencil table |
offsetsBuffer | GL buffer of the offsets in the stencil table |
indicesBuffer | GL buffer of the indices in the stencil table |
weightsBuffer | GL buffer of the weights in the stencil table |
duWeightsBuffer | GL buffer of the du weights in the stencil table |
dvWeightsBuffer | GL buffer of the dv weights in the stencil table |
start | start index of stencil table |
end | end index of stencil table |
bool EvalStencils | ( | GLuint | srcBuffer, |
BufferDescriptor const & | srcDesc, | ||
GLuint | dstBuffer, | ||
BufferDescriptor const & | dstDesc, | ||
GLuint | duBuffer, | ||
BufferDescriptor const & | duDesc, | ||
GLuint | dvBuffer, | ||
BufferDescriptor const & | dvDesc, | ||
GLuint | duuBuffer, | ||
BufferDescriptor const & | duuDesc, | ||
GLuint | duvBuffer, | ||
BufferDescriptor const & | duvDesc, | ||
GLuint | dvvBuffer, | ||
BufferDescriptor const & | dvvDesc, | ||
GLuint | sizesBuffer, | ||
GLuint | offsetsBuffer, | ||
GLuint | indicesBuffer, | ||
GLuint | weightsBuffer, | ||
GLuint | duWeightsBuffer, | ||
GLuint | dvWeightsBuffer, | ||
GLuint | duuWeightsBuffer, | ||
GLuint | duvWeightsBuffer, | ||
GLuint | dvvWeightsBuffer, | ||
int | start, | ||
int | end | ||
) | const |
Dispatch the GLSL compute kernel on GPU asynchronously returns false if the kernel hasn't been compiled yet.
srcBuffer | GL buffer of input primvar source data |
srcDesc | vertex buffer descriptor for the srcBuffer |
dstBuffer | GL buffer of output primvar destination data |
dstDesc | vertex buffer descriptor for the dstBuffer |
duBuffer | GL buffer of output derivative wrt u |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | GL buffer of output derivative wrt v |
dvDesc | vertex buffer descriptor for the dvBuffer |
duuBuffer | GL buffer of output 2nd derivative wrt u |
duuDesc | vertex buffer descriptor for the duuBuffer |
duvBuffer | GL buffer of output 2nd derivative wrt u and v |
duvDesc | vertex buffer descriptor for the duvBuffer |
dvvBuffer | GL buffer of output 2nd derivative wrt v |
dvvDesc | vertex buffer descriptor for the dvvBuffer |
sizesBuffer | GL buffer of the sizes in the stencil table |
offsetsBuffer | GL buffer of the offsets in the stencil table |
indicesBuffer | GL buffer of the indices in the stencil table |
weightsBuffer | GL buffer of the weights in the stencil table |
duWeightsBuffer | GL buffer of the du weights in the stencil table |
dvWeightsBuffer | GL buffer of the dv weights in the stencil table |
duuWeightsBuffer | GL buffer of the duu weights in the stencil table |
duvWeightsBuffer | GL buffer of the duv weights in the stencil table |
dvvWeightsBuffer | GL buffer of the dvv weights in the stencil table |
start | start index of stencil table |
end | end index of stencil table |
|
static |
Wait the dispatched kernel finishes.