Blender V4.5
blender::opensubdiv Namespace Reference

Classes

class  ConstPatchCoordWrapperBuffer
 
class  CpuEvalOutput
 
class  EvalOutputAPI
 
class  FaceVaryingVolatileEval
 
class  GPUComputeEvaluator
 
class  GpuEvalOutput
 
class  GPUPatchTable
 
class  GPUStencilTableSSBO
 GL stencil table (Shader Storage buffer) More...
 
class  GPUVertexBuffer
 
class  MeshTopology
 
class  PatchMap
 An quadtree-based map connecting coarse faces to their sub-patches. More...
 
class  RawDataWrapperBuffer
 
class  RawDataWrapperVertexBuffer
 
class  StackOrHeapArray
 
class  TopologyRefinerImpl
 
class  VolatileEvalOutput
 

Typedefs

using StackOrHeapPatchCoordArray = StackOrHeapArray<PatchCoord, 32 * 32>
 

Functions

OpenSubdiv::Sdc::SchemeType getSchemeTypeFromCAPI (OpenSubdiv_SchemeType type)
 
OpenSubdiv::Sdc::Options::FVarLinearInterpolation getFVarLinearInterpolationFromCAPI (OpenSubdiv_FVarLinearInterpolation linear_interpolation)
 
OpenSubdiv_FVarLinearInterpolation getCAPIFVarLinearInterpolationFromOSD (OpenSubdiv::Sdc::Options::FVarLinearInterpolation linear_interpolation)
 
OpenSubdiv::Sdc::Options::VtxBoundaryInterpolation getVtxBoundaryInterpolationFromCAPI (OpenSubdiv_VtxBoundaryInterpolation boundary_interpolation)
 
void stringSplit (std::vector< std::string > *tokens, const std::string &str, const std::string &separators, bool skip_empty)
 
bool is_adaptive (const CpuPatchTable *patch_table)
 
bool is_adaptive (const GPUPatchTable *patch_table)
 
static GPUStorageBuf * create_patch_array_buffer (const PatchArrayVector &patch_arrays)
 
static void convertPatchCoordsToArray (const OpenSubdiv_PatchCoord *patch_coords, const int num_patch_coords, const PatchMap *patch_map, StackOrHeapPatchCoordArray *array)
 
template<class T >
GPUStorageBuf * create_buffer (std::vector< T > const &src, const char *name)
 
static void storage_buffer_free (GPUStorageBuf **buffer)
 
static GPUShader * compile_eval_stencil_shader (BufferDescriptor const &srcDesc, BufferDescriptor const &dstDesc, BufferDescriptor const &duDesc, BufferDescriptor const &dvDesc, int workGroupSize)
 
static GPUShader * compile_eval_patches_shader (BufferDescriptor const &srcDesc, BufferDescriptor const &dstDesc, BufferDescriptor const &duDesc, BufferDescriptor const &dvDesc, int workGroupSize)
 
static void discard_buffer (GPUStorageBuf **buffer)
 
static void discard_list (std::vector< GPUStorageBuf * > &buffers)
 
static int getEffectiveNumEdges (const OpenSubdiv_Converter *converter)
 
static bool isEqualGeometryCounters (const MeshTopology &mesh_topology, const OpenSubdiv_Converter *converter)
 
static bool isEqualGeometryEdge (const MeshTopology &mesh_topology, const OpenSubdiv_Converter *converter)
 
static bool isEqualGeometryFace (const MeshTopology &mesh_topology, const OpenSubdiv_Converter *converter)
 
static bool isEqualGeometry (const MeshTopology &mesh_topology, const OpenSubdiv_Converter *converter)
 
static float getEffectiveVertexSharpness (const OpenSubdiv_Converter *converter, const int vertex_index)
 
static bool isEqualVertexTags (const MeshTopology &mesh_topology, const OpenSubdiv_Converter *converter)
 
static float getEffectiveEdgeSharpness (const OpenSubdiv_Converter *converter, const int edge_index)
 
static bool isEqualEdgeTags (const MeshTopology &mesh_topology, const OpenSubdiv_Converter *converter)
 
static bool isEqualTags (const MeshTopology &mesh_topology, const OpenSubdiv_Converter *converter)
 
 TEST (MeshTopology, TrivialVertexSharpness)
 
 TEST (MeshTopology, TrivialEdgeSharpness)
 
 TEST (MeshTopology, TrivialFaceTopology)
 
