Blender
V3.3
|
#include <eval_output_gpu.h>
Public Member Functions | |
GpuEvalOutput (const StencilTable *vertex_stencils, const StencilTable *varying_stencils, const 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 |
![]() | |
VolatileEvalOutput (const StencilTable *vertex_stencils, const StencilTable *varying_stencils, const 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 |
![]() | |
virtual | ~EvalOutput ()=default |
Additional Inherited Members | |
![]() | |
typedef OpenSubdiv::Osd::EvaluatorCacheT< GLComputeEvaluator > | EvaluatorCache |
typedef FaceVaryingVolatileEval< GLVertexBuffer, GLStencilTableSSBO, GLPatchTable, GLComputeEvaluator, void > | FaceVaryingEval |
Definition at line 33 of file eval_output_gpu.h.
blender::opensubdiv::GpuEvalOutput::GpuEvalOutput | ( | const StencilTable * | vertex_stencils, |
const StencilTable * | varying_stencils, | ||
const vector< const StencilTable * > & | all_face_varying_stencils, | ||
const int | face_varying_width, | ||
const PatchTable * | patch_table, | ||
EvaluatorCache * | evaluator_cache = NULL |
||
) |
Definition at line 44 of file eval_output_gpu.cc.
|
overridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 93 of file eval_output_gpu.cc.
|
overridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 63 of file eval_output_gpu.cc.
|
overridevirtual |
Reimplemented from blender::opensubdiv::EvalOutputAPI::EvalOutput.
Definition at line 101 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 109 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 117 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 69 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 75 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 81 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 87 of file eval_output_gpu.cc.
References blender::opensubdiv::VolatileEvalOutput< GLVertexBuffer, GLVertexBuffer, GLStencilTableSSBO, GLPatchTable, GLComputeEvaluator >::getSrcVertexDataBuffer(), and OpenSubdiv_Buffer::wrap_device_handle.