OpenSubdiv::OPENSUBDIV_VERSION::Osd Namespace Reference

## Classes

struct | BufferDescriptor
| BufferDescriptor is a struct which describes buffer elements in interleaved data buffers. Almost all Osd Evaluator APIs take BufferDescriptors along with device-specific buffer objects. More...
class | CLEvaluator
class | CLPatchTable
| CL patch table. More...
class | CLStencilTable
| OpenCL stencil table. More...
class | CLVertexBuffer
| Concrete vertex buffer class for OpenCL subdivision. More...
class | CpuD3D11VertexBuffer
| Concrete vertex buffer class for Cpu subdivision and DirectX drawing. More...
class | CpuEvaluator
class | CpuGLVertexBuffer
| Concrete vertex buffer class for cpu subdivision and OpenGL drawing. More...
class | CPUMTLVertexBuffer
class | CpuPatchTable
| Cpu patch table. More...
class | CpuVertexBuffer
| Concrete vertex buffer class for CPU subdivision. More...
class | CudaEvaluator
class | CudaPatchTable
| CUDA patch table. More...
class | CudaStencilTable
| CUDA stencil table. More...
class | CudaVertexBuffer
| Concrete vertex buffer class for Cuda subdivision. More...
class | D3D11ComputeEvaluator
class | D3D11LegacyGregoryPatchTable
class | D3D11PatchTable
class | D3D11StencilTable
| D3D11 stencil table. More...
class | D3D11VertexBuffer
| Concrete vertex buffer class for DirectX subdivision and DirectX drawing. More...
class | EvaluatorCacheT
class | GLComputeEvaluator
class | GLLegacyGregoryPatchTable
class | GLPatchTable
class | GLSLPatchShaderSource
class | GLStencilTableSSBO
| GL stencil table (Shader Storage buffer) More...
class | GLStencilTableTBO
| GL TextureBuffer stencil table. More...
class | GLVertexBuffer
| Concrete vertex buffer class for GLSL subdivision and OpenGL drawing. More...
class | GLXFBEvaluator
class | HLSLPatchShaderSource
class | Mesh
class | MeshInterface
class | MTLComputeEvaluator
class | MTLContext
class | MTLLegacyGregoryPatchTable
class | MTLPatchShaderSource
class | MTLPatchTable
class | MTLStencilTable
class | OmpEvaluator
struct | PatchArray
struct | PatchCoord
| Coordinates set on a patch table. More...
struct | PatchParam
class | TbbEvaluator

## Typedefs

typedef MeshInterface< D3D11PatchTable > | D3D11MeshInterface
typedef MeshInterface< GLPatchTable > | GLMeshInterface
typedef std::bitset< NUM_MESH_BITS > | MeshBitset
typedef MeshInterface< MTLPatchTable > | MTLMeshInterface
typedef std::vector< PatchArray > | PatchArrayVector
typedef std::vector< PatchParam > | PatchParamVector

## Enumerations

enum | MeshBits { MeshAdaptive = 0 , MeshInterleaveVarying = 1 , MeshFVarData = 2 , MeshFVarAdaptive = 3 , MeshUseSmoothCornerPatch = 4 , MeshUseSingleCreasePatch = 5 , MeshUseInfSharpPatch = 6 , MeshEndCapBilinearBasis = 7 , MeshEndCapBSplineBasis = 8 , MeshEndCapGregoryBasis = 9 , MeshEndCapLegacyGregory = 10 , NUM_MESH_BITS = 11 }

## Functions

