OpenSubdiv
|
#include <cudaEvaluator.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, const void *instance=NULL, void *deviceContext=NULL) |
Generic static compute function. This function has a same signature as other device kernels have so that it can be called transparently from OsdMesh template interface. | |
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 cuda buffers for input and output. | |
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 CudaEvaluator *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. | |
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 cuda pointers for input and output. | |
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 CudaEvaluator *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. | |
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 cuda pointers for input and output. | |
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, CudaEvaluator 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, CudaEvaluator const *instance, 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. | |
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, CudaEvaluator const *instance, 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. | |
static bool | EvalPatches (const float *src, BufferDescriptor const &srcDesc, float *dst, BufferDescriptor const &dstDesc, int numPatchCoords, const PatchCoord *patchCoords, const PatchArray *patchArrays, const int *patchIndices, const PatchParam *patchParams) |
Static limit eval function. It takes an array of PatchCoord and evaluate limit values on given PatchTable. | |
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 *patchIndices, PatchParam const *patchParams) |
Static limit eval function. It takes an array of PatchCoord and evaluate limit values on given PatchTable. | |
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 *patchIndices, PatchParam const *patchParams) |
Static limit eval function. It takes an array of PatchCoord and evaluate limit values on given PatchTable. | |
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, CudaEvaluator 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, CudaEvaluator 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, CudaEvaluator 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, CudaEvaluator 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, CudaEvaluator 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, CudaEvaluator 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=NULL) |
Definition at line 94 of file cudaEvaluator.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 |
patchIndices | an array of patch indices indexed by PatchCoord::vertIndex |
patchParams | 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 |
patchIndices | an array of patch indices indexed by PatchCoord::vertIndex |
patchParams | 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 |
patchIndices | an array of patch indices indexed by PatchCoord::vertIndex |
patchParams | 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 BindCudaBuffer() method returning a const float pointer for read |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindCudaBuffer() method returning a float pointer for write |
dstDesc | vertex buffer descriptor for the output buffer |
duBuffer | Output buffer derivative wrt u must have BindCudaBuffer() method returning a float pointer for write |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindCudaBuffer() method returning a float pointer for write |
dvDesc | vertex buffer descriptor for the dvBuffer |
duuBuffer | Output buffer 2nd derivative wrt u must have BindCudaBuffer() method returning a float pointer for write |
duuDesc | vertex buffer descriptor for the duuBuffer |
duvBuffer | Output buffer 2nd derivative wrt u must have BindCudaBuffer() method returning a float pointer for write |
duvDesc | vertex buffer descriptor for the duvBuffer |
dvvBuffer | Output buffer 2nd derivative wrt v must have BindCudaBuffer() 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 | CudaPatchTable or equivalent |
instance | not used in the cuda evaluator |
deviceContext | not used in the cuda evaluator |
Definition at line 648 of file cudaEvaluator.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 BindCudaBuffer() method returning a const float pointer for read |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindCudaBuffer() method returning a float pointer for write |
dstDesc | vertex buffer descriptor for the output buffer |
duBuffer | Output buffer derivative wrt u must have BindCudaBuffer() method returning a float pointer for write |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindCudaBuffer() 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 | CudaPatchTable or equivalent |
instance | not used in the cuda evaluator |
deviceContext | not used in the cuda evaluator |
Definition at line 565 of file cudaEvaluator.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 BindCudaBuffer() method returning a const float pointer for read |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindCudaBuffer() 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. must have BindCudaBuffer() method returning an array of PatchCoord struct in cuda memory. |
patchTable | CudaPatchTable or equivalent |
instance | not used in the cuda evaluator |
deviceContext | not used in the cuda evaluator |
Definition at line 504 of file cudaEvaluator.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 BindCudaBuffer() method returning a const float pointer for read |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindCudaBuffer() method returning a float pointer for write |
dstDesc | vertex buffer descriptor for the output buffer |
duBuffer | Output buffer derivative wrt u must have BindCudaBuffer() method returning a float pointer for write |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindCudaBuffer() method returning a float pointer for write |
dvDesc | vertex buffer descriptor for the dvBuffer |
duuBuffer | Output buffer 2nd derivative wrt u must have BindCudaBuffer() method returning a float pointer for write |
duuDesc | vertex buffer descriptor for the duuBuffer |
duvBuffer | Output buffer 2nd derivative wrt u must have BindCudaBuffer() method returning a float pointer for write |
duvDesc | vertex buffer descriptor for the duvBuffer |
dvvBuffer | Output buffer 2nd derivative wrt v must have BindCudaBuffer() 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. must have BindCudaBuffer() method returning an array of PatchCoord struct in cuda memory. |
patchTable | CudaPatchTable or equivalent |
fvarChannel | face-varying channel |
instance | not used in the cuda evaluator |
deviceContext | not used in the cuda evaluator |
Definition at line 1224 of file cudaEvaluator.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 BindCudaBuffer() method returning a const float pointer for read |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindCudaBuffer() method returning a float pointer for write |
dstDesc | vertex buffer descriptor for the output buffer |
duBuffer | Output buffer derivative wrt u must have BindCudaBuffer() method returning a float pointer for write |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindCudaBuffer() 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. must have BindCudaBuffer() method returning an array of PatchCoord struct in cuda memory. |
patchTable | CudaPatchTable or equivalent |
fvarChannel | face-varying channel |
instance | not used in the cuda evaluator |
deviceContext | not used in the cuda evaluator |
Definition at line 1136 of file cudaEvaluator.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 BindCudaBuffer() method returning a const float pointer for read |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindCudaBuffer() 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. must have BindCudaBuffer() method returning an array of PatchCoord struct in cuda memory. |
patchTable | CudaPatchTable or equivalent |
fvarChannel | face-varying channel |
instance | not used in the cuda evaluator |
deviceContext | not used in the cuda evaluator |
Definition at line 1070 of file cudaEvaluator.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 BindCudaBuffer() method returning a const float pointer for read |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindCudaBuffer() method returning a float pointer for write |
dstDesc | vertex buffer descriptor for the output buffer |
duBuffer | Output buffer derivative wrt u must have BindCudaBuffer() method returning a float pointer for write |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindCudaBuffer() method returning a float pointer for write |
dvDesc | vertex buffer descriptor for the dvBuffer |
duuBuffer | Output buffer 2nd derivative wrt u must have BindCudaBuffer() method returning a float pointer for write |
duuDesc | vertex buffer descriptor for the duuBuffer |
duvBuffer | Output buffer 2nd derivative wrt u must have BindCudaBuffer() method returning a float pointer for write |
duvDesc | vertex buffer descriptor for the duvBuffer |
dvvBuffer | Output buffer 2nd derivative wrt v must have BindCudaBuffer() 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. must have BindCudaBuffer() method returning an array of PatchCoord struct in cuda memory. |
patchTable | CudaPatchTable or equivalent |
instance | not used in the cuda evaluator |
deviceContext | not used in the cuda evaluator |
Definition at line 1007 of file cudaEvaluator.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 BindCudaBuffer() method returning a const float pointer for read |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindCudaBuffer() method returning a float pointer for write |
dstDesc | vertex buffer descriptor for the output buffer |
duBuffer | Output buffer derivative wrt u must have BindCudaBuffer() method returning a float pointer for write |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindCudaBuffer() 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. must have BindCudaBuffer() method returning an array of PatchCoord struct in cuda memory. |
patchTable | CudaPatchTable or equivalent |
instance | not used in the cuda evaluator |
deviceContext | not used in the cuda evaluator |
Definition at line 922 of file cudaEvaluator.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 BindCudaBuffer() method returning a const float pointer for read |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindCudaBuffer() 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. must have BindCudaBuffer() method returning an array of PatchCoord struct in cuda memory. |
patchTable | CudaPatchTable or equivalent |
instance | not used in the cuda evaluator |
deviceContext | not used in the cuda evaluator |
Definition at line 859 of file cudaEvaluator.h.
|
static |
Static eval stencils function which takes raw cuda buffers 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 cuda 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 cuda 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 BindCudaBuffer() method returning a const float pointer for read |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindCudaBuffer() method returning a float pointer for write |
dstDesc | vertex buffer descriptor for the output buffer |
duBuffer | Output buffer derivative wrt u must have BindCudaBuffer() method returning a float pointer for write |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindCudaBuffer() method returning a float pointer for write |
dvDesc | vertex buffer descriptor for the dvBuffer |
duuBuffer | Output buffer 2nd derivative wrt u must have BindCudaBuffer() 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 BindCudaBuffer() method returning a float pointer for write |
duvDesc | vertex buffer descriptor for the duvBuffer |
dvvBuffer | Output buffer 2nd derivative wrt v must have BindCudaBuffer() method returning a float pointer for write |
dvvDesc | vertex buffer descriptor for the dvvBuffer |
stencilTable | stencil table to be applied. |
instance | not used in the cuda kernel (declared as a typed pointer to prevent undesirable template resolution) |
deviceContext | not used in the cuda kernel |
Definition at line 353 of file cudaEvaluator.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 BindCudaBuffer() method returning a const float pointer for read |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindCudaBuffer() method returning a float pointer for write |
dstDesc | vertex buffer descriptor for the output buffer |
duBuffer | Output buffer derivative wrt u must have BindCudaBuffer() method returning a float pointer for write |
duDesc | vertex buffer descriptor for the duBuffer |
dvBuffer | Output buffer derivative wrt v must have BindCudaBuffer() method returning a float pointer for write |
dvDesc | vertex buffer descriptor for the dvBuffer |
stencilTable | stencil table to be applied. |
instance | not used in the cuda kernel (declared as a typed pointer to prevent undesirable template resolution) |
deviceContext | not used in the cuda kernel |
Definition at line 218 of file cudaEvaluator.h.
|
inlinestatic |
Generic static compute function. This function has a same signature as other device kernels have so that it can be called transparently from OsdMesh template interface.
Stencil evaluations with StencilTable
srcBuffer | Input primvar buffer. must have BindCudaBuffer() method returning a const float pointer for read |
srcDesc | vertex buffer descriptor for the input buffer |
dstBuffer | Output primvar buffer must have BindCudaBuffer() method returning a float pointer for write |
dstDesc | vertex buffer descriptor for the output buffer |
stencilTable | stencil table to be applied. The table must have Cuda memory interfaces. |
instance | not used in the CudaEvaluator |
deviceContext | not used in the CudaEvaluator |
Definition at line 126 of file cudaEvaluator.h.
|
static |
Other methods