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

#include <gpu_patch_table.hh>

Inherits OpenSubdiv::Osd::NonCopyable< GPUPatchTable >.

Public Member Functions

 ~GPUPatchTable ()
PatchArrayVector const & GetPatchArrays () const
 Returns the patch arrays for vertex index buffer data.
gpu::StorageBufGetPatchIndexBuffer () const
 Returns the GL index buffer containing the patch control vertices.
gpu::StorageBufGetPatchParamBuffer () const
 Returns the GL index buffer containing the patch parameter.
PatchArrayVector const & GetVaryingPatchArrays () const
 Returns the patch arrays for varying index buffer data.
gpu::StorageBufGetVaryingPatchIndexBuffer () const
 Returns the GL index buffer containing the varying control vertices.
int GetNumFVarChannels () const
 Returns the number of face-varying channel buffers.
PatchArrayVector const & GetFVarPatchArrays (int fvarChannel=0) const
 Returns the patch arrays for face-varying index buffer data.
gpu::StorageBufGetFVarPatchIndexBuffer (int fvarChannel=0) const
 Returns the GL index buffer containing face-varying control vertices.
gpu::StorageBufGetFVarPatchParamBuffer (int fvarChannel=0) const
 Returns the GL index buffer containing face-varying patch params.

Static Public Member Functions

static GPUPatchTableCreate (PatchTable const *farPatchTable, void *deviceContext=NULL)

Protected Member Functions

 GPUPatchTable ()
bool allocate (PatchTable const *farPatchTable)

Protected Attributes

PatchArrayVector _patchArrays
gpu::StorageBuf_patchIndexBuffer = nullptr
gpu::StorageBuf_patchParamBuffer = nullptr
PatchArrayVector _varyingPatchArrays
gpu::StorageBuf_varyingIndexBuffer = nullptr
std::vector< PatchArrayVector > _fvarPatchArrays
std::vector< gpu::StorageBuf * > _fvarIndexBuffers
std::vector< gpu::StorageBuf * > _fvarParamBuffers

Detailed Description

Definition at line 21 of file gpu_patch_table.hh.

Constructor & Destructor Documentation

◆ ~GPUPatchTable()

◆ GPUPatchTable()

blender::opensubdiv::GPUPatchTable::GPUPatchTable ( )
inlineprotected

Definition at line 82 of file gpu_patch_table.hh.

Referenced by Create().

Member Function Documentation

◆ allocate()

bool blender::opensubdiv::GPUPatchTable::allocate ( PatchTable const * farPatchTable)
protected

◆ Create()

GPUPatchTable * blender::opensubdiv::GPUPatchTable::Create ( PatchTable const * farPatchTable,
void * deviceContext = NULL )
static

Definition at line 14 of file gpu_patch_table.cc.

References allocate(), and GPUPatchTable().

◆ GetFVarPatchArrays()

PatchArrayVector const & blender::opensubdiv::GPUPatchTable::GetFVarPatchArrays ( int fvarChannel = 0) const
inline

Returns the patch arrays for face-varying index buffer data.

Definition at line 64 of file gpu_patch_table.hh.

References _fvarPatchArrays.

Referenced by blender::opensubdiv::GpuEvalOutput::create_face_varying_patch_array_buf().

◆ GetFVarPatchIndexBuffer()

gpu::StorageBuf * blender::opensubdiv::GPUPatchTable::GetFVarPatchIndexBuffer ( int fvarChannel = 0) const
inline

Returns the GL index buffer containing face-varying control vertices.

Definition at line 70 of file gpu_patch_table.hh.

References _fvarIndexBuffers.

Referenced by blender::opensubdiv::GpuEvalOutput::get_face_varying_patch_index_buf().

◆ GetFVarPatchParamBuffer()

gpu::StorageBuf * blender::opensubdiv::GPUPatchTable::GetFVarPatchParamBuffer ( int fvarChannel = 0) const
inline

Returns the GL index buffer containing face-varying patch params.

Definition at line 76 of file gpu_patch_table.hh.

References _fvarParamBuffers.

Referenced by blender::opensubdiv::GpuEvalOutput::get_face_varying_patch_param_buf().

◆ GetNumFVarChannels()

int blender::opensubdiv::GPUPatchTable::GetNumFVarChannels ( ) const
inline

Returns the number of face-varying channel buffers.

