|
Blender V4.3
|
#include "opensubdiv_evaluator_capi.hh"#include <opensubdiv/osd/glslPatchShaderSource.h>#include "MEM_guardedalloc.h"#include <new>#include "internal/evaluator/evaluator_cache_impl.h"#include "internal/evaluator/evaluator_impl.h"Go to the source code of this file.
Functions | |
| static void | setSettings (struct OpenSubdiv_Evaluator *evaluator, const OpenSubdiv_EvaluatorSettings *settings) |
| static void | setCoarsePositions (OpenSubdiv_Evaluator *evaluator, const float *positions, const int start_vertex_index, const int num_vertices) |
| static void | setVertexData (OpenSubdiv_Evaluator *evaluator, const float *vertex_data, const int start_vertex_index, const int num_vertices) |
| static void | setVaryingData (OpenSubdiv_Evaluator *evaluator, const float *varying_data, const int start_vertex_index, const int num_vertices) |
| static void | setFaceVaryingData (OpenSubdiv_Evaluator *evaluator, const int face_varying_channel, const float *face_varying_data, const int start_vertex_index, const int num_vertices) |
| static void | setCoarsePositionsFromBuffer (OpenSubdiv_Evaluator *evaluator, const void *buffer, const int start_offset, const int stride, const int start_vertex_index, const int num_vertices) |
| static void | setVaryingDataFromBuffer (OpenSubdiv_Evaluator *evaluator, const void *buffer, const int start_offset, const int stride, const int start_vertex_index, const int num_vertices) |
| static 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) |
| static void | refine (OpenSubdiv_Evaluator *evaluator) |
| static void | evaluateLimit (OpenSubdiv_Evaluator *evaluator, const int ptex_face_index, const float face_u, const float face_v, float P[3], float dPdu[3], float dPdv[3]) |
| static void | evaluatePatchesLimit (OpenSubdiv_Evaluator *evaluator, const OpenSubdiv_PatchCoord *patch_coords, const int num_patch_coords, float *P, float *dPdu, float *dPdv) |
| static void | evaluateVertexData (OpenSubdiv_Evaluator *evaluator, const int ptex_face_index, float face_u, float face_v, float vertex_data[3]) |
| static void | evaluateVarying (OpenSubdiv_Evaluator *evaluator, const int ptex_face_index, float face_u, float face_v, float varying[3]) |
| static 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]) |
| static void | getPatchMap (struct OpenSubdiv_Evaluator *evaluator, struct OpenSubdiv_Buffer *patch_map_handles, struct OpenSubdiv_Buffer *patch_map_quadtree, int *min_patch_face, int *max_patch_face, int *max_depth, int *patches_are_triangular) |
| static void | fillPatchArraysBuffer (struct OpenSubdiv_Evaluator *evaluator, struct OpenSubdiv_Buffer *patch_array_buffer) |
| static void | wrapPatchIndexBuffer (struct OpenSubdiv_Evaluator *evaluator, struct OpenSubdiv_Buffer *patch_index_buffer) |
| static void | wrapPatchParamBuffer (struct OpenSubdiv_Evaluator *evaluator, struct OpenSubdiv_Buffer *patch_param_buffer) |
| static void | wrapSrcBuffer (struct OpenSubdiv_Evaluator *evaluator, struct OpenSubdiv_Buffer *src_buffer) |
| static void | wrapSrcVertexDataBuffer (struct OpenSubdiv_Evaluator *evaluator, struct OpenSubdiv_Buffer *src_buffer) |
| static void | fillFVarPatchArraysBuffer (struct OpenSubdiv_Evaluator *evaluator, const int face_varying_channel, struct OpenSubdiv_Buffer *patch_array_buffer) |
| static void | wrapFVarPatchIndexBuffer (struct OpenSubdiv_Evaluator *evaluator, const int face_varying_channel, struct OpenSubdiv_Buffer *patch_index_buffer) |
| static void | wrapFVarPatchParamBuffer (struct OpenSubdiv_Evaluator *evaluator, const int face_varying_channel, struct OpenSubdiv_Buffer *patch_param_buffer) |
| static void | wrapFVarSrcBuffer (struct OpenSubdiv_Evaluator *evaluator, const int face_varying_channel, struct OpenSubdiv_Buffer *src_buffer) |
| static bool | hasVertexData (struct OpenSubdiv_Evaluator *evaluator) |
| static void | assignFunctionPointers (OpenSubdiv_Evaluator *evaluator) |
| 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) |
| void | openSubdiv_deleteEvaluatorCache (OpenSubdiv_EvaluatorCache *evaluator_cache) |
| const char * | openSubdiv_getGLSLPatchBasisSource (void) |
|
static |
Definition at line 227 of file evaluator_capi.cc.
References evaluateFaceVarying(), OpenSubdiv_Evaluator::evaluateFaceVarying, evaluateLimit(), OpenSubdiv_Evaluator::evaluateLimit, evaluatePatchesLimit(), OpenSubdiv_Evaluator::evaluatePatchesLimit, evaluateVarying(), OpenSubdiv_Evaluator::evaluateVarying, evaluateVertexData(), OpenSubdiv_Evaluator::evaluateVertexData, fillFVarPatchArraysBuffer(), OpenSubdiv_Evaluator::fillFVarPatchArraysBuffer, fillPatchArraysBuffer(), OpenSubdiv_Evaluator::fillPatchArraysBuffer, getPatchMap(), OpenSubdiv_Evaluator::getPatchMap, hasVertexData(), OpenSubdiv_Evaluator::hasVertexData, OpenSubdiv_Evaluator::refine, refine(), OpenSubdiv_Evaluator::setCoarsePositions, setCoarsePositions(), OpenSubdiv_Evaluator::setCoarsePositionsFromBuffer, setCoarsePositionsFromBuffer(), OpenSubdiv_Evaluator::setFaceVaryingData, setFaceVaryingData(), OpenSubdiv_Evaluator::setFaceVaryingDataFromBuffer, setFaceVaryingDataFromBuffer(), OpenSubdiv_Evaluator::setSettings, setSettings(), OpenSubdiv_Evaluator::setVaryingData, setVaryingData(), OpenSubdiv_Evaluator::setVaryingDataFromBuffer, setVaryingDataFromBuffer(), OpenSubdiv_Evaluator::setVertexData, setVertexData(), OpenSubdiv_Evaluator::wrapFVarPatchIndexBuffer, wrapFVarPatchIndexBuffer(), OpenSubdiv_Evaluator::wrapFVarPatchParamBuffer, wrapFVarPatchParamBuffer(), OpenSubdiv_Evaluator::wrapFVarSrcBuffer, wrapFVarSrcBuffer(), OpenSubdiv_Evaluator::wrapPatchIndexBuffer, wrapPatchIndexBuffer(), OpenSubdiv_Evaluator::wrapPatchParamBuffer, wrapPatchParamBuffer(), OpenSubdiv_Evaluator::wrapSrcBuffer, wrapSrcBuffer(), OpenSubdiv_Evaluator::wrapSrcVertexDataBuffer, and wrapSrcVertexDataBuffer().
Referenced by openSubdiv_createEvaluatorFromTopologyRefiner().
|
static |
Definition at line 136 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, blender::opensubdiv::EvalOutputAPI::evaluateFaceVarying(), and OpenSubdiv_Evaluator::impl.
Referenced by assignFunctionPointers().
|
static |
Definition at line 96 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, blender::opensubdiv::EvalOutputAPI::evaluateLimit(), OpenSubdiv_Evaluator::impl, and P.
Referenced by assignFunctionPointers().
|
static |
Definition at line 107 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, blender::opensubdiv::EvalOutputAPI::evaluatePatchesLimit(), OpenSubdiv_Evaluator::impl, and P.
Referenced by assignFunctionPointers().
|
static |
Definition at line 127 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, blender::opensubdiv::EvalOutputAPI::evaluateVarying(), and OpenSubdiv_Evaluator::impl.
Referenced by assignFunctionPointers().
|
static |
Definition at line 118 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, blender::opensubdiv::EvalOutputAPI::evaluateVertexData(), and OpenSubdiv_Evaluator::impl.
Referenced by assignFunctionPointers().
|
static |
Definition at line 193 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, blender::opensubdiv::EvalOutputAPI::fillFVarPatchArraysBuffer(), and OpenSubdiv_Evaluator::impl.
Referenced by assignFunctionPointers().
|
static |
Definition at line 163 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, blender::opensubdiv::EvalOutputAPI::fillPatchArraysBuffer(), and OpenSubdiv_Evaluator::impl.
Referenced by assignFunctionPointers().
|
static |
Definition at line 147 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, blender::opensubdiv::EvalOutputAPI::getPatchMap(), and OpenSubdiv_Evaluator::impl.
Referenced by assignFunctionPointers().
|
static |
Definition at line 222 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, blender::opensubdiv::EvalOutputAPI::hasVertexData(), and OpenSubdiv_Evaluator::impl.
Referenced by assignFunctionPointers().
| OpenSubdiv_EvaluatorCache * openSubdiv_createEvaluatorCache | ( | eOpenSubdivEvaluator | evaluator_type | ) |
Definition at line 284 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorCache::impl, and openSubdiv_createEvaluatorCacheInternal().
Referenced by blender::draw::DRW_create_subdivision().
| OpenSubdiv_Evaluator * openSubdiv_createEvaluatorFromTopologyRefiner | ( | blender::opensubdiv::TopologyRefinerImpl * | topology_refiner, |
| eOpenSubdivEvaluator | evaluator_type, | ||
| OpenSubdiv_EvaluatorCache * | evaluator_cache ) |
Definition at line 265 of file evaluator_capi.cc.
References assignFunctionPointers(), OpenSubdiv_Evaluator::impl, OpenSubdiv_EvaluatorCache::impl, openSubdiv_createEvaluatorInternal(), and OpenSubdiv_Evaluator::type.
Referenced by blender::bke::subdiv::eval_begin().
| void openSubdiv_deleteEvaluator | ( | OpenSubdiv_Evaluator * | evaluator | ) |
Definition at line 278 of file evaluator_capi.cc.
References OpenSubdiv_Evaluator::impl, and openSubdiv_deleteEvaluatorInternal().
Referenced by blender::draw::draw_subdiv_invalidate_evaluator_for_orco(), and blender::bke::subdiv::free().
| void openSubdiv_deleteEvaluatorCache | ( | OpenSubdiv_EvaluatorCache * | evaluator_cache | ) |
Definition at line 291 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorCache::impl, and openSubdiv_deleteEvaluatorCacheInternal().
Referenced by blender::draw::DRW_subdiv_free().
| const char * openSubdiv_getGLSLPatchBasisSource | ( | void | ) |
Definition at line 301 of file evaluator_capi.cc.
Referenced by blender::draw::get_patch_evaluation_shader().
|
static |
Definition at line 91 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, OpenSubdiv_Evaluator::impl, and blender::opensubdiv::EvalOutputAPI::refine().
Referenced by assignFunctionPointers(), reconstruct_refine_intrinsics_get_flags(), and RNA_def_struct_refine_func().
|
static |
Definition at line 23 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, OpenSubdiv_Evaluator::impl, and blender::opensubdiv::EvalOutputAPI::setCoarsePositions().
Referenced by assignFunctionPointers().
|
static |
Definition at line 57 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, OpenSubdiv_Evaluator::impl, and blender::opensubdiv::EvalOutputAPI::setCoarsePositionsFromBuffer().
Referenced by assignFunctionPointers().
|
static |
Definition at line 47 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, OpenSubdiv_Evaluator::impl, and blender::opensubdiv::EvalOutputAPI::setFaceVaryingData().
Referenced by assignFunctionPointers().
|
static |
Definition at line 79 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, OpenSubdiv_Evaluator::impl, and blender::opensubdiv::EvalOutputAPI::setFaceVaryingDataFromBuffer().
Referenced by assignFunctionPointers().
|
static |
Definition at line 17 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, OpenSubdiv_Evaluator::impl, and blender::opensubdiv::EvalOutputAPI::setSettings().
Referenced by assignFunctionPointers().
|
static |
Definition at line 39 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, OpenSubdiv_Evaluator::impl, and blender::opensubdiv::EvalOutputAPI::setVaryingData().
Referenced by assignFunctionPointers().
|
static |
Definition at line 68 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, OpenSubdiv_Evaluator::impl, and blender::opensubdiv::EvalOutputAPI::setVaryingDataFromBuffer().
Referenced by assignFunctionPointers().
|
static |
Definition at line 31 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, OpenSubdiv_Evaluator::impl, and blender::opensubdiv::EvalOutputAPI::setVertexData().
Referenced by assignFunctionPointers().
|
static |
Definition at line 201 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, OpenSubdiv_Evaluator::impl, and blender::opensubdiv::EvalOutputAPI::wrapFVarPatchIndexBuffer().
Referenced by assignFunctionPointers().
|
static |
Definition at line 208 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, OpenSubdiv_Evaluator::impl, and blender::opensubdiv::EvalOutputAPI::wrapFVarPatchParamBuffer().
Referenced by assignFunctionPointers().
|
static |
Definition at line 215 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, OpenSubdiv_Evaluator::impl, and blender::opensubdiv::EvalOutputAPI::wrapFVarSrcBuffer().
Referenced by assignFunctionPointers().
|
static |
Definition at line 169 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, OpenSubdiv_Evaluator::impl, and blender::opensubdiv::EvalOutputAPI::wrapPatchIndexBuffer().
Referenced by assignFunctionPointers().
|
static |
Definition at line 175 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, OpenSubdiv_Evaluator::impl, and blender::opensubdiv::EvalOutputAPI::wrapPatchParamBuffer().
Referenced by assignFunctionPointers().
|
static |
Definition at line 181 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, OpenSubdiv_Evaluator::impl, and blender::opensubdiv::EvalOutputAPI::wrapSrcBuffer().
Referenced by assignFunctionPointers().
|
static |
Definition at line 187 of file evaluator_capi.cc.
References OpenSubdiv_EvaluatorImpl::eval_output, OpenSubdiv_Evaluator::impl, and blender::opensubdiv::EvalOutputAPI::wrapSrcVertexDataBuffer().
Referenced by assignFunctionPointers().