|
Blender V5.0
|
#include <opensubdiv_evaluator.hh>
Classes | |
| class | EvalOutput |
Public Member Functions | |
| EvalOutputAPI (EvalOutput *implementation, PatchMap *patch_map) | |
| ~EvalOutputAPI () | |
| void | setSettings (const OpenSubdiv_EvaluatorSettings *settings) |
| void | setCoarsePositions (const float *positions, const int start_vertex_index, const int num_vertices) |
| void | setVertexData (const float *data, const int start_vertex_index, const int num_vertices) |
| void | setVaryingData (const float *varying_data, const int start_vertex_index, const int num_vertices) |
| void | setFaceVaryingData (const int face_varying_channel, const float *varying_data, const int start_vertex_index, const int num_vertices) |
| void | setCoarsePositionsFromBuffer (const void *buffer, const int start_offset, const int stride, const int start_vertex_index, const int num_vertices) |
| void | setVaryingDataFromBuffer (const void *buffer, const int start_offset, const int stride, const int start_vertex_index, const int num_vertices) |
| void | setFaceVaryingDataFromBuffer (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 | refine () |
| void | evaluateLimit (const int ptex_face_index, float face_u, float face_v, float P[3], float dPdu[3], float dPdv[3]) |
| void | evaluateVertexData (const int ptex_face_index, float face_u, float face_v, float data[]) |
| void | evaluateVarying (const int ptex_face_index, float face_u, float face_v, float varying[3]) |
| void | evaluateFaceVarying (const int face_varying_channel, const int ptex_face_index, float face_u, float face_v, float face_varying[2]) |
| void | evaluatePatchesLimit (const OpenSubdiv_PatchCoord *patch_coords, const int num_patch_coords, float *P, float *dPdu, float *dPdv) |
| void | getPatchMap (blender::gpu::VertBuf *patch_map_handles, blender::gpu::VertBuf *patch_map_quadtree, int *min_patch_face, int *max_patch_face, int *max_depth, int *patches_are_triangular) |
| gpu::StorageBuf * | create_patch_arrays_buf () |
| gpu::StorageBuf * | get_patch_index_buf () |
| gpu::StorageBuf * | get_patch_param_buf () |
| gpu::VertBuf * | get_source_buf () |
| gpu::VertBuf * | get_source_data_buf () |
| gpu::StorageBuf * | create_face_varying_patch_array_buf (const int face_varying_channel) |
| gpu::StorageBuf * | get_face_varying_patch_index_buf (const int face_varying_channel) |
| gpu::StorageBuf * | get_face_varying_patch_param_buf (const int face_varying_channel) |
| gpu::VertBuf * | get_face_varying_source_buf (const int face_varying_channel) |
| int | get_face_varying_source_offset (const int face_varying_channel) const |
| bool | hasVertexData () const |
Protected Attributes | |
| PatchMap * | patch_map_ |
| EvalOutput * | implementation_ |
Definition at line 34 of file opensubdiv_evaluator.hh.
| blender::opensubdiv::EvalOutputAPI::EvalOutputAPI | ( | EvalOutput * | implementation, |
| PatchMap * | patch_map ) |
Definition at line 141 of file evaluator_impl.cc.
References implementation_, and patch_map_.
| blender::opensubdiv::EvalOutputAPI::~EvalOutputAPI | ( | ) |
Definition at line 146 of file evaluator_impl.cc.
References implementation_.
| gpu::StorageBuf * blender::opensubdiv::EvalOutputAPI::create_face_varying_patch_array_buf | ( | const int | face_varying_channel | ) |
Definition at line 380 of file evaluator_impl.cc.
References implementation_.
Referenced by blender::draw::draw_subdiv_extract_uvs().
| gpu::StorageBuf * blender::opensubdiv::EvalOutputAPI::create_patch_arrays_buf | ( | ) |
Definition at line 355 of file evaluator_impl.cc.
References implementation_.
Referenced by blender::draw::draw_subdiv_build_fdots_buffers(), and blender::draw::draw_subdiv_extract_pos().
| void blender::opensubdiv::EvalOutputAPI::evaluateFaceVarying | ( | const int | face_varying_channel, |
| const int | ptex_face_index, | ||
| float | face_u, | ||
| float | face_v, | ||
| float | face_varying[2] ) |
Definition at line 298 of file evaluator_impl.cc.
References assert, implementation_, and patch_map_.
| void blender::opensubdiv::EvalOutputAPI::evaluateLimit | ( | const int | ptex_face_index, |
| float | face_u, | ||
| float | face_v, | ||
| float | P[3], | ||
| float | dPdu[3], | ||
| float | dPdv[3] ) |
Definition at line 249 of file evaluator_impl.cc.
References assert, implementation_, P, and patch_map_.
| void blender::opensubdiv::EvalOutputAPI::evaluatePatchesLimit | ( | const OpenSubdiv_PatchCoord * | patch_coords, |
| const int | num_patch_coords, | ||
| float * | P, | ||
| float * | dPdu, | ||
| float * | dPdv ) |
Definition at line 313 of file evaluator_impl.cc.
References blender::opensubdiv::convertPatchCoordsToArray(), blender::opensubdiv::StackOrHeapArray< T, kNumMaxElementsOnStack >::data(), implementation_, P, and patch_map_.
| void blender::opensubdiv::EvalOutputAPI::evaluateVarying | ( | const int | ptex_face_index, |
| float | face_u, | ||
| float | face_v, | ||
| float | varying[3] ) |
Definition at line 270 of file evaluator_impl.cc.
References assert, implementation_, and patch_map_.
| void blender::opensubdiv::EvalOutputAPI::evaluateVertexData | ( | const int | ptex_face_index, |
| float | face_u, | ||
| float | face_v, | ||
| float | data[] ) |
Definition at line 284 of file evaluator_impl.cc.
References assert, implementation_, and patch_map_.
| gpu::StorageBuf * blender::opensubdiv::EvalOutputAPI::get_face_varying_patch_index_buf | ( | const int | face_varying_channel | ) |
Definition at line 385 of file evaluator_impl.cc.
References implementation_.
Referenced by blender::draw::draw_subdiv_extract_uvs().
| gpu::StorageBuf * blender::opensubdiv::EvalOutputAPI::get_face_varying_patch_param_buf | ( | const int | face_varying_channel | ) |
Definition at line 390 of file evaluator_impl.cc.
References implementation_.
Referenced by blender::draw::draw_subdiv_extract_uvs().
| gpu::VertBuf * blender::opensubdiv::EvalOutputAPI::get_face_varying_source_buf | ( | const int | face_varying_channel | ) |
Definition at line 395 of file evaluator_impl.cc.
References implementation_.
Referenced by blender::draw::draw_subdiv_extract_uvs().
| int blender::opensubdiv::EvalOutputAPI::get_face_varying_source_offset | ( | const int | face_varying_channel | ) | const |
Get the source buffer offset for the given channel.
Definition at line 400 of file evaluator_impl.cc.
References implementation_.
Referenced by blender::draw::draw_subdiv_extract_uvs().
| gpu::StorageBuf * blender::opensubdiv::EvalOutputAPI::get_patch_index_buf | ( | ) |
Definition at line 360 of file evaluator_impl.cc.
References implementation_.
Referenced by blender::draw::draw_subdiv_build_fdots_buffers(), and blender::draw::draw_subdiv_extract_pos().
| gpu::StorageBuf * blender::opensubdiv::EvalOutputAPI::get_patch_param_buf | ( | ) |
Definition at line 365 of file evaluator_impl.cc.
References implementation_.
Referenced by blender::draw::draw_subdiv_build_fdots_buffers(), and blender::draw::draw_subdiv_extract_pos().
| gpu::VertBuf * blender::opensubdiv::EvalOutputAPI::get_source_buf | ( | ) |
Definition at line 370 of file evaluator_impl.cc.
References implementation_.
Referenced by blender::draw::draw_subdiv_build_fdots_buffers(), and blender::draw::draw_subdiv_extract_pos().
| gpu::VertBuf * blender::opensubdiv::EvalOutputAPI::get_source_data_buf | ( | ) |
Definition at line 375 of file evaluator_impl.cc.
References implementation_.
Referenced by blender::draw::draw_subdiv_extract_pos().
| void blender::opensubdiv::EvalOutputAPI::getPatchMap | ( | blender::gpu::VertBuf * | patch_map_handles, |
| blender::gpu::VertBuf * | patch_map_quadtree, | ||
| int * | min_patch_face, | ||
| int * | max_patch_face, | ||
| int * | max_depth, | ||
| int * | patches_are_triangular ) |
Definition at line 330 of file evaluator_impl.cc.
References blender::gpu::VertBuf::data(), blender::MutableSpan< T >::data(), GPU_vertbuf_data_alloc(), handles, and patch_map_.
| bool blender::opensubdiv::EvalOutputAPI::hasVertexData | ( | ) | const |
Definition at line 405 of file evaluator_impl.cc.
References implementation_.
| void blender::opensubdiv::EvalOutputAPI::refine | ( | ) |
Definition at line 244 of file evaluator_impl.cc.
References implementation_.
| void blender::opensubdiv::EvalOutputAPI::setCoarsePositions | ( | const float * | positions, |
| const int | start_vertex_index, | ||
| const int | num_vertices ) |
Definition at line 156 of file evaluator_impl.cc.
References implementation_.
| void blender::opensubdiv::EvalOutputAPI::setCoarsePositionsFromBuffer | ( | const void * | buffer, |
| const int | start_offset, | ||
| const int | stride, | ||
| const int | start_vertex_index, | ||
| const int | num_vertices ) |
Definition at line 190 of file evaluator_impl.cc.
References i, and implementation_.
| void blender::opensubdiv::EvalOutputAPI::setFaceVaryingData | ( | const int | face_varying_channel, |
| const float * | varying_data, | ||
| const int | start_vertex_index, | ||
| const int | num_vertices ) |
Definition at line 180 of file evaluator_impl.cc.
References implementation_.
| void blender::opensubdiv::EvalOutputAPI::setFaceVaryingDataFromBuffer | ( | const int | face_varying_channel, |
| const void * | buffer, | ||
| const int | start_offset, | ||
| const int | stride, | ||
| const int | start_vertex_index, | ||
| const int | num_vertices ) |
Definition at line 224 of file evaluator_impl.cc.
References i, and implementation_.
| void blender::opensubdiv::EvalOutputAPI::setSettings | ( | const OpenSubdiv_EvaluatorSettings * | settings | ) |
Definition at line 151 of file evaluator_impl.cc.
References implementation_.
| void blender::opensubdiv::EvalOutputAPI::setVaryingData | ( | const float * | varying_data, |
| const int | start_vertex_index, | ||
| const int | num_vertices ) |
Definition at line 164 of file evaluator_impl.cc.
References implementation_.
| void blender::opensubdiv::EvalOutputAPI::setVaryingDataFromBuffer | ( | const void * | buffer, |
| const int | start_offset, | ||
| const int | stride, | ||
| const int | start_vertex_index, | ||
| const int | num_vertices ) |
Definition at line 207 of file evaluator_impl.cc.
References i, and implementation_.
| void blender::opensubdiv::EvalOutputAPI::setVertexData | ( | const float * | data, |
| const int | start_vertex_index, | ||
| const int | num_vertices ) |
Definition at line 172 of file evaluator_impl.cc.
References implementation_.
|
protected |
Definition at line 178 of file opensubdiv_evaluator.hh.
Referenced by create_face_varying_patch_array_buf(), create_patch_arrays_buf(), EvalOutputAPI(), evaluateFaceVarying(), evaluateLimit(), evaluatePatchesLimit(), evaluateVarying(), evaluateVertexData(), get_face_varying_patch_index_buf(), get_face_varying_patch_param_buf(), get_face_varying_source_buf(), get_face_varying_source_offset(), get_patch_index_buf(), get_patch_param_buf(), get_source_buf(), get_source_data_buf(), hasVertexData(), refine(), setCoarsePositions(), setCoarsePositionsFromBuffer(), setFaceVaryingData(), setFaceVaryingDataFromBuffer(), setSettings(), setVaryingData(), setVaryingDataFromBuffer(), setVertexData(), and ~EvalOutputAPI().
|
protected |
Definition at line 177 of file opensubdiv_evaluator.hh.
Referenced by EvalOutputAPI(), evaluateFaceVarying(), evaluateLimit(), evaluatePatchesLimit(), evaluateVarying(), evaluateVertexData(), and getPatchMap().