static OpenSubdiv::Sdc::Options getSDCOptions (OpenSubdiv_Converter *converter)
 
static TopologyRefinerFactoryType::Options getTopologyRefinerOptions (OpenSubdiv_Converter *converter)
 
static const OpenSubdiv::Far::TopologyRefiner * getOSDTopologyRefiner (const TopologyRefinerImpl *topology_refiner_impl)
 
static const OpenSubdiv::Far::TopologyLevel & getOSDTopologyBaseLevel (const TopologyRefinerImpl *topology_refiner_impl)
 
static bool checkSchemeTypeMatches (const TopologyRefinerImpl *topology_refiner_impl, const OpenSubdiv_Converter *converter)
 
static bool checkOptionsMatches (const TopologyRefinerImpl *topology_refiner_impl, const OpenSubdiv_Converter *converter)
 
static bool checkPreliminaryMatches (const TopologyRefinerImpl *topology_refiner_impl, const OpenSubdiv_Converter *converter)
 
static bool checkSingleUVLayerMatch (const OpenSubdiv::Far::TopologyLevel &base_level, const OpenSubdiv_Converter *converter, const int layer_index)
 
static bool checkUVLayersMatch (const TopologyRefinerImpl *topology_refiner_impl, const OpenSubdiv_Converter *converter)
 
static bool checkTopologyAttributesMatch (const TopologyRefinerImpl *topology_refiner_impl, const OpenSubdiv_Converter *converter)
 

Typedef Documentation

◆ StackOrHeapPatchCoordArray

Function Documentation

◆ checkOptionsMatches()

static bool blender::opensubdiv::checkOptionsMatches ( const TopologyRefinerImpl * topology_refiner_impl,
const OpenSubdiv_Converter * converter )
static

◆ checkPreliminaryMatches()

static bool blender::opensubdiv::checkPreliminaryMatches ( const TopologyRefinerImpl * topology_refiner_impl,
const OpenSubdiv_Converter * converter )
static

◆ checkSchemeTypeMatches()

static bool blender::opensubdiv::checkSchemeTypeMatches ( const TopologyRefinerImpl * topology_refiner_impl,
const OpenSubdiv_Converter * converter )
static

◆ checkSingleUVLayerMatch()

static bool blender::opensubdiv::checkSingleUVLayerMatch ( const OpenSubdiv::Far::TopologyLevel & base_level,
const OpenSubdiv_Converter * converter,
const int layer_index )
static

◆ checkTopologyAttributesMatch()

static bool blender::opensubdiv::checkTopologyAttributesMatch ( const TopologyRefinerImpl * topology_refiner_impl,
const OpenSubdiv_Converter * converter )
static

◆ checkUVLayersMatch()

static bool blender::opensubdiv::checkUVLayersMatch ( const TopologyRefinerImpl * topology_refiner_impl,
const OpenSubdiv_Converter * converter )
static

◆ compile_eval_patches_shader()

static GPUShader * blender::opensubdiv::compile_eval_patches_shader ( BufferDescriptor const & srcDesc,
BufferDescriptor const & dstDesc,
BufferDescriptor const & duDesc,
BufferDescriptor const & dvDesc,
int workGroupSize )
static

◆ compile_eval_stencil_shader()

static GPUShader * blender::opensubdiv::compile_eval_stencil_shader ( BufferDescriptor const & srcDesc,
BufferDescriptor const & dstDesc,
BufferDescriptor const & duDesc,
BufferDescriptor const & dvDesc,
int workGroupSize )
static

◆ convertPatchCoordsToArray()

static void blender::opensubdiv::convertPatchCoordsToArray ( const OpenSubdiv_PatchCoord * patch_coords,
const int num_patch_coords,
const PatchMap * patch_map,
StackOrHeapPatchCoordArray * array )
static

◆ create_buffer()

template<class T >
GPUStorageBuf * blender::opensubdiv::create_buffer ( std::vector< T > const & src,
const char * name )

Definition at line 52 of file gpu_compute_evaluator.cc.

References GPU_storagebuf_create_ex(), GPU_USAGE_STATIC, name, and T.

