OpenSubdiv
Loading...
Searching...
No Matches
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
 Provides shader source which can be used by client code. More...
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
 Provides shader source which can be used by client code. More...
class  Mesh
class  MeshInterface
class  MTLComputeEvaluator
class  MTLContext
class  MTLLegacyGregoryPatchTable
class  MTLPatchShaderSource
 Provides shader source which can be used by client code. More...
class  MTLPatchTable
class  MTLStencilTable
class  OmpEvaluator
struct  PatchArray
struct  PatchCoord
 Coordinates set on a patch table. More...
struct  PatchParam
class  TbbEvaluator

Typedefs

typedef MeshInterface< D3D11PatchTableD3D11MeshInterface
typedef MeshInterface< GLPatchTableGLMeshInterface
typedef std::bitset< NUM_MESH_BITSMeshBitset
typedef MeshInterface< MTLPatchTableMTLMeshInterface
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

◆ D3D11MeshInterface

Definition at line 38 of file d3d11Mesh.h.

◆ 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

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

template<typename STENCIL_TABLE, typename SRC_STENCIL_TABLE, typename DEVICE_CONTEXT>
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 >()

Definition at line 158 of file mesh.h.

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

template<>
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 >()

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