Definition at line 58 of file gpu_patch_table.hh.

References _fvarPatchArrays.

◆ GetPatchArrays()

PatchArrayVector const & blender::opensubdiv::GPUPatchTable::GetPatchArrays ( ) const
inline

Returns the patch arrays for vertex index buffer data.

Definition at line 28 of file gpu_patch_table.hh.

References _patchArrays.

Referenced by blender::opensubdiv::GpuEvalOutput::create_patch_arrays_buf(), and blender::opensubdiv::is_adaptive().

◆ GetPatchIndexBuffer()

gpu::StorageBuf * blender::opensubdiv::GPUPatchTable::GetPatchIndexBuffer ( ) const
inline

Returns the GL index buffer containing the patch control vertices.

Definition at line 34 of file gpu_patch_table.hh.

References _patchIndexBuffer.

Referenced by blender::opensubdiv::GpuEvalOutput::get_patch_index_buf().

◆ GetPatchParamBuffer()

gpu::StorageBuf * blender::opensubdiv::GPUPatchTable::GetPatchParamBuffer ( ) const
inline

Returns the GL index buffer containing the patch parameter.

Definition at line 40 of file gpu_patch_table.hh.

References _patchParamBuffer.

Referenced by blender::opensubdiv::GpuEvalOutput::get_patch_param_buf().

◆ GetVaryingPatchArrays()

PatchArrayVector const & blender::opensubdiv::GPUPatchTable::GetVaryingPatchArrays ( ) const
inline

Returns the patch arrays for varying index buffer data.

Definition at line 46 of file gpu_patch_table.hh.

References _varyingPatchArrays.

◆ GetVaryingPatchIndexBuffer()

gpu::StorageBuf * blender::opensubdiv::GPUPatchTable::GetVaryingPatchIndexBuffer ( ) const
inline

Returns the GL index buffer containing the varying control vertices.

Definition at line 52 of file gpu_patch_table.hh.

References _varyingIndexBuffer.

Member Data Documentation

◆ _fvarIndexBuffers

std::vector<gpu::StorageBuf *> blender::opensubdiv::GPUPatchTable::_fvarIndexBuffers
protected

Definition at line 96 of file gpu_patch_table.hh.

Referenced by allocate(), GetFVarPatchIndexBuffer(), and ~GPUPatchTable().

◆ _fvarParamBuffers

std::vector<gpu::StorageBuf *> blender::opensubdiv::GPUPatchTable::_fvarParamBuffers
protected

Definition at line 97 of file gpu_patch_table.hh.

Referenced by allocate(), GetFVarPatchParamBuffer(), and ~GPUPatchTable().

◆ _fvarPatchArrays

std::vector<PatchArrayVector> blender::opensubdiv::GPUPatchTable::_fvarPatchArrays
protected

Definition at line 95 of file gpu_patch_table.hh.

Referenced by allocate(), GetFVarPatchArrays(), and GetNumFVarChannels().

◆ _patchArrays

PatchArrayVector blender::opensubdiv::GPUPatchTable::_patchArrays
protected

Definition at line 87 of file gpu_patch_table.hh.

Referenced by allocate(), and GetPatchArrays().

◆ _patchIndexBuffer

gpu::StorageBuf* blender::opensubdiv::GPUPatchTable::_patchIndexBuffer = nullptr
protected

Definition at line 89 of file gpu_patch_table.hh.

Referenced by allocate(), GetPatchIndexBuffer(), and ~GPUPatchTable().

◆ _patchParamBuffer

gpu::StorageBuf* blender::opensubdiv::GPUPatchTable::_patchParamBuffer = nullptr
protected

Definition at line 90 of file gpu_patch_table.hh.

Referenced by allocate(), GetPatchParamBuffer(), and ~GPUPatchTable().

◆ _varyingIndexBuffer

gpu::StorageBuf* blender::opensubdiv::GPUPatchTable::_varyingIndexBuffer = nullptr
protected

Definition at line 93 of file gpu_patch_table.hh.

Referenced by allocate(), GetVaryingPatchIndexBuffer(), and ~GPUPatchTable().

◆ _varyingPatchArrays

PatchArrayVector blender::opensubdiv::GPUPatchTable::_varyingPatchArrays
protected

Definition at line 92 of file gpu_patch_table.hh.

Referenced by allocate(), and GetVaryingPatchArrays().


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