7#ifndef OPENSUBDIV_EVAL_OUTPUT_GPU_H_
8#define OPENSUBDIV_EVAL_OUTPUT_GPU_H_
14#include <opensubdiv/osd/glPatchTable.h>
15#include <opensubdiv/osd/glVertexBuffer.h>
25 GPUComputeEvaluator> {
28 const StencilTable *varying_stencils,
29 const std::vector<const StencilTable *> &all_face_varying_stencils,
30 const int face_varying_width,
31 const PatchTable *patch_table,
gpu::StorageBuf * GetFVarPatchParamBuffer(int fvarChannel=0) const
Returns the GL index buffer containing face-varying patch params.
gpu::StorageBuf * GetPatchParamBuffer() const
Returns the GL index buffer containing the patch parameter.
gpu::StorageBuf * GetFVarPatchIndexBuffer(int fvarChannel=0) const
Returns the GL index buffer containing face-varying control vertices.
gpu::StorageBuf * GetPatchIndexBuffer() const
Returns the GL index buffer containing the patch control vertices.
gpu::VertBuf * get_vertex_buffer()
gpu::StorageBuf * get_face_varying_patch_index_buf(const int face_varying_channel) override
gpu::StorageBuf * get_patch_param_buf() override
gpu::VertBuf * get_face_varying_source_buf(const int face_varying_channel) override
gpu::VertBuf * get_source_buf() override
gpu::VertBuf * get_source_data_buf() override
gpu::StorageBuf * create_patch_arrays_buf() override
gpu::StorageBuf * create_face_varying_patch_array_buf(const int face_varying_channel) override
gpu::StorageBuf * get_face_varying_patch_param_buf(const int face_varying_channel) override
gpu::StorageBuf * get_patch_index_buf() override
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)
GPUPatchTable * getFVarPatchTable(const int face_varying_channel) const
OpenSubdiv::Osd::EvaluatorCacheT< GPUComputeEvaluator > EvaluatorCache
GPUPatchTable * getPatchTable() const
GPUVertexBuffer * getSrcBuffer() const
GPUVertexBuffer * getSrcVertexDataBuffer() const
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)
GPUVertexBuffer * getFVarSrcBuffer(const int face_varying_channel) const