|
Blender V4.3
|
#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=NULL) | |
| void | fillPatchArraysBuffer (OpenSubdiv_Buffer *patch_arrays_buffer) override |
| void | wrapPatchIndexBuffer (OpenSubdiv_Buffer *patch_index_buffer) override |
| void | wrapPatchParamBuffer (OpenSubdiv_Buffer *patch_param_buffer) override |
| void | wrapSrcBuffer (OpenSubdiv_Buffer *src_buffer) override |
| void | wrapSrcVertexDataBuffer (OpenSubdiv_Buffer *src_buffer) override |
| void | fillFVarPatchArraysBuffer (const int face_varying_channel, OpenSubdiv_Buffer *patch_arrays_buffer) override |
| void | wrapFVarPatchIndexBuffer (const int face_varying_channel, OpenSubdiv_Buffer *patch_index_buffer) override |
| void | wrapFVarPatchParamBuffer (const int face_varying_channel, OpenSubdiv_Buffer *patch_param_buffer) override |
| void | wrapFVarSrcBuffer (const int face_varying_channel, OpenSubdiv_Buffer *src_buffer) override |
Public Member Functions inherited from blender::opensubdiv::VolatileEvalOutput< GLVertexBuffer, GLVertexBuffer, GLStencilTableSSBO, GLPatchTable, GLComputeEvaluator > | |
| 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 |
| GLVertexBuffer * | getSrcBuffer () const |
| GLVertexBuffer * | getSrcVertexDataBuffer () const |
| GLPatchTable * | getPatchTable () const |
| GLVertexBuffer * | getFVarSrcBuffer (const int face_varying_channel) const |
| int | getFVarSrcBufferOffset (const int face_varying_channel) const |
| GLPatchTable * | 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< GLVertexBuffer, GLVertexBuffer, GLStencilTableSSBO, GLPatchTable, GLComputeEvaluator > | |
| typedef OpenSubdiv::Osd::EvaluatorCacheT< GLComputeEvaluator > | EvaluatorCache |
| typedef FaceVaryingVolatileEval< GLVertexBuffer, GLStencilTableSSBO, GLPatchTable, GLComputeEvaluator, void > | FaceVaryingEval |
Definition at line 20 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 = NULL ) |
Definition at line 27 of file eval_output_gpu.cc.
|
overridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 76 of file eval_output_gpu.cc.
References blender::opensubdiv::buildPatchArraysBufferFromVector(), and blender::opensubdiv::VolatileEvalOutput< GLVertexBuffer, GLVertexBuffer, GLStencilTableSSBO, GLPatchTable, GLComputeEvaluator >::getFVarPatchTable().
|
overridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 46 of file eval_output_gpu.cc.
References blender::opensubdiv::buildPatchArraysBufferFromVector(), and blender::opensubdiv::VolatileEvalOutput< GLVertexBuffer, GLVertexBuffer, GLStencilTableSSBO, GLPatchTable, GLComputeEvaluator >::getPatchTable().
|
overridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 84 of file eval_output_gpu.cc.
References blender::opensubdiv::VolatileEvalOutput< GLVertexBuffer, GLVertexBuffer, GLStencilTableSSBO, GLPatchTable, GLComputeEvaluator >::getFVarPatchTable(), and OpenSubdiv_Buffer::wrap_device_handle.
|
overridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 92 of file eval_output_gpu.cc.
References blender::opensubdiv::VolatileEvalOutput< GLVertexBuffer, GLVertexBuffer, GLStencilTableSSBO, GLPatchTable, GLComputeEvaluator >::getFVarPatchTable(), and OpenSubdiv_Buffer::wrap_device_handle.
|
overridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 100 of file eval_output_gpu.cc.
References OpenSubdiv_Buffer::buffer_offset, blender::opensubdiv::VolatileEvalOutput< GLVertexBuffer, GLVertexBuffer, GLStencilTableSSBO, GLPatchTable, GLComputeEvaluator >::getFVarSrcBuffer(), blender::opensubdiv::VolatileEvalOutput< GLVertexBuffer, GLVertexBuffer, GLStencilTableSSBO, GLPatchTable, GLComputeEvaluator >::getFVarSrcBufferOffset(), and OpenSubdiv_Buffer::wrap_device_handle.
|
overridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 52 of file eval_output_gpu.cc.
References blender::opensubdiv::VolatileEvalOutput< GLVertexBuffer, GLVertexBuffer, GLStencilTableSSBO, GLPatchTable, GLComputeEvaluator >::getPatchTable(), and OpenSubdiv_Buffer::wrap_device_handle.
|
overridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 58 of file eval_output_gpu.cc.
References blender::opensubdiv::VolatileEvalOutput< GLVertexBuffer, GLVertexBuffer, GLStencilTableSSBO, GLPatchTable, GLComputeEvaluator >::getPatchTable(), and OpenSubdiv_Buffer::wrap_device_handle.
|
overridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 64 of file eval_output_gpu.cc.
References blender::opensubdiv::VolatileEvalOutput< GLVertexBuffer, GLVertexBuffer, GLStencilTableSSBO, GLPatchTable, GLComputeEvaluator >::getSrcBuffer(), and OpenSubdiv_Buffer::wrap_device_handle.
|
overridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 70 of file eval_output_gpu.cc.
References blender::opensubdiv::VolatileEvalOutput< GLVertexBuffer, GLVertexBuffer, GLStencilTableSSBO, GLPatchTable, GLComputeEvaluator >::getSrcVertexDataBuffer(), and OpenSubdiv_Buffer::wrap_device_handle.