|
Blender V5.0
|
#include <eval_output_gpu.h>
Public Member Functions | |
| GpuEvalOutput (const StencilTable *vertex_stencils, const StencilTable *varying_stencils, const std::vector< const StencilTable * > &all_face_varying_stencils, const int face_varying_width, const PatchTable *patch_table, EvaluatorCache *evaluator_cache=nullptr) | |
| gpu::StorageBuf * | create_patch_arrays_buf () override |
| gpu::StorageBuf * | get_patch_index_buf () override |
| gpu::StorageBuf * | get_patch_param_buf () override |
| gpu::VertBuf * | get_source_buf () override |
| gpu::VertBuf * | get_source_data_buf () override |
| gpu::StorageBuf * | create_face_varying_patch_array_buf (const int face_varying_channel) override |
| gpu::StorageBuf * | get_face_varying_patch_index_buf (const int face_varying_channel) override |
| gpu::StorageBuf * | get_face_varying_patch_param_buf (const int face_varying_channel) override |
| gpu::VertBuf * | get_face_varying_source_buf (const int face_varying_channel) override |
| Public Member Functions inherited from blender::opensubdiv::VolatileEvalOutput< GPUVertexBuffer, GPUVertexBuffer, GPUStencilTableSSBO, GPUPatchTable, GPUComputeEvaluator > | |
| VolatileEvalOutput (const StencilTable *vertex_stencils, const StencilTable *varying_stencils, const std::vector< const StencilTable * > &all_face_varying_stencils, const int face_varying_width, const PatchTable *patch_table, EvaluatorCache *evaluator_cache=NULL, void *device_context=NULL) | |
| ~VolatileEvalOutput () override | |
| void | updateSettings (const OpenSubdiv_EvaluatorSettings *settings) override |
| void | updateData (const float *src, int start_vertex, int num_vertices) override |
| void | updateVaryingData (const float *src, int start_vertex, int num_vertices) override |
| void | updateVertexData (const float *src, int start_vertex, int num_vertices) override |
| void | updateFaceVaryingData (const int face_varying_channel, const float *src, int start_vertex, int num_vertices) override |
| bool | hasVaryingData () const |
| bool | hasFaceVaryingData () const |
| bool | hasVertexData () const override |
| void | refine () override |
| void | evalPatches (const PatchCoord *patch_coord, const int num_patch_coords, float *P) override |
| void | evalPatchesWithDerivatives (const PatchCoord *patch_coord, const int num_patch_coords, float *P, float *dPdu, float *dPdv) override |
| void | evalPatchesVarying (const PatchCoord *patch_coord, const int num_patch_coords, float *varying) override |
| void | evalPatchesVertexData (const PatchCoord *patch_coord, const int num_patch_coords, float *data) override |
| void | evalPatchesFaceVarying (const int face_varying_channel, const PatchCoord *patch_coord, const int num_patch_coords, float face_varying[2]) override |
| GPUVertexBuffer * | getSrcBuffer () const |
| GPUVertexBuffer * | getSrcVertexDataBuffer () const |
| GPUPatchTable * | getPatchTable () const |
| GPUVertexBuffer * | getFVarSrcBuffer (const int face_varying_channel) const |
| int | get_face_varying_source_offset (const int face_varying_channel) const override |
| GPUPatchTable * | getFVarPatchTable (const int face_varying_channel) const |
| Public Member Functions inherited from blender::opensubdiv::EvalOutputAPI::EvalOutput | |
| virtual | ~EvalOutput ()=default |
Additional Inherited Members | |
| Public Types inherited from blender::opensubdiv::VolatileEvalOutput< GPUVertexBuffer, GPUVertexBuffer, GPUStencilTableSSBO, GPUPatchTable, GPUComputeEvaluator > | |
| using | EvaluatorCache |
| using | FaceVaryingEval |
Definition at line 21 of file eval_output_gpu.h.
| blender::opensubdiv::GpuEvalOutput::GpuEvalOutput | ( | const StencilTable * | vertex_stencils, |
| const StencilTable * | varying_stencils, | ||
| const std::vector< const StencilTable * > & | all_face_varying_stencils, | ||
| const int | face_varying_width, | ||
| const PatchTable * | patch_table, | ||
| EvaluatorCache * | evaluator_cache = nullptr ) |
|
overridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 52 of file eval_output_gpu.cc.
References blender::opensubdiv::create_patch_array_buffer(), blender::opensubdiv::GPUPatchTable::GetFVarPatchArrays(), and blender::opensubdiv::VolatileEvalOutput< GPUVertexBuffer, GPUVertexBuffer, GPUStencilTableSSBO, GPUPatchTable, GPUComputeEvaluator >::getFVarPatchTable().
|
overridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 46 of file eval_output_gpu.cc.
References blender::opensubdiv::create_patch_array_buffer(), blender::opensubdiv::GPUPatchTable::GetPatchArrays(), and blender::opensubdiv::VolatileEvalOutput< GPUVertexBuffer, GPUVertexBuffer, GPUStencilTableSSBO, GPUPatchTable, GPUComputeEvaluator >::getPatchTable().
|
inlineoverridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 58 of file eval_output_gpu.h.
References blender::opensubdiv::GPUPatchTable::GetFVarPatchIndexBuffer(), and blender::opensubdiv::VolatileEvalOutput< GPUVertexBuffer, GPUVertexBuffer, GPUStencilTableSSBO, GPUPatchTable, GPUComputeEvaluator >::getFVarPatchTable().
|
inlineoverridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 64 of file eval_output_gpu.h.
References blender::opensubdiv::GPUPatchTable::GetFVarPatchParamBuffer(), and blender::opensubdiv::VolatileEvalOutput< GPUVertexBuffer, GPUVertexBuffer, GPUStencilTableSSBO, GPUPatchTable, GPUComputeEvaluator >::getFVarPatchTable().
|
inlineoverridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 70 of file eval_output_gpu.h.
References blender::opensubdiv::GPUVertexBuffer::get_vertex_buffer(), and blender::opensubdiv::VolatileEvalOutput< GPUVertexBuffer, GPUVertexBuffer, GPUStencilTableSSBO, GPUPatchTable, GPUComputeEvaluator >::getFVarSrcBuffer().
|
inlineoverridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 36 of file eval_output_gpu.h.
References blender::opensubdiv::GPUPatchTable::GetPatchIndexBuffer(), and blender::opensubdiv::VolatileEvalOutput< GPUVertexBuffer, GPUVertexBuffer, GPUStencilTableSSBO, GPUPatchTable, GPUComputeEvaluator >::getPatchTable().
|
inlineoverridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 41 of file eval_output_gpu.h.
References blender::opensubdiv::GPUPatchTable::GetPatchParamBuffer(), and blender::opensubdiv::VolatileEvalOutput< GPUVertexBuffer, GPUVertexBuffer, GPUStencilTableSSBO, GPUPatchTable, GPUComputeEvaluator >::getPatchTable().
|
inlineoverridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 46 of file eval_output_gpu.h.
References blender::opensubdiv::GPUVertexBuffer::get_vertex_buffer(), and blender::opensubdiv::VolatileEvalOutput< GPUVertexBuffer, GPUVertexBuffer, GPUStencilTableSSBO, GPUPatchTable, GPUComputeEvaluator >::getSrcBuffer().
|
inlineoverridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 51 of file eval_output_gpu.h.
References blender::opensubdiv::GPUVertexBuffer::get_vertex_buffer(), and blender::opensubdiv::VolatileEvalOutput< GPUVertexBuffer, GPUVertexBuffer, GPUStencilTableSSBO, GPUPatchTable, GPUComputeEvaluator >::getSrcVertexDataBuffer().