![]() |
OpenSubdiv
|
#include <glComputeEvaluator.h>
Public Types | |
| using | ID = unsigned int |
| using | Instantiatable = bool |
Public Member Functions | |
| GLComputeEvaluator () | |
| Constructor. | |
| ~GLComputeEvaluator () | |
| 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 (ID srcBuffer, BufferDescriptor const &srcDesc, ID dstBuffer, BufferDescriptor const &dstDesc, ID duBuffer, BufferDescriptor const &duDesc, ID dvBuffer, BufferDescriptor const &dvDesc, ID sizesBuffer, ID offsetsBuffer, ID indicesBuffer, ID weightsBuffer, ID duWeightsBuffer, ID dvWeightsBuffer, int start, int end) const |
| Dispatch the GLSL compute kernel on GPU asynchronously returns false if the kernel hasn't been compiled yet. | |
| bool | EvalStencils (ID srcBuffer, BufferDescriptor const &srcDesc, ID dstBuffer, BufferDescriptor const &dstDesc, ID duBuffer, BufferDescriptor const &duDesc, ID dvBuffer, BufferDescriptor const &dvDesc, ID duuBuffer, BufferDescriptor const &duuDesc, ID duvBuffer, BufferDescriptor const &duvDesc, ID dvvBuffer, BufferDescriptor const &dvvDesc, ID sizesBuffer, ID offsetsBuffer, ID indicesBuffer, ID weightsBuffer, ID duWeightsBuffer, ID dvWeightsBuffer, ID duuWeightsBuffer, ID duvWeightsBuffer, ID dvvWeightsBuffer, int start, int end) const |
| Dispatch the GLSL compute kernel 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 (ID srcBuffer, BufferDescriptor const &srcDesc, ID dstBuffer, BufferDescriptor const &dstDesc, ID duBuffer, BufferDescriptor const &duDesc, ID dvBuffer, BufferDescriptor const &dvDesc, int numPatchCoords, ID patchCoordsBuffer, const PatchArrayVector &patchArrays, ID patchIndexBuffer, ID patchParamsBuffer) const |
| bool | EvalPatches (ID srcBuffer, BufferDescriptor const &srcDesc, ID dstBuffer, BufferDescriptor const &dstDesc, ID duBuffer, BufferDescriptor const &duDesc, ID dvBuffer, BufferDescriptor const &dvDesc, ID duuBuffer, BufferDescriptor const &duuDesc, ID duvBuffer, BufferDescriptor const &duvDesc, ID dvvBuffer, BufferDescriptor const &dvvDesc, int numPatchCoords, ID patchCoordsBuffer, const PatchArrayVector &patchArrays, ID patchIndexBuffer, ID 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 | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| static void | Synchronize (void *deviceContext) |
| Wait the dispatched kernel finishes. | |
Definition at line 80 of file glComputeEvaluator.h.
| using ID = unsigned int |
Definition at line 82 of file glComputeEvaluator.h.
| using Instantiatable = bool |
Definition at line 83 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 97 of file glComputeEvaluator.h.
|
inlinestatic |
Definition at line 85 of file glComputeEvaluator.h.
| bool EvalPatches | ( | ID | srcBuffer, |
| BufferDescriptor const & | srcDesc, | ||
| ID | dstBuffer, | ||
| BufferDescriptor const & | dstDesc, | ||
| ID | duBuffer, | ||
| BufferDescriptor const & | duDesc, | ||
| ID | dvBuffer, | ||
| BufferDescriptor const & | dvDesc, | ||
| ID | duuBuffer, | ||
| BufferDescriptor const & | duuDesc, | ||
| ID | duvBuffer, | ||
| BufferDescriptor const & | duvDesc, | ||
| ID | dvvBuffer, | ||
| BufferDescriptor const & | dvvDesc, | ||
| int | numPatchCoords, | ||
| ID | patchCoordsBuffer, | ||
| const PatchArrayVector & | patchArrays, | ||
| ID | patchIndexBuffer, | ||
| ID | patchParamsBuffer ) const |
| bool EvalPatches | ( | ID | srcBuffer, |
| BufferDescriptor const & | srcDesc, | ||
| ID | dstBuffer, | ||
| BufferDescriptor const & | dstDesc, | ||
| ID | duBuffer, | ||
| BufferDescriptor const & | duDesc, | ||
| ID | dvBuffer, | ||
| BufferDescriptor const & | dvDesc, | ||
| int | numPatchCoords, | ||
| ID | patchCoordsBuffer, | ||
| const PatchArrayVector & | patchArrays, | ||
| ID | patchIndexBuffer, | ||
| ID | 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 1057 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 856 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 983 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 755 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 929 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 677 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 1889 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 1997 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 1722 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 1802 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 |
| 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 1592 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 1655 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 1530 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 1425 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 1341 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 1264 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 1200 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 1140 of file glComputeEvaluator.h.
| bool EvalStencils | ( | ID | srcBuffer, |
| BufferDescriptor const & | srcDesc, | ||
| ID | dstBuffer, | ||
| BufferDescriptor const & | dstDesc, | ||
| ID | duBuffer, | ||
| BufferDescriptor const & | duDesc, | ||
| ID | dvBuffer, | ||
| BufferDescriptor const & | dvDesc, | ||
| ID | duuBuffer, | ||
| BufferDescriptor const & | duuDesc, | ||
| ID | duvBuffer, | ||
| BufferDescriptor const & | duvDesc, | ||
| ID | dvvBuffer, | ||
| BufferDescriptor const & | dvvDesc, | ||
| ID | sizesBuffer, | ||
| ID | offsetsBuffer, | ||
| ID | indicesBuffer, | ||
| ID | weightsBuffer, | ||
| ID | duWeightsBuffer, | ||
| ID | dvWeightsBuffer, | ||
| ID | duuWeightsBuffer, | ||
| ID | duvWeightsBuffer, | ||
| ID | 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 |
| bool EvalStencils | ( | ID | srcBuffer, |
| BufferDescriptor const & | srcDesc, | ||
| ID | dstBuffer, | ||
| BufferDescriptor const & | dstDesc, | ||
| ID | duBuffer, | ||
| BufferDescriptor const & | duDesc, | ||
| ID | dvBuffer, | ||
| BufferDescriptor const & | dvDesc, | ||
| ID | sizesBuffer, | ||
| ID | offsetsBuffer, | ||
| ID | indicesBuffer, | ||
| ID | weightsBuffer, | ||
| ID | duWeightsBuffer, | ||
| ID | 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 |
|
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 488 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 312 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 420 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 222 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 372 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 154 of file glComputeEvaluator.h.
|
static |
Wait the dispatched kernel finishes.