![]() |
OpenSubdiv
|
Cpu patch table. More...
#include <cpuPatchTable.h>
Public Member Functions | |
| CpuPatchTable (const Far::PatchTable *patchTable) | |
| ~CpuPatchTable () | |
| const PatchArray * | GetPatchArrayBuffer () const |
| const int * | GetPatchIndexBuffer () const |
| const PatchParam * | GetPatchParamBuffer () const |
| size_t | GetNumPatchArrays () const |
| size_t | GetPatchIndexSize () const |
| size_t | GetPatchParamSize () const |
| const PatchArray * | GetVaryingPatchArrayBuffer () const |
| const int * | GetVaryingPatchIndexBuffer () const |
| size_t | GetVaryingPatchIndexSize () const |
| int | GetNumFVarChannels () const |
| const PatchArray * | GetFVarPatchArrayBuffer (int fvarChannel=0) const |
| const int * | GetFVarPatchIndexBuffer (int fvarChannel=0) const |
| size_t | GetFVarPatchIndexSize (int fvarChannel=0) const |
| const PatchParam * | GetFVarPatchParamBuffer (int fvarChannel=0) const |
| size_t | GetFVarPatchParamSize (int fvarChannel=0) const |
Static Public Member Functions | |
| static CpuPatchTable * | Create (const Far::PatchTable *patchTable, void *deviceContext=NULL) |
Protected Attributes | |
| PatchArrayVector | _patchArrays |
| std::vector< int > | _indexBuffer |
| PatchParamVector | _patchParamBuffer |
| PatchArrayVector | _varyingPatchArrays |
| std::vector< int > | _varyingIndexBuffer |
| std::vector< PatchArrayVector > | _fvarPatchArrays |
| std::vector< std::vector< int > > | _fvarIndexBuffers |
| std::vector< PatchParamVector > | _fvarParamBuffers |
Cpu patch table.
XXX: We can use just Far::PatchTable for typical CpuEval use cases.
Currently this class exists because of the template resolution for the CpuEvaluator's generic interface functions (glEvalLimit example uses), and device-specific patch tables such as GLPatchTables internally use as a staging buffer to splice patcharray and interleave sharpnesses.
Ideally Far::PatchTables should have the same data representation and accessors so that we don't have to copy data unnecessarily.
Definition at line 42 of file cpuPatchTable.h.
|
explicit |
|
inline |
Definition at line 51 of file cpuPatchTable.h.
|
inlinestatic |
Definition at line 44 of file cpuPatchTable.h.
|
inline |
Definition at line 92 of file cpuPatchTable.h.
|
inline |
Definition at line 95 of file cpuPatchTable.h.
|
inline |
Definition at line 98 of file cpuPatchTable.h.
|
inline |
Definition at line 101 of file cpuPatchTable.h.
|
inline |
Definition at line 104 of file cpuPatchTable.h.
|
inline |
Definition at line 89 of file cpuPatchTable.h.
|
inline |
Definition at line 63 of file cpuPatchTable.h.
|
inline |
Definition at line 53 of file cpuPatchTable.h.
|
inline |
Definition at line 56 of file cpuPatchTable.h.
|
inline |
Definition at line 66 of file cpuPatchTable.h.
|
inline |
Definition at line 59 of file cpuPatchTable.h.
|
inline |
Definition at line 69 of file cpuPatchTable.h.
|
inline |
Definition at line 73 of file cpuPatchTable.h.
|
inline |
Definition at line 79 of file cpuPatchTable.h.
|
inline |
Definition at line 85 of file cpuPatchTable.h.
|
protected |
Definition at line 117 of file cpuPatchTable.h.
|
protected |
Definition at line 118 of file cpuPatchTable.h.
|
protected |
Definition at line 116 of file cpuPatchTable.h.
|
protected |
Definition at line 110 of file cpuPatchTable.h.
|
protected |
Definition at line 109 of file cpuPatchTable.h.
|
protected |
Definition at line 111 of file cpuPatchTable.h.
|
protected |
Definition at line 114 of file cpuPatchTable.h.
|
protected |
Definition at line 113 of file cpuPatchTable.h.