25#ifndef OPENSUBDIV3_OSD_GL_PATCH_TABLE_H
26#define OPENSUBDIV3_OSD_GL_PATCH_TABLE_H
28#include "../version.h"
31#include "../far/patchDescriptor.h"
32#include "../osd/nonCopyable.h"
33#include "../osd/types.h"
36struct ID3D11ShaderResourceView;
38struct ID3D11DeviceContext;
41namespace OPENSUBDIV_VERSION {
56 template<
typename DEVICE_CONTEXT>
58 DEVICE_CONTEXT context) {
59 return Create(farPatchTable, context->GetDeviceContext());
63 ID3D11DeviceContext *deviceContext);
82 ID3D11DeviceContext *deviceContext);
95using namespace OPENSUBDIV_VERSION;
std::vector< PatchArray > PatchArrayVector
Container for arrays of parametric patches.
static D3D11PatchTable * Create(Far::PatchTable const *farPatchTable, DEVICE_CONTEXT context)
PatchArrayVector const & GetPatchArrays() const
bool allocate(Far::PatchTable const *farPatchTable, ID3D11DeviceContext *deviceContext)
ID3D11Buffer * VertexBufferBinding
ID3D11Buffer * GetPatchIndexBuffer() const
Returns the index buffer containing the patch control vertices.
PatchArrayVector _patchArrays
ID3D11Buffer * _indexBuffer
static D3D11PatchTable * Create(Far::PatchTable const *farPatchTable, ID3D11DeviceContext *deviceContext)
ID3D11ShaderResourceView * _patchParamBufferSRV
ID3D11Buffer * _patchParamBuffer
ID3D11ShaderResourceView * GetPatchParamSRV() const
Returns the SRV containing the patch parameter.