![]() |
OpenSubdiv
|
#include <tbbEvaluator.h>
Static Public Member Functions | |
| 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, TbbEvaluator const *instance=NULL, void *deviceContext=NULL) |
| Generic static eval stencils function. This function has a same signature as other device kernels have so that it can be called in the same way from OsdMesh template interface. More... | |
| static bool | EvalStencils (const float *src, BufferDescriptor const &srcDesc, float *dst, BufferDescriptor const &dstDesc, const int *sizes, const int *offsets, const int *indices, const float *weights, int start, int end) |
| Static eval stencils function which takes raw CPU pointers for input and output. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename STENCIL_TABLE > | |
| static bool | EvalStencils (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, STENCIL_TABLE const *stencilTable, const TbbEvaluator *instance=NULL, void *deviceContext=NULL) |
| Generic static eval stencils function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way from OsdMesh template interface. More... | |
| static bool | EvalStencils (const float *src, BufferDescriptor const &srcDesc, float *dst, BufferDescriptor const &dstDesc, float *du, BufferDescriptor const &duDesc, float *dv, BufferDescriptor const &dvDesc, const int *sizes, const int *offsets, const int *indices, const float *weights, const float *duWeights, const float *dvWeights, int start, int end) |
| Static eval stencils function with derivatives, which takes raw CPU pointers for input and output. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename STENCIL_TABLE > | |
| static bool | EvalStencils (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, DST_BUFFER *duuBuffer, BufferDescriptor const &duuDesc, DST_BUFFER *duvBuffer, BufferDescriptor const &duvDesc, DST_BUFFER *dvvBuffer, BufferDescriptor const &dvvDesc, STENCIL_TABLE const *stencilTable, const TbbEvaluator *instance=NULL, void *deviceContext=NULL) |
| Generic static eval stencils function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way from OsdMesh template interface. More... | |
| static bool | EvalStencils (const float *src, BufferDescriptor const &srcDesc, float *dst, BufferDescriptor const &dstDesc, float *du, BufferDescriptor const &duDesc, float *dv, BufferDescriptor const &dvDesc, float *duu, BufferDescriptor const &duuDesc, float *duv, BufferDescriptor const &duvDesc, float *dvv, BufferDescriptor const &dvvDesc, const int *sizes, const int *offsets, const int *indices, const float *weights, const float *duWeights, const float *dvWeights, const float *duuWeights, const float *duvWeights, const float *dvvWeights, int start, int end) |
| Static eval stencils function with derivatives, which takes raw CPU pointers for input and output. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| static bool | EvalPatches (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, TbbEvaluator const *instance=NULL, void *deviceContext=NULL) |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| static bool | EvalPatches (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, TbbEvaluator const *instance=NULL, void *deviceContext=NULL) |
| Generic limit eval function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| 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, TbbEvaluator const *instance=NULL, void *deviceContext=NULL) |
| Generic limit eval function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| static bool | EvalPatches (const float *src, BufferDescriptor const &srcDesc, float *dst, BufferDescriptor const &dstDesc, int numPatchCoords, const PatchCoord *patchCoords, const PatchArray *patchArrays, const int *patchIndexBuffer, const PatchParam *patchParamBuffer) |
| Static limit eval function. It takes an array of PatchCoord and evaluate limit values on given PatchTable. More... | |
| static bool | EvalPatches (const float *src, BufferDescriptor const &srcDesc, float *dst, BufferDescriptor const &dstDesc, float *du, BufferDescriptor const &duDesc, float *dv, BufferDescriptor const &dvDesc, int numPatchCoords, PatchCoord const *patchCoords, PatchArray const *patchArrays, const int *patchIndexBuffer, PatchParam const *patchParamBuffer) |
| Static limit eval function. It takes an array of PatchCoord and evaluate limit values on given PatchTable. More... | |
| static bool | EvalPatches (const float *src, BufferDescriptor const &srcDesc, float *dst, BufferDescriptor const &dstDesc, float *du, BufferDescriptor const &duDesc, float *dv, BufferDescriptor const &dvDesc, float *duu, BufferDescriptor const &duuDesc, float *duv, BufferDescriptor const &duvDesc, float *dvv, BufferDescriptor const &dvvDesc, int numPatchCoords, PatchCoord const *patchCoords, PatchArray const *patchArrays, const int *patchIndexBuffer, PatchParam const *patchParamBuffer) |
| Static limit eval function. It takes an array of PatchCoord and evaluate limit values on given PatchTable. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| static bool | EvalPatchesVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, TbbEvaluator const *instance=NULL, void *deviceContext=NULL) |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| static bool | EvalPatchesVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, TbbEvaluator const *instance=NULL, void *deviceContext=NULL) |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| static bool | EvalPatchesVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, DST_BUFFER *duuBuffer, BufferDescriptor const &duuDesc, DST_BUFFER *duvBuffer, BufferDescriptor const &duvDesc, DST_BUFFER *dvvBuffer, BufferDescriptor const &dvvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, TbbEvaluator const *instance=NULL, void *deviceContext=NULL) |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| static bool | EvalPatchesFaceVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, int fvarChannel, TbbEvaluator const *instance=NULL, void *deviceContext=NULL) |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| static bool | EvalPatchesFaceVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, int fvarChannel, TbbEvaluator const *instance=NULL, void *deviceContext=NULL) |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| static bool | EvalPatchesFaceVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, DST_BUFFER *duuBuffer, BufferDescriptor const &duuDesc, DST_BUFFER *duvBuffer, BufferDescriptor const &duvDesc, DST_BUFFER *dvvBuffer, BufferDescriptor const &dvvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, int fvarChannel, TbbEvaluator const *instance=NULL, void *deviceContext=NULL) |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| static void | Synchronize (void *deviceContext=NULL) |
| synchronize all asynchronous computation invoked on this device. More... | |
| static void | SetNumThreads (int numThreads) |
| initialize tbb task schedular (optional: client may use tbb::task_scheduler_init) More... | |
Definition at line 39 of file tbbEvaluator.h.
|
static |
Static limit eval function. It takes an array of PatchCoord and evaluate limit values on given PatchTable.
| src | Input primvar pointer. An offset of srcDesc will be applied internally (i.e. the pointer should not include the offset) |
| srcDesc | vertex buffer descriptor for the input buffer |
| dst | Output primvar pointer. An offset of dstDesc will be applied internally. |
| dstDesc | vertex buffer descriptor for the output buffer |
| du | Output pointer derivative wrt u. An offset of duDesc will be applied internally. |
| duDesc | vertex buffer descriptor for the duBuffer |
| dv | Output pointer derivative wrt v. An offset of dvDesc will be applied internally. |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| duu | Output pointer 2nd derivative wrt u. An offset of duuDesc will be applied internally. |
| duuDesc | vertex buffer descriptor for the duuBuffer |
| duv | Output pointer 2nd derivative wrt u and v. An offset of duvDesc will be applied internally. |
| duvDesc | vertex buffer descriptor for the duvBuffer |
| dvv | Output pointer 2nd derivative wrt v. An offset of dvvDesc will be applied internally. |
| dvvDesc | vertex buffer descriptor for the dvvBuffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. |
| patchArrays | an array of Osd::PatchArray struct indexed by PatchCoord::arrayIndex |
| patchIndexBuffer | an array of patch indices indexed by PatchCoord::vertIndex |
| patchParamBuffer | an array of Osd::PatchParam struct indexed by PatchCoord::patchIndex |
|
static |
Static limit eval function. It takes an array of PatchCoord and evaluate limit values on given PatchTable.
| src | Input primvar pointer. An offset of srcDesc will be applied internally (i.e. the pointer should not include the offset) |
| srcDesc | vertex buffer descriptor for the input buffer |
| dst | Output primvar pointer. An offset of dstDesc will be applied internally. |
| dstDesc | vertex buffer descriptor for the output buffer |
| du | Output pointer derivative wrt u. An offset of duDesc will be applied internally. |
| duDesc | vertex buffer descriptor for the duBuffer |
| dv | Output pointer derivative wrt v. An offset of dvDesc will be applied internally. |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. |
| patchArrays | an array of Osd::PatchArray struct indexed by PatchCoord::arrayIndex |
| patchIndexBuffer | an array of patch indices indexed by PatchCoord::vertIndex |
| patchParamBuffer | an array of Osd::PatchParam struct indexed by PatchCoord::patchIndex |
|
static |
Static limit eval function. It takes an array of PatchCoord and evaluate limit values on given PatchTable.
| src | Input primvar pointer. An offset of srcDesc will be applied internally (i.e. the pointer should not include the offset) |
| srcDesc | vertex buffer descriptor for the input buffer |
| dst | Output primvar pointer. An offset of dstDesc will be applied internally. |
| dstDesc | vertex buffer descriptor for the output buffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. |
| patchArrays | an array of Osd::PatchArray struct indexed by PatchCoord::arrayIndex |
| patchIndexBuffer | an array of patch indices indexed by PatchCoord::vertIndex |
| patchParamBuffer | an array of Osd::PatchParam struct indexed by PatchCoord::patchIndex |
|
inlinestatic |
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 BindCpuBuffer() method returning a const float pointer for read |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write |
| dstDesc | vertex buffer descriptor for the output buffer |
| duBuffer | Output buffer derivative wrt u must have BindCpuBuffer() method returning a float pointer for write |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindCpuBuffer() method returning a float pointer for write |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| duuBuffer | Output buffer 2nd derivative wrt u must have BindCpuBuffer() method returning a float pointer for write |
| duuDesc | vertex buffer descriptor for the duuBuffer |
| duvBuffer | Output buffer 2nd derivative wrt u and v must have BindCpuBuffer() method returning a float pointer for write |
| duvDesc | vertex buffer descriptor for the duvBuffer |
| dvvBuffer | Output buffer 2nd derivative wrt v must have BindCpuBuffer() method returning a float pointer for write |
| dvvDesc | vertex buffer descriptor for the dvvBuffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. |
| patchTable | CpuPatchTable or equivalent XXX: currently Far::PatchTable can't be used due to interface mismatch |
| instance | not used in the cpu evaluator |
| deviceContext | not used in the cpu evaluator |
Definition at line 607 of file tbbEvaluator.h.
|
inlinestatic |
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 BindCpuBuffer() method returning a const float pointer for read |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write |
| dstDesc | vertex buffer descriptor for the output buffer |
| duBuffer | Output buffer derivative wrt u must have BindCpuBuffer() method returning a float pointer for write |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindCpuBuffer() method returning a float pointer for write |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. |
| patchTable | CpuPatchTable or equivalent XXX: currently Far::PatchTable can't be used due to interface mismatch |
| instance | not used in the cpu evaluator |
| deviceContext | not used in the cpu evaluator |
Definition at line 517 of file tbbEvaluator.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 BindCpuBuffer() method returning a const float pointer for read |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write |
| dstDesc | vertex buffer descriptor for the output buffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. |
| patchTable | CpuPatchTable or equivalent XXX: currently Far::PatchTable can't be used due to interface mismatch |
| instance | not used in the cpu evaluator |
| deviceContext | not used in the cpu evaluator |
Definition at line 454 of file tbbEvaluator.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 BindCpuBuffer() method returning a const float pointer for read |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write |
| dstDesc | vertex buffer descriptor for the output buffer |
| duBuffer | Output buffer derivative wrt u must have BindCpuBuffer() method returning a float pointer for write |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindCpuBuffer() method returning a float pointer for write |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| duuBuffer | Output buffer 2nd derivative wrt u must have BindCpuBuffer() method returning a float pointer for write |
| duuDesc | vertex buffer descriptor for the duuBuffer |
| duvBuffer | Output buffer 2nd derivative wrt u and v must have BindCpuBuffer() method returning a float pointer for write |
| duvDesc | vertex buffer descriptor for the duvBuffer |
| dvvBuffer | Output buffer 2nd derivative wrt v must have BindCpuBuffer() method returning a float pointer for write |
| dvvDesc | vertex buffer descriptor for the dvvBuffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. |
| patchTable | CpuPatchTable or equivalent XXX: currently Far::PatchTable can't be used due to interface mismatch |
| fvarChannel | face-varying channel |
| instance | not used in the cpu evaluator |
| deviceContext | not used in the cpu evaluator |
Definition at line 1188 of file tbbEvaluator.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 BindCpuBuffer() method returning a const float pointer for read |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write |
| dstDesc | vertex buffer descriptor for the output buffer |
| duBuffer | Output buffer derivative wrt u must have BindCpuBuffer() method returning a float pointer for write |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindCpuBuffer() method returning a float pointer for write |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. |
| patchTable | CpuPatchTable or equivalent XXX: currently Far::PatchTable can't be used due to interface mismatch |
| fvarChannel | face-varying channel |
| instance | not used in the cpu evaluator |
| deviceContext | not used in the cpu evaluator |
Definition at line 1100 of file tbbEvaluator.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 BindCpuBuffer() method returning a const float pointer for read |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write |
| dstDesc | vertex buffer descriptor for the output buffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. |
| patchTable | CpuPatchTable or equivalent XXX: currently Far::PatchTable can't be used due to interface mismatch |
| fvarChannel | face-varying channel |
| instance | not used in the cpu evaluator |
| deviceContext | not used in the cpu evaluator |
Definition at line 1034 of file tbbEvaluator.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 BindCpuBuffer() method returning a const float pointer for read |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write |
| dstDesc | vertex buffer descriptor for the output buffer |
| duBuffer | Output buffer derivative wrt u must have BindCpuBuffer() method returning a float pointer for write |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindCpuBuffer() method returning a float pointer for write |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| duuBuffer | Output buffer 2nd derivative wrt u must have BindCpuBuffer() method returning a float pointer for write |
| duuDesc | vertex buffer descriptor for the duuBuffer |
| duvBuffer | Output buffer 2nd derivative wrt u and v must have BindCpuBuffer() method returning a float pointer for write |
| duvDesc | vertex buffer descriptor for the duvBuffer |
| dvvBuffer | Output buffer 2nd derivative wrt v must have BindCpuBuffer() method returning a float pointer for write |
| dvvDesc | vertex buffer descriptor for the dvvBuffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. |
| patchTable | CpuPatchTable or equivalent XXX: currently Far::PatchTable can't be used due to interface mismatch |
| instance | not used in the cpu evaluator |
| deviceContext | not used in the cpu evaluator |
Definition at line 971 of file tbbEvaluator.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 BindCpuBuffer() method returning a const float pointer for read |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write |
| dstDesc | vertex buffer descriptor for the output buffer |
| duBuffer | Output buffer derivative wrt u must have BindCpuBuffer() method returning a float pointer for write |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindCpuBuffer() method returning a float pointer for write |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. |
| patchTable | CpuPatchTable or equivalent XXX: currently Far::PatchTable can't be used due to interface mismatch |
| instance | not used in the cpu evaluator |
| deviceContext | not used in the cpu evaluator |
Definition at line 886 of file tbbEvaluator.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 BindCpuBuffer() method returning a const float pointer for read |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write |
| dstDesc | vertex buffer descriptor for the output buffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. |
| patchTable | CpuPatchTable or equivalent XXX: currently Far::PatchTable can't be used due to interface mismatch |
| instance | not used in the cpu evaluator |
| deviceContext | not used in the cpu evaluator |
Definition at line 823 of file tbbEvaluator.h.
|
static |
Static eval stencils function which takes raw CPU pointers for input and output.
| src | Input primvar pointer. An offset of srcDesc will be applied internally (i.e. the pointer should not include the offset) |
| srcDesc | vertex buffer descriptor for the input buffer |
| dst | Output primvar pointer. An offset of dstDesc will be applied internally. |
| dstDesc | vertex buffer descriptor for the output buffer |
| sizes | pointer to the sizes buffer of the stencil table |
| offsets | pointer to the offsets buffer of the stencil table |
| indices | pointer to the indices buffer of the stencil table |
| weights | pointer to the weights buffer of the stencil table |
| start | start index of stencil table |
| end | end index of stencil table |
|
static |
Static eval stencils function with derivatives, which takes raw CPU pointers for input and output.
| src | Input primvar pointer. An offset of srcDesc will be applied internally (i.e. the pointer should not include the offset) |
| srcDesc | vertex buffer descriptor for the input buffer |
| dst | Output primvar pointer. An offset of dstDesc will be applied internally. |
| dstDesc | vertex buffer descriptor for the output buffer |
| du | Output pointer derivative wrt u. An offset of duDesc will be applied internally. |
| duDesc | vertex buffer descriptor for the duBuffer |
| dv | Output pointer derivative wrt v. An offset of dvDesc will be applied internally. |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| sizes | pointer to the sizes buffer of the stencil table |
| offsets | pointer to the offsets buffer of the stencil table |
| indices | pointer to the indices buffer of the stencil table |
| weights | pointer to the weights buffer of the stencil table |
| duWeights | pointer to the du-weights buffer of the stencil table |
| dvWeights | pointer to the dv-weights buffer of the stencil table |
| start | start index of stencil table |
| end | end index of stencil table |
|
static |
Static eval stencils function with derivatives, which takes raw CPU pointers for input and output.
| src | Input primvar pointer. An offset of srcDesc will be applied internally (i.e. the pointer should not include the offset) |
| srcDesc | vertex buffer descriptor for the input buffer |
| dst | Output primvar pointer. An offset of dstDesc will be applied internally. |
| dstDesc | vertex buffer descriptor for the output buffer |
| du | Output pointer derivative wrt u. An offset of duDesc will be applied internally. |
| duDesc | vertex buffer descriptor for the duBuffer |
| dv | Output pointer derivative wrt v. An offset of dvDesc will be applied internally. |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| duu | Output pointer 2nd derivative wrt u. An offset of duuDesc will be applied internally. |
| duuDesc | vertex buffer descriptor for the duuBuffer |
| duv | Output pointer 2nd derivative wrt u and v. An offset of duvDesc will be applied internally. |
| duvDesc | vertex buffer descriptor for the duvBuffer |
| dvv | Output pointer 2nd derivative wrt v. An offset of dvvDesc will be applied internally. |
| dvvDesc | vertex buffer descriptor for the dvvBuffer |
| sizes | pointer to the sizes buffer of the stencil table |
| offsets | pointer to the offsets buffer of the stencil table |
| indices | pointer to the indices buffer of the stencil table |
| weights | pointer to the weights buffer of the stencil table |
| duWeights | pointer to the du-weights buffer of the stencil table |
| dvWeights | pointer to the dv-weights buffer of the stencil table |
| duuWeights | pointer to the duu-weights buffer of the stencil table |
| duvWeights | pointer to the duv-weights buffer of the stencil table |
| dvvWeights | pointer to the dvv-weights buffer of the stencil table |
| start | start index of stencil table |
| end | end index of stencil table |
|
inlinestatic |
Generic static eval stencils function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way from OsdMesh template interface.
| srcBuffer | Input primvar buffer. must have BindCpuBuffer() method returning a const float pointer for read |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write |
| dstDesc | vertex buffer descriptor for the output buffer |
| duBuffer | Output buffer derivative wrt u must have BindCpuBuffer() method returning a float pointer for write |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindCpuBuffer() method returning a float pointer for write |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| duuBuffer | Output buffer 2nd derivative wrt u must have BindCpuBuffer() method returning a float pointer for write |
| duuDesc | vertex buffer descriptor for the duuBuffer |
| duvBuffer | Output buffer 2nd derivative wrt u and v must have BindCpuBuffer() method returning a float pointer for write |
| duvDesc | vertex buffer descriptor for the duvBuffer |
| dvvBuffer | Output buffer 2nd derivative wrt v must have BindCpuBuffer() method returning a float pointer for write |
| dvvDesc | vertex buffer descriptor for the dvvBuffer |
| stencilTable | Far::StencilTable or equivalent |
| instance | not used in the tbb kernel (declared as a typed pointer to prevent undesirable template resolution) |
| deviceContext | not used in the tbb kernel |
Definition at line 303 of file tbbEvaluator.h.
|
inlinestatic |
Generic static eval stencils function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way from OsdMesh template interface.
| srcBuffer | Input primvar buffer. must have BindCpuBuffer() method returning a const float pointer for read |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write |
| dstDesc | vertex buffer descriptor for the output buffer |
| duBuffer | Output buffer derivative wrt u must have BindCpuBuffer() method returning a float pointer for write |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindCpuBuffer() method returning a float pointer for write |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| stencilTable | Far::StencilTable or equivalent |
| instance | not used in the tbb kernel (declared as a typed pointer to prevent undesirable template resolution) |
| deviceContext | not used in the tbb kernel |
Definition at line 168 of file tbbEvaluator.h.
|
inlinestatic |
Generic static eval stencils function. This function has a same signature as other device kernels have so that it can be called in the same way from OsdMesh template interface.
Stencil evaluations with StencilTable
| srcBuffer | Input primvar buffer. must have BindCpuBuffer() method returning a const float pointer for read |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write |
| dstDesc | vertex buffer descriptor for the output buffer |
| stencilTable | Far::StencilTable or equivalent |
| instance | not used in the tbb kernel (declared as a typed pointer to prevent undesirable template resolution) |
| deviceContext | not used in the tbb kernel |
Definition at line 72 of file tbbEvaluator.h.
|
static |
initialize tbb task schedular (optional: client may use tbb::task_scheduler_init)
| numThreads | how many threads |
|
static |
synchronize all asynchronous computation invoked on this device.
Other methods