Blender V5.0
blender::opensubdiv Namespace Reference

Classes

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

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 gpu::StorageBufcreate_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>
gpu::StorageBufcreate_buffer (std::vector< T > const &src, const char *name)
static void storage_buffer_free (gpu::StorageBuf **buffer)
static blender::gpu::Shadercompile_eval_stencil_shader (BufferDescriptor const &srcDesc, BufferDescriptor const &dstDesc, BufferDescriptor const &duDesc, BufferDescriptor const &dvDesc, int workGroupSize)
static blender::gpu::Shadercompile_eval_patches_shader (BufferDescriptor const &srcDesc, BufferDescriptor const &dstDesc, BufferDescriptor const &duDesc, BufferDescriptor const &dvDesc, int workGroupSize)
static void discard_buffer (gpu::StorageBuf **buffer)
static void discard_list (std::vector< gpu::StorageBuf * > &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()

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

◆ checkPreliminaryMatches()

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

◆ checkSchemeTypeMatches()

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

◆ checkSingleUVLayerMatch()

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

◆ checkTopologyAttributesMatch()

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

◆ checkUVLayersMatch()

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

◆ compile_eval_patches_shader()

◆ compile_eval_stencil_shader()

◆ convertPatchCoordsToArray()

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>
gpu::StorageBuf * blender::opensubdiv::create_buffer ( std::vector< T > const & src,
const char * name )

Definition at line 51 of file gpu_compute_evaluator.cc.

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

◆ create_patch_array_buffer()

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

◆ discard_buffer()

void blender::opensubdiv::discard_buffer ( gpu::StorageBuf ** buffer)
static

◆ discard_list()

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

◆ getCAPIFVarLinearInterpolationFromOSD()

◆ getEffectiveEdgeSharpness()

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

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

◆ getEffectiveVertexSharpness()

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

◆ getFVarLinearInterpolationFromCAPI()

◆ getOSDTopologyBaseLevel()

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

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

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

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

◆ isEqualGeometryCounters()

◆ isEqualGeometryEdge()

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

◆ isEqualGeometryFace()

◆ isEqualTags()

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

◆ isEqualVertexTags()

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

◆ storage_buffer_free()

void blender::opensubdiv::storage_buffer_free ( gpu::StorageBuf ** 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 i, and str.

Referenced by openSubdiv_getVersionHex().

◆ TEST() [1/3]

◆ TEST() [2/3]

◆ TEST() [3/3]