13struct OpenSubdiv_EvaluatorInternal;
16class TopologyRefinerImpl;
63 const float *positions,
64 const int start_vertex_index,
65 const int num_vertices);
69 const int start_vertex_index,
70 const int num_vertices);
73 const float *varying_data,
74 const int start_vertex_index,
75 const int num_vertices);
81 const int face_varying_channel,
82 const float *face_varying_data,
83 const int start_vertex_index,
84 const int num_vertices);
91 const int start_offset,
93 const int start_vertex_index,
94 const int num_vertices);
100 const int start_offset,
102 const int start_vertex_index,
103 const int num_vertices);
111 const int face_varying_channel,
113 const int start_offset,
115 const int start_vertex_index,
116 const int num_vertices);
124 const int ptex_face_index,
133 const int ptex_face_index,
140 const int ptex_face_index,
148 const int face_varying_channel,
149 const int ptex_face_index,
152 float face_varying[2]);
162 const int num_patch_coords,
174 int *patches_are_triangular);
196 const int face_varying_channel,
201 const int face_varying_channel,
206 const int face_varying_channel,
211 const int face_varying_channel,
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
void openSubdiv_deleteEvaluatorCache(OpenSubdiv_EvaluatorCache *evaluator_cache)
const char * openSubdiv_getGLSLPatchBasisSource()
OpenSubdiv_Evaluator * openSubdiv_createEvaluatorFromTopologyRefiner(blender::opensubdiv::TopologyRefinerImpl *topology_refiner, eOpenSubdivEvaluator evaluator_type, OpenSubdiv_EvaluatorCache *evaluator_cache)
void openSubdiv_deleteEvaluator(OpenSubdiv_Evaluator *evaluator)
OpenSubdiv_EvaluatorCache * openSubdiv_createEvaluatorCache(eOpenSubdivEvaluator evaluator_type)
unsigned __int64 uint64_t
void(* device_update)(const OpenSubdiv_Buffer *buffer, unsigned int start, unsigned int len, const void *data)
void(* bind_gpu)(const OpenSubdiv_Buffer *buffer)
void(* wrap_device_handle)(const OpenSubdiv_Buffer *buffer, uint64_t device_ptr)
void(* device_alloc)(const OpenSubdiv_Buffer *buffer, const unsigned int size)
OpenSubdiv_EvaluatorCacheImpl * impl
void(* evaluateLimit)(OpenSubdiv_Evaluator *evaluator, const int ptex_face_index, float face_u, float face_v, float P[3], float dPdu[3], float dPdv[3])
void(* evaluateVertexData)(OpenSubdiv_Evaluator *evaluator, const int ptex_face_index, float face_u, float face_v, float data[])
void(* setVaryingDataFromBuffer)(OpenSubdiv_Evaluator *evaluator, const void *buffer, const int start_offset, const int stride, const int start_vertex_index, const int num_vertices)
void(* setCoarsePositions)(OpenSubdiv_Evaluator *evaluator, const float *positions, const int start_vertex_index, const int num_vertices)
void(* evaluatePatchesLimit)(OpenSubdiv_Evaluator *evaluator, const OpenSubdiv_PatchCoord *patch_coords, const int num_patch_coords, float *P, float *dPdu, float *dPdv)
void(* wrapFVarPatchIndexBuffer)(OpenSubdiv_Evaluator *evaluator, const int face_varying_channel, OpenSubdiv_Buffer *patch_index_buffer)
void(* refine)(OpenSubdiv_Evaluator *evaluator)
void(* evaluateFaceVarying)(OpenSubdiv_Evaluator *evaluator, const int face_varying_channel, const int ptex_face_index, float face_u, float face_v, float face_varying[2])
void(* wrapPatchIndexBuffer)(OpenSubdiv_Evaluator *evaluator, OpenSubdiv_Buffer *patch_index_buffer)
void(* wrapFVarSrcBuffer)(OpenSubdiv_Evaluator *evaluator, const int face_varying_channel, OpenSubdiv_Buffer *src_buffer)
void(* fillPatchArraysBuffer)(OpenSubdiv_Evaluator *evaluator, OpenSubdiv_Buffer *patch_array_buffer)
void(* setFaceVaryingData)(OpenSubdiv_Evaluator *evaluator, const int face_varying_channel, const float *face_varying_data, const int start_vertex_index, const int num_vertices)
void(* evaluateVarying)(OpenSubdiv_Evaluator *evaluator, const int ptex_face_index, float face_u, float face_v, float varying[3])
OpenSubdiv_EvaluatorImpl * impl
bool(* hasVertexData)(OpenSubdiv_Evaluator *evaluator)
void(* setVaryingData)(OpenSubdiv_Evaluator *evaluator, const float *varying_data, const int start_vertex_index, const int num_vertices)
void(* getPatchMap)(OpenSubdiv_Evaluator *evaluator, OpenSubdiv_Buffer *patch_map_handles, OpenSubdiv_Buffer *patch_map_quadtree, int *min_patch_face, int *max_patch_face, int *max_depth, int *patches_are_triangular)
void(* wrapSrcVertexDataBuffer)(OpenSubdiv_Evaluator *evaluator, OpenSubdiv_Buffer *src_buffer)
void(* setFaceVaryingDataFromBuffer)(OpenSubdiv_Evaluator *evaluator, const int face_varying_channel, const void *buffer, const int start_offset, const int stride, const int start_vertex_index, const int num_vertices)
void(* wrapPatchParamBuffer)(OpenSubdiv_Evaluator *evaluator, OpenSubdiv_Buffer *patch_param_buffer)
void(* setSettings)(OpenSubdiv_Evaluator *evaluator, const OpenSubdiv_EvaluatorSettings *settings)
void(* wrapFVarPatchParamBuffer)(OpenSubdiv_Evaluator *evaluator, const int face_varying_channel, OpenSubdiv_Buffer *patch_param_buffer)
void(* wrapSrcBuffer)(OpenSubdiv_Evaluator *evaluator, OpenSubdiv_Buffer *src_buffer)
void(* fillFVarPatchArraysBuffer)(OpenSubdiv_Evaluator *evaluator, const int face_varying_channel, OpenSubdiv_Buffer *patch_array_buffer)
void(* setCoarsePositionsFromBuffer)(OpenSubdiv_Evaluator *evaluator, const void *buffer, const int start_offset, const int stride, const int start_vertex_index, const int num_vertices)
eOpenSubdivEvaluator type
void(* setVertexData)(OpenSubdiv_Evaluator *evaluator, const float *data, const int start_vertex_index, const int num_vertices)