template<typename STENCIL_TABLE , typename SRC_STENCIL_TABLE , typename DEVICE_CONTEXT >
STENCIL_TABLE const * | convertToCompatibleStencilTable (SRC_STENCIL_TABLE const *table, DEVICE_CONTEXT *context)
template<>
Far::StencilTable const * | convertToCompatibleStencilTable< Far::StencilTable, Far::StencilTable, void > (Far::StencilTable const *table, void *)
template<>
Far::LimitStencilTable const * | convertToCompatibleStencilTable< Far::LimitStencilTable, Far::LimitStencilTable, void > (Far::LimitStencilTable const *table, void *)
template<>
Far::StencilTable const * | convertToCompatibleStencilTable< Far::StencilTable, Far::StencilTable, ID3D11DeviceContext > (Far::StencilTable const *table, ID3D11DeviceContext *)
void | OmpEvalStencils (float const *src, BufferDescriptor const &srcDesc, float *dst, BufferDescriptor const &dstDesc, int const *sizes, int const *offsets, int const *indices, float const *weights, int start, int end)
void | OmpEvalStencils (float const *src, BufferDescriptor const &srcDesc, float *dst, BufferDescriptor const &dstDesc, float *dstDu, BufferDescriptor const &dstDuDesc, float *dstDv, BufferDescriptor const &dstDvDesc, int const *sizes, int const *offsets, int const *indices, float const *weights, float const *duWeights, float const *dvWeights, int start, int end)

void

OmpEvalStencils (float const *src, BufferDescriptor const &srcDesc, float *dst, BufferDescriptor const &dstDesc, float *dstDu, BufferDescriptor const &dstDuDesc, float *dstDv, BufferDescriptor const &dstDvDesc, float *dstDuu, BufferDescriptor const &dstDuuDesc, float *dstDuv, BufferDescriptor const &dstDuvDesc, float *dstDvv, BufferDescriptor const &dstDvvDesc, int const *sizes, int const *offsets, int const *indices, float const *weights, float const *duWeights, float const *dvWeights, float const *duuWeights, float const *duvWeights, float const *dvvWeights, int start, int end)

void | TbbEvalStencils (float const *src, BufferDescriptor const &srcDesc, float *dst, BufferDescriptor const &dstDesc, int const *sizes, int const *offsets, int const *indices, float const *weights, int start, int end)
void | TbbEvalStencils (float const *src, BufferDescriptor const &srcDesc, float *dst, BufferDescriptor const &dstDesc, float *dstDu, BufferDescriptor const &dstDuDesc, float *dstDv, BufferDescriptor const &dstDvDesc, int const *sizes, int const *offsets, int const *indices, float const *weights, float const *duWeights, float const *dvWeights, int start, int end)

void

TbbEvalStencils (float const *src, BufferDescriptor const &srcDesc, float *dst, BufferDescriptor const &dstDesc, float *dstDu, BufferDescriptor const &dstDuDesc, float *dstDv, BufferDescriptor const &dstDvDesc, float *dstDuu, BufferDescriptor const &dstDuuDesc, float *dstDuv, BufferDescriptor const &dstDuvDesc, float *dstDvv, BufferDescriptor const &dstDvvDesc, int const *sizes, int const *offsets, int const *indices, float const *weights, float const *duWeights, float const *dvWeights, float const *duuWeights, float const *duvWeights, float const *dvvWeights, int start, int end)

void | TbbEvalPatches (float const *src, BufferDescriptor const &srcDesc, float *dst, BufferDescriptor const &dstDesc, float *dstDu, BufferDescriptor const &dstDuDesc, float *dstDv, BufferDescriptor const &dstDvDesc, int numPatchCoords, const PatchCoord *patchCoords, const PatchArray *patchArrayBuffer, const int *patchIndexBuffer, const PatchParam *patchParamBuffer)

void

TbbEvalPatches (float const *src, BufferDescriptor const &srcDesc, float *dst, BufferDescriptor const &dstDesc, float *dstDu, BufferDescriptor const &dstDuDesc, float *dstDv, BufferDescriptor const &dstDvDesc, float *dstDuu, BufferDescriptor const &dstDuuDesc, float *dstDuv, BufferDescriptor const &dstDuvDesc, float *dstDvv, BufferDescriptor const &dstDvvDesc, int numPatchCoords, const PatchCoord *patchCoords, const PatchArray *patchArrayBuffer, const int *patchIndexBuffer, const PatchParam *patchParamBuffer)

## Typedef Documentation

## D3D11MeshInterface

typedef MeshInterface<D3D11PatchTable> D3D11MeshInterface

Definition at line 38 of file d3d11Mesh.h.

## GLMeshInterface

typedef MeshInterface<GLPatchTable> GLMeshInterface

Definition at line 38 of file glMesh.h.

## MeshBitset

typedef std::bitset<NUM_MESH_BITS> MeshBitset

Definition at line 63 of file mesh.h.

## MTLMeshInterface

typedef MeshInterface<MTLPatchTable> MTLMeshInterface

Definition at line 38 of file mtlMesh.h.

## PatchArrayVector

typedef std::vector<PatchArray> PatchArrayVector

Definition at line 132 of file types.h.

## PatchParamVector

typedef std::vector<PatchParam> PatchParamVector

Definition at line 133 of file types.h.

## Enumeration Type Documentation

## MeshBits

enum MeshBits

Enumerator
MeshAdaptive |
MeshInterleaveVarying |
MeshFVarData |
MeshFVarAdaptive |
MeshUseSmoothCornerPatch |
MeshUseSingleCreasePatch |
MeshUseInfSharpPatch |
MeshEndCapBilinearBasis |
MeshEndCapBSplineBasis |
MeshEndCapGregoryBasis |
MeshEndCapLegacyGregory |
NUM_MESH_BITS |

Definition at line 49 of file mesh.h.

## Function Documentation

## convertToCompatibleStencilTable()

STENCIL_TABLE const * convertToCompatibleStencilTable | ( | SRC_STENCIL_TABLE const * | table,
|  | DEVICE_CONTEXT * | context
| ) |  |

Definition at line 141 of file mesh.h.

## convertToCompatibleStencilTable< Far::LimitStencilTable, Far::LimitStencilTable, void >()

Far::LimitStencilTable const * convertToCompatibleStencilTable< Far::LimitStencilTable, Far::LimitStencilTable, void > | ( | Far::LimitStencilTable const * | table,
|  | void * |
| ) |  |

inline

Definition at line 158 of file mesh.h.

## convertToCompatibleStencilTable< Far::StencilTable, Far::StencilTable, ID3D11DeviceContext >()

Far::StencilTable const * convertToCompatibleStencilTable< Far::StencilTable, Far::StencilTable, ID3D11DeviceContext > | ( | Far::StencilTable const * | table,
|  | ID3D11DeviceContext * |
| ) |  |

inline

Definition at line 168 of file mesh.h.

## convertToCompatibleStencilTable< Far::StencilTable, Far::StencilTable, void >()

Far::StencilTable const * convertToCompatibleStencilTable< Far::StencilTable, Far::StencilTable, void > | ( | Far::StencilTable const * | table,
|  | void * |
| ) |  |

inline

Definition at line 148 of file mesh.h.

## OmpEvalStencils() [1/3]

void OmpEvalStencils | ( | float const * | src,
|  | BufferDescriptor const & | srcDesc,
|  | float * | dst,
|  | BufferDescriptor const & | dstDesc,
|  | float * | dstDu,
|  | BufferDescriptor const & | dstDuDesc,
|  | float * | dstDv,
|  | BufferDescriptor const & | dstDvDesc,
|  | float * | dstDuu,
|  | BufferDescriptor const & | dstDuuDesc,
|  | float * | dstDuv,
|  | BufferDescriptor const & | dstDuvDesc,
|  | float * | dstDvv,
|  | BufferDescriptor const & | dstDvvDesc,
|  | int const * | sizes,
|  | int const * | offsets,
|  | int const * | indices,
|  | float const * | weights,
|  | float const * | duWeights,
|  | float const * | dvWeights,
|  | float const * | duuWeights,
|  | float const * | duvWeights,
|  | float const * | dvvWeights,
|  | int | start,
|  | int | end
| ) |  |

## OmpEvalStencils() [2/3]

void OmpEvalStencils | ( | float const * | src,
|  | BufferDescriptor const & | srcDesc,
|  | float * | dst,
|  | BufferDescriptor const & | dstDesc,
|  | float * | dstDu,
|  | BufferDescriptor const & | dstDuDesc,
|  | float * | dstDv,
|  | BufferDescriptor const & | dstDvDesc,
|  | int const * | sizes,
|  | int const * | offsets,
|  | int const * | indices,
|  | float const * | weights,
|  | float const * | duWeights,
|  | float const * | dvWeights,
|  | int | start,
|  | int | end
| ) |  |

