OpenSubdiv
|
#include <glXFBEvaluator.h>
Public Types | |
typedef bool | Instantiatable |
Public Member Functions | |
GLXFBEvaluator (bool interleavedDerivativeBuffers=false) | |
Constructor. | |
~GLXFBEvaluator () | |
Destructor. note that the GL context must be made current. | |
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. | |
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. | |
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. | |
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 XFB kernel on on GPU asynchronously returns false if the kernel hasn't been compiled yet. | |
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 XFB kernel on on GPU asynchronously returns false if the kernel hasn't been compiled yet. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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 | |
template<typename DEVICE_CONTEXT > | |
static GLXFBEvaluator * | Create (BufferDescriptor const &srcDesc, BufferDescriptor const &dstDesc, BufferDescriptor const &duDesc, BufferDescriptor const &dvDesc, DEVICE_CONTEXT deviceContext) |
Generic creator template. | |
static GLXFBEvaluator * | Create (BufferDescriptor const &srcDesc, BufferDescriptor const &dstDesc, BufferDescriptor const &duDesc, BufferDescriptor const &dvDesc, void *deviceContext) |
Specialization to allow creation without a device context. | |
static GLXFBEvaluator * | Create (BufferDescriptor const &srcDesc, BufferDescriptor const &dstDesc, BufferDescriptor const &duDesc, BufferDescriptor const &dvDesc, bool interleavedDerivativeBuffers=false) |
template<typename DEVICE_CONTEXT > | |
static GLXFBEvaluator * | Create (BufferDescriptor const &srcDesc, BufferDescriptor const &dstDesc, BufferDescriptor const &duDesc, BufferDescriptor const &dvDesc, BufferDescriptor const &duuDesc, BufferDescriptor const &duvDesc, BufferDescriptor const &dvvDesc, DEVICE_CONTEXT deviceContext) |
Generic creator template. | |
static GLXFBEvaluator * | Create (BufferDescriptor const &srcDesc, BufferDescriptor const &dstDesc, BufferDescriptor const &duDesc, BufferDescriptor const &dvDesc, BufferDescriptor const &duuDesc, BufferDescriptor const &duvDesc, BufferDescriptor const &dvvDesc, void *deviceContext) |
Specialization to allow creation without a device context. | |
static GLXFBEvaluator * | Create (BufferDescriptor const &srcDesc, BufferDescriptor const &dstDesc, BufferDescriptor const &duDesc, BufferDescriptor const &dvDesc, BufferDescriptor const &duuDesc, BufferDescriptor const &duvDesc, BufferDescriptor const &dvvDesc, bool interleavedDerivativeBuffers=false) |
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, GLXFBEvaluator 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. | |
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, GLXFBEvaluator 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. | |
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, GLXFBEvaluator 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. | |
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, GLXFBEvaluator 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. | |
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, GLXFBEvaluator 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. | |
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, GLXFBEvaluator 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. | |
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, GLXFBEvaluator 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. | |
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, GLXFBEvaluator 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. | |
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, GLXFBEvaluator 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. | |
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, GLXFBEvaluator 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. | |
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, GLXFBEvaluator 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. | |
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, GLXFBEvaluator 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. | |
static void | Synchronize (void *kernel) |
Wait the dispatched kernel finishes. | |
Definition at line 98 of file glXFBEvaluator.h.
typedef bool Instantiatable |
Definition at line 100 of file glXFBEvaluator.h.
GLXFBEvaluator | ( | bool | interleavedDerivativeBuffers = false | ) |
Constructor.
The transform feedback evaluator can make more sparing use of transform feeback buffer bindings when it is known that evaluator output buffers are shared and the corresponding buffer descriptors are interleaved. When interleavedDerivativeBuffers is true then evaluation requires that either 1st derivative outputs are interleaved and 2nd derivative output are interleaved separately or that both 1st derivative and 2nd derivative outputs are interleaved together. This reduces the maximum number of required transform feedback buffer bindings to 3 instead of 6 which is significant, since most transform feedback implementations support a maximum of 4 bindings.
~GLXFBEvaluator | ( | ) |
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 126 of file glXFBEvaluator.h.
|
inlinestatic |
Definition at line 170 of file glXFBEvaluator.h.
|
inlinestatic |
Generic creator template.
Definition at line 140 of file glXFBEvaluator.h.
|
inlinestatic |
Specialization to allow creation without a device context.
Definition at line 157 of file glXFBEvaluator.h.
|
inlinestatic |
Generic creator template.
Definition at line 104 of file glXFBEvaluator.h.
|
inlinestatic |
Specialization to allow creation without a device context.
Definition at line 117 of file glXFBEvaluator.h.
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 |
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 |
|
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 1144 of file glXFBEvaluator.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 943 of file glXFBEvaluator.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 1070 of file glXFBEvaluator.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 843 of file glXFBEvaluator.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 1016 of file glXFBEvaluator.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 765 of file glXFBEvaluator.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 1976 of file glXFBEvaluator.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 2084 of file glXFBEvaluator.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 1809 of file glXFBEvaluator.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 |
fvarChannel | face-varying channel |
Definition at line 1889 of file glXFBEvaluator.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 |
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 1679 of file glXFBEvaluator.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 1742 of file glXFBEvaluator.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 1617 of file glXFBEvaluator.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 1512 of file glXFBEvaluator.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 1428 of file glXFBEvaluator.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 1351 of file glXFBEvaluator.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 1287 of file glXFBEvaluator.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 1227 of file glXFBEvaluator.h.
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 XFB kernel on 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 |
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 XFB kernel on 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 |
|
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 Texture Buffer Object interfaces. |
Definition at line 575 of file glXFBEvaluator.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 Texture Buffer Object 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 GLSLTransformFeedback kernel |
Definition at line 396 of file glXFBEvaluator.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 Texture Buffer Object interfaces. |
Definition at line 506 of file glXFBEvaluator.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 Texture Buffer Object 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 GLSLTransformFeedback kernel |
Definition at line 306 of file glXFBEvaluator.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 Texture Buffer Object interfaces. |
Definition at line 457 of file glXFBEvaluator.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 Texture Buffer Object 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 GLSLTransformFeedback kernel |
Definition at line 238 of file glXFBEvaluator.h.
|
static |
Wait the dispatched kernel finishes.