Blender V5.0
blender::opensubdiv::CpuEvalOutput Class Reference

#include <eval_output_cpu.h>

Inherits blender::opensubdiv::VolatileEvalOutput< CpuVertexBuffer, CpuVertexBuffer, StencilTable, CpuPatchTable, CpuEvaluator >.

Public Member Functions

 CpuEvalOutput (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)
Public Member Functions inherited from blender::opensubdiv::VolatileEvalOutput< CpuVertexBuffer, CpuVertexBuffer, StencilTable, CpuPatchTable, CpuEvaluator >
 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
CpuVertexBuffer * getSrcBuffer () const
CpuVertexBuffer * getSrcVertexDataBuffer () const
CpuPatchTable * getPatchTable () const
CpuVertexBuffer * getFVarSrcBuffer (const int face_varying_channel) const
int get_face_varying_source_offset (const int face_varying_channel) const override
CpuPatchTable * getFVarPatchTable (const int face_varying_channel) const
Public Member Functions inherited from blender::opensubdiv::EvalOutputAPI::EvalOutput
virtual ~EvalOutput ()=default
virtual gpu::StorageBufcreate_patch_arrays_buf ()
virtual gpu::StorageBufget_patch_index_buf ()
virtual gpu::StorageBufget_patch_param_buf ()
virtual gpu::VertBufget_source_buf ()
virtual gpu::VertBufget_source_data_buf ()
virtual gpu::StorageBufcreate_face_varying_patch_array_buf (const int)
virtual gpu::StorageBufget_face_varying_patch_index_buf (const int)
virtual gpu::StorageBufget_face_varying_patch_param_buf (const int)
virtual gpu::VertBufget_face_varying_source_buf (const int)

Additional Inherited Members

Public Types inherited from blender::opensubdiv::VolatileEvalOutput< CpuVertexBuffer, CpuVertexBuffer, StencilTable, CpuPatchTable, CpuEvaluator >
using EvaluatorCache
using FaceVaryingEval

Detailed Description

Definition at line 24 of file eval_output_cpu.h.

Constructor & Destructor Documentation

◆ CpuEvalOutput()

blender::opensubdiv::CpuEvalOutput::CpuEvalOutput ( 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 )
inline

The documentation for this class was generated from the following file: