OpenSubdiv: GLComputeEvaluator Class Reference

| OpenSubdiv

Loading...
Searching...
No Matches
GLComputeEvaluator Class Reference

`#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.

## Detailed Description

Definition at line 80 of file glComputeEvaluator.h.

## Member Typedef Documentation

## ◆ ID

using ID = unsigned int

Definition at line 82 of file glComputeEvaluator.h.

## ◆ Instantiatable

using Instantiatable = bool

Definition at line 83 of file glComputeEvaluator.h.

## Constructor & Destructor Documentation

## ◆ GLComputeEvaluator()

GLComputeEvaluator | ( |  | ) |

Constructor.

## ◆ ~GLComputeEvaluator()

~GLComputeEvaluator | ( |  | ) |

Destructor. note that the GL context must be made current.

## Member Function Documentation

## ◆ Compile()

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.

## ◆ Create() [1/2]

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 )
| inlinestatic

Definition at line 97 of file glComputeEvaluator.h.

## ◆ Create() [2/2]

GLComputeEvaluator * Create | ( | BufferDescriptor const & | srcDesc,
|  | BufferDescriptor const & | dstDesc,
|  | BufferDescriptor const & | duDesc,
|  | BufferDescriptor const & | dvDesc,
|  | void * | deviceContext = NULL )
| inlinestatic

Definition at line 85 of file glComputeEvaluator.h.

## ◆ EvalPatches() [1/8]

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

## ◆ EvalPatches() [2/8]

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

## ◆ EvalPatches() [3/8]

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
| 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.

Parameters

  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.

## ◆ EvalPatches() [4/8]

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,
|  | GLComputeEvaluator const * | instance,
|  | void * | deviceContext = NULL )
| 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.

Parameters

  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.

## ◆ EvalPatches() [5/8]

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
| 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.

Parameters

  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.

## ◆ EvalPatches() [6/8]

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,
|  | GLComputeEvaluator const * | instance,
|  | void * | deviceContext = NULL )
| 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.

Parameters

  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.

## ◆ EvalPatches() [7/8]

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
| 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.

Parameters

  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.

## ◆ EvalPatches() [8/8]

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,
|  | GLComputeEvaluator const * | instance,
|  | void * | deviceContext = NULL )
| 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

Parameters

  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.

## ◆ EvalPatchesFaceVarying() [1/6]

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,
|  | GLComputeEvaluator const * | instance,
|  | void * | deviceContext = NULL )
| 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.

Parameters

  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.

## ◆ EvalPatchesFaceVarying() [2/6]

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
| 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.

Parameters

  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.

## ◆ EvalPatchesFaceVarying() [3/6]

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,
|  | GLComputeEvaluator const * | instance,
|  | void * | deviceContext = NULL )
| 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.

Parameters

  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.

## ◆ EvalPatchesFaceVarying() [4/6]

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
| 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.

Parameters

  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.

## ◆ EvalPatchesFaceVarying() [5/6]

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,
|  | GLComputeEvaluator const * | instance,
|  | void * | deviceContext = NULL )
| 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.

Parameters

  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.

## ◆ EvalPatchesFaceVarying() [6/6]

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
| 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.

Parameters

  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.

## ◆ EvalPatchesVarying() [1/6]

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
| 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.

Parameters

  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.

## ◆ EvalPatchesVarying() [2/6]

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,
|  | GLComputeEvaluator const * | instance,
|  | void * | deviceContext = NULL )
| 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.

Parameters

  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.

## ◆ EvalPatchesVarying() [3/6]

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
| 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.

Parameters

  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.

## ◆ EvalPatchesVarying() [4/6]

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,
|  | GLComputeEvaluator const * | instance,
|  | void * | deviceContext = NULL )
| 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.

Parameters

  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.

## ◆ EvalPatchesVarying() [5/6]

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
| 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.

Parameters

  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.

## ◆ EvalPatchesVarying() [6/6]

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,
|  | GLComputeEvaluator const * | instance,
|  | void * | deviceContext = NULL )
| 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.

Parameters

  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.

## ◆ EvalStencils() [1/8]

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.

Parameters

  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

## ◆ EvalStencils() [2/8]

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.

Parameters

  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

## ◆ EvalStencils() [3/8]

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
| inline

Generic stencil function.

Parameters

  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.

## ◆ EvalStencils() [4/8]

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,
|  | GLComputeEvaluator const * | instance,
|  | void * | deviceContext = NULL )
| 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.

Parameters

  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.

## ◆ EvalStencils() [5/8]

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
| inline

Generic stencil function.

Parameters

  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.

## ◆ EvalStencils() [6/8]

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,
|  | GLComputeEvaluator const * | instance,
|  | void * | deviceContext = NULL )
| 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.

Parameters

  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.

## ◆ EvalStencils() [7/8]

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
| inline

Generic stencil function.

Parameters

  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.

## ◆ EvalStencils() [8/8]

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,
|  | GLComputeEvaluator const * | instance,
|  | void * | deviceContext = NULL )
| 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

Parameters

  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.

## ◆ Synchronize()

void Synchronize | ( | void * | deviceContext | ) |
| static

Wait the dispatched kernel finishes.

The documentation for this class was generated from the following file:

- opensubdiv/osd/glComputeEvaluator.h