Blender  V3.3
Public Member Functions | List of all members
blender::opensubdiv::GpuEvalOutput Class Reference

#include <eval_output_gpu.h>

Inheritance diagram for blender::opensubdiv::GpuEvalOutput:
blender::opensubdiv::VolatileEvalOutput< GLVertexBuffer, GLVertexBuffer, GLStencilTableSSBO, GLPatchTable, GLComputeEvaluator > blender::opensubdiv::EvalOutputAPI::EvalOutput

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
 
- Public Member Functions inherited from blender::opensubdiv::VolatileEvalOutput< GLVertexBuffer, GLVertexBuffer, GLStencilTableSSBO, GLPatchTable, GLComputeEvaluator >
 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
 
- 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< GLComputeEvaluatorEvaluatorCache
 
typedef FaceVaryingVolatileEval< GLVertexBuffer, GLStencilTableSSBO, GLPatchTable, GLComputeEvaluator, voidFaceVaryingEval
 

Detailed Description

Definition at line 33 of file eval_output_gpu.h.

Constructor & Destructor Documentation

◆ GpuEvalOutput()

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.

Member Function Documentation

◆ fillFVarPatchArraysBuffer()

void blender::opensubdiv::GpuEvalOutput::fillFVarPatchArraysBuffer ( const int  face_varying_channel,
OpenSubdiv_Buffer patch_arrays_buffer 
)
overridevirtual

◆ fillPatchArraysBuffer()

void blender::opensubdiv::GpuEvalOutput::fillPatchArraysBuffer ( OpenSubdiv_Buffer patch_arrays_buffer)
overridevirtual

◆ wrapFVarPatchIndexBuffer()

void blender::opensubdiv::GpuEvalOutput::wrapFVarPatchIndexBuffer ( const int  face_varying_channel,
OpenSubdiv_Buffer patch_index_buffer 
)
overridevirtual

◆ wrapFVarPatchParamBuffer()

void blender::opensubdiv::GpuEvalOutput::wrapFVarPatchParamBuffer ( const int  face_varying_channel,
OpenSubdiv_Buffer patch_param_buffer 
)
overridevirtual

◆ wrapFVarSrcBuffer()

void blender::opensubdiv::GpuEvalOutput::wrapFVarSrcBuffer ( const int  face_varying_channel,
OpenSubdiv_Buffer src_buffer 
)
overridevirtual

◆ wrapPatchIndexBuffer()

void blender::opensubdiv::GpuEvalOutput::wrapPatchIndexBuffer ( OpenSubdiv_Buffer patch_index_buffer)
overridevirtual

◆ wrapPatchParamBuffer()

void blender::opensubdiv::GpuEvalOutput::wrapPatchParamBuffer ( OpenSubdiv_Buffer patch_param_buffer)
overridevirtual

◆ wrapSrcBuffer()

void blender::opensubdiv::GpuEvalOutput::wrapSrcBuffer ( OpenSubdiv_Buffer src_buffer)
overridevirtual

◆ wrapSrcVertexDataBuffer()

void blender::opensubdiv::GpuEvalOutput::wrapSrcVertexDataBuffer ( OpenSubdiv_Buffer src_buffer)
overridevirtual

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