All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
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  CLStencilTable
 OpenCL stencil table. More...
 
class  CLEvaluator
 
class  CLPatchTable
 CL patch 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  CpuPatchTable
 Cpu patch table. More...
 
class  CpuVertexBuffer
 Concrete vertex buffer class for CPU subdivision. More...
 
class  CudaStencilTable
 CUDA stencil table. More...
 
class  CudaEvaluator
 
class  CudaPatchTable
 CUDA patch table. More...
 
class  CudaVertexBuffer
 Concrete vertex buffer class for Cuda subdivision. More...
 
class  D3D11StencilTable
 D3D11 stencil table. More...
 
class  D3D11ComputeEvaluator
 
class  D3D11LegacyGregoryPatchTable
 
class  D3D11PatchTable
 
class  D3D11VertexBuffer
 Concrete vertex buffer class for DirectX subdivision and DirectX drawing. More...
 
class  GLStencilTableSSBO
 GL stencil table (Shader Storage buffer) More...
 
class  GLComputeEvaluator
 
class  GLLegacyGregoryPatchTable
 
class  GLPatchTable
 
class  GLSLPatchShaderSource
 
class  GLVertexBuffer
 Concrete vertex buffer class for GLSL subdivision and OpenGL drawing. More...
 
class  GLStencilTableTBO
 GL TextureBuffer stencil table. More...
 
class  GLXFBEvaluator
 
class  HLSLPatchShaderSource
 
class  MeshInterface
 
class  EvaluatorCacheT
 
class  Mesh
 
class  MTLContext
 
class  MTLStencilTable
 
class  MTLComputeEvaluator
 
class  MTLPatchShaderSource
 
class  CPUMTLVertexBuffer
 
class  NonCopyable
 
class  OmpEvaluator
 
class  TbbEvaluator
 
struct  PatchCoord
 Coordinates set on a patch table. More...
 
struct  PatchArray
 
struct  PatchParam
 

Typedefs

typedef MeshInterface
< D3D11PatchTable
D3D11MeshInterface
 
typedef MeshInterface
< GLPatchTable
GLMeshInterface
 
typedef std::bitset
< NUM_MESH_BITS
MeshBitset
 
typedef MeshInterface
< MTLPatchTable > 
MTLMeshInterface
 
typedef std::vector< PatchArrayPatchArrayVector
 
typedef std::vector< PatchParamPatchParamVector
 

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

Definition at line 38 of file d3d11Mesh.h.

Definition at line 38 of file glMesh.h.

typedef std::bitset<NUM_MESH_BITS> MeshBitset

Definition at line 63 of file mesh.h.

typedef MeshInterface<MTLPatchTable> MTLMeshInterface

Definition at line 38 of file mtlMesh.h.

typedef std::vector<PatchArray> PatchArrayVector

Definition at line 132 of file types.h.

typedef std::vector<PatchParam> PatchParamVector

Definition at line 133 of file types.h.

Enumeration Type Documentation

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

STENCIL_TABLE const* OpenSubdiv::OPENSUBDIV_VERSION::Osd::convertToCompatibleStencilTable ( SRC_STENCIL_TABLE const *  table,
DEVICE_CONTEXT *  context 
)

Definition at line 141 of file mesh.h.

Definition at line 159 of file mesh.h.

Far::StencilTable const* OpenSubdiv::OPENSUBDIV_VERSION::Osd::convertToCompatibleStencilTable< Far::StencilTable, Far::StencilTable, ID3D11DeviceContext > ( Far::StencilTable const *  table,
ID3D11DeviceContext *   
)
inline

Definition at line 169 of file mesh.h.

Far::StencilTable const* OpenSubdiv::OPENSUBDIV_VERSION::Osd::convertToCompatibleStencilTable< Far::StencilTable, Far::StencilTable, void > ( Far::StencilTable const *  table,
void *   
)
inline

Definition at line 149 of file mesh.h.

void OpenSubdiv::OPENSUBDIV_VERSION::Osd::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 OpenSubdiv::OPENSUBDIV_VERSION::Osd::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 OpenSubdiv::OPENSUBDIV_VERSION::Osd::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 OpenSubdiv::OPENSUBDIV_VERSION::Osd::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 OpenSubdiv::OPENSUBDIV_VERSION::Osd::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 
)
void OpenSubdiv::OPENSUBDIV_VERSION::Osd::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 OpenSubdiv::OPENSUBDIV_VERSION::Osd::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 OpenSubdiv::OPENSUBDIV_VERSION::Osd::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 
)