## OmpEvalStencils() [3/3]

void OmpEvalStencils | ( | float const * | src,
|  | BufferDescriptor const & | srcDesc,
|  | float * | dst,
|  | BufferDescriptor const & | dstDesc,
|  | int const * | sizes,
|  | int const * | offsets,
|  | int const * | indices,
|  | float const * | weights,
|  | int | start,
|  | int | end
| ) |  |

## TbbEvalPatches() [1/2]

void TbbEvalPatches | ( | float const * | src,
|  | BufferDescriptor const & | srcDesc,
|  | float * | dst,
|  | BufferDescriptor const & | dstDesc,
|  | float * | dstDu,
|  | BufferDescriptor const & | dstDuDesc,
|  | float * | dstDv,
|  | BufferDescriptor const & | dstDvDesc,
|  | float * | dstDuu,
|  | BufferDescriptor const & | dstDuuDesc,
|  | float * | dstDuv,
|  | BufferDescriptor const & | dstDuvDesc,
|  | float * | dstDvv,
|  | BufferDescriptor const & | dstDvvDesc,
|  | int | numPatchCoords,
|  | const PatchCoord * | patchCoords,
|  | const PatchArray * | patchArrayBuffer,
|  | const int * | patchIndexBuffer,
|  | const PatchParam * | patchParamBuffer
| ) |  |

## TbbEvalPatches() [2/2]

void TbbEvalPatches | ( | float const * | src,
|  | BufferDescriptor const & | srcDesc,
|  | float * | dst,
|  | BufferDescriptor const & | dstDesc,
|  | float * | dstDu,
|  | BufferDescriptor const & | dstDuDesc,
|  | float * | dstDv,
|  | BufferDescriptor const & | dstDvDesc,
|  | int | numPatchCoords,
|  | const PatchCoord * | patchCoords,
|  | const PatchArray * | patchArrayBuffer,
|  | const int * | patchIndexBuffer,
|  | const PatchParam * | patchParamBuffer
| ) |  |

## TbbEvalStencils() [1/3]

void TbbEvalStencils | ( | float const * | src,
|  | BufferDescriptor const & | srcDesc,
|  | float * | dst,
|  | BufferDescriptor const & | dstDesc,
|  | float * | dstDu,
|  | BufferDescriptor const & | dstDuDesc,
|  | float * | dstDv,
|  | BufferDescriptor const & | dstDvDesc,
|  | float * | dstDuu,
|  | BufferDescriptor const & | dstDuuDesc,
|  | float * | dstDuv,
|  | BufferDescriptor const & | dstDuvDesc,
|  | float * | dstDvv,
|  | BufferDescriptor const & | dstDvvDesc,
|  | int const * | sizes,
|  | int const * | offsets,
|  | int const * | indices,
|  | float const * | weights,
|  | float const * | duWeights,
|  | float const * | dvWeights,
|  | float const * | duuWeights,
|  | float const * | duvWeights,
|  | float const * | dvvWeights,
|  | int | start,
|  | int | end
| ) |  |

## TbbEvalStencils() [2/3]

void TbbEvalStencils | ( | float const * | src,
|  | BufferDescriptor const & | srcDesc,
|  | float * | dst,
|  | BufferDescriptor const & | dstDesc,
|  | float * | dstDu,
|  | BufferDescriptor const & | dstDuDesc,
|  | float * | dstDv,
|  | BufferDescriptor const & | dstDvDesc,
|  | int const * | sizes,
|  | int const * | offsets,
|  | int const * | indices,
|  | float const * | weights,
|  | float const * | duWeights,
|  | float const * | dvWeights,
|  | int | start,
|  | int | end
| ) |  |

## TbbEvalStencils() [3/3]

void TbbEvalStencils | ( | float const * | src,
|  | BufferDescriptor const & | srcDesc,
|  | float * | dst,
|  | BufferDescriptor const & | dstDesc,
|  | int const * | sizes,
|  | int const * | offsets,
|  | int const * | indices,
|  | float const * | weights,
|  | int | start,
|  | int | end
| ) |  |