◆ create_patch_array_buffer()

static GPUStorageBuf * blender::opensubdiv::create_patch_array_buffer ( const PatchArrayVector & patch_arrays)
static

◆ discard_buffer()

static void blender::opensubdiv::discard_buffer ( GPUStorageBuf ** buffer)
static

◆ discard_list()

static void blender::opensubdiv::discard_list ( std::vector< GPUStorageBuf * > & buffers)
static

◆ getCAPIFVarLinearInterpolationFromOSD()

◆ getEffectiveEdgeSharpness()

static float blender::opensubdiv::getEffectiveEdgeSharpness ( const OpenSubdiv_Converter * converter,
const int edge_index )
static

Definition at line 155 of file mesh_topology_compare.cc.

References OpenSubdiv_Converter::getEdgeSharpness.

Referenced by isEqualEdgeTags().

◆ getEffectiveNumEdges()

static int blender::opensubdiv::getEffectiveNumEdges ( const OpenSubdiv_Converter * converter)
static

◆ getEffectiveVertexSharpness()

static float blender::opensubdiv::getEffectiveVertexSharpness ( const OpenSubdiv_Converter * converter,
const int vertex_index )
static

◆ getFVarLinearInterpolationFromCAPI()

◆ getOSDTopologyBaseLevel()

static const OpenSubdiv::Far::TopologyLevel & blender::opensubdiv::getOSDTopologyBaseLevel ( const TopologyRefinerImpl * topology_refiner_impl)
static

Definition at line 21 of file topology_refiner_impl_compare.cc.

References getOSDTopologyRefiner().

Referenced by checkUVLayersMatch().

◆ getOSDTopologyRefiner()

static const OpenSubdiv::Far::TopologyRefiner * blender::opensubdiv::getOSDTopologyRefiner ( const TopologyRefinerImpl * topology_refiner_impl)
static

◆ getSchemeTypeFromCAPI()

OpenSubdiv::Sdc::SchemeType blender::opensubdiv::getSchemeTypeFromCAPI ( OpenSubdiv_SchemeType type)

◆ getSDCOptions()

◆ getTopologyRefinerOptions()

static TopologyRefinerFactoryType::Options blender::opensubdiv::getTopologyRefinerOptions ( OpenSubdiv_Converter * converter)
static

◆ getVtxBoundaryInterpolationFromCAPI()

OpenSubdiv::Sdc::Options::VtxBoundaryInterpolation blender::opensubdiv::getVtxBoundaryInterpolationFromCAPI ( OpenSubdiv_VtxBoundaryInterpolation boundary_interpolation)

◆ is_adaptive() [1/2]

bool blender::opensubdiv::is_adaptive ( const CpuPatchTable * patch_table)

Definition at line 10 of file eval_output.cc.

◆ is_adaptive() [2/2]

bool blender::opensubdiv::is_adaptive ( const GPUPatchTable * patch_table)

◆ isEqualEdgeTags()

◆ isEqualGeometry()

static bool blender::opensubdiv::isEqualGeometry ( const MeshTopology & mesh_topology,
const OpenSubdiv_Converter * converter )
static

◆ isEqualGeometryCounters()

◆ isEqualGeometryEdge()

static bool blender::opensubdiv::isEqualGeometryEdge ( const MeshTopology & mesh_topology,
const OpenSubdiv_Converter * converter )
static

◆ isEqualGeometryFace()

◆ isEqualTags()

static bool blender::opensubdiv::isEqualTags ( const MeshTopology & mesh_topology,
const OpenSubdiv_Converter * converter )
static

◆ isEqualVertexTags()

static bool blender::opensubdiv::isEqualVertexTags ( const MeshTopology & mesh_topology,
const OpenSubdiv_Converter * converter )
static

◆ storage_buffer_free()

static void blender::opensubdiv::storage_buffer_free ( GPUStorageBuf ** buffer)
static

◆ stringSplit()

void blender::opensubdiv::stringSplit ( std::vector< std::string > * tokens,
const std::string & str,
const std::string & separators,
bool skip_empty )

Definition at line 9 of file intern/opensubdiv/internal/base/util.cc.

References str.

Referenced by openSubdiv_getVersionHex().

◆ TEST() [1/3]

◆ TEST() [2/3]

◆ TEST() [3/3]