All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
CudaPatchTable Class Reference

CUDA patch table. More...

#include <cudaPatchTable.h>

Inheritance diagram for CudaPatchTable:
NonCopyable< CudaPatchTable >

Public Member Functions

 ~CudaPatchTable ()
 Destructor. More...
 
void * GetPatchArrayBuffer () const
 Returns the cuda memory of the array of Osd::PatchArray buffer. More...
 
void * GetPatchIndexBuffer () const
 Returns the cuda memory of the patch control vertices. More...
 
void * GetPatchParamBuffer () const
 Returns the cuda memory of the array of Osd::PatchParam buffer. More...
 
void * GetVaryingPatchArrayBuffer () const
 Returns the cuda memory of the array of Osd::PatchArray buffer. More...
 
void * GetVaryingPatchIndexBuffer () const
 Returns the cuda memory of the array of varying control vertices. More...
 
int GetNumFVarChannels () const
 Returns the number of face-varying channels buffers. More...
 
void * GetFVarPatchArrayBuffer (int fvarChannel) const
 Returns the cuda memory of the array of Osd::PatchArray buffer. More...
 
void * GetFVarPatchIndexBuffer (int fvarChannel=0) const
 Returns the cuda memory of the array of face-varying control vertices. More...
 
void * GetFVarPatchParamBuffer (int fvarChannel=0) const
 Returns the cuda memory of the array of face-varying param. More...
 

Static Public Member Functions

static CudaPatchTableCreate (Far::PatchTable const *patchTable, void *deviceContext=NULL)
 Creator. Returns NULL if error. More...
 

Protected Member Functions

 CudaPatchTable ()
 
bool allocate (Far::PatchTable const *patchTable)
 

Protected Attributes

void * _patchArrays
 
void * _indexBuffer
 
void * _patchParamBuffer
 
void * _varyingPatchArrays
 
void * _varyingIndexBuffer
 
std::vector< void * > _fvarPatchArrays
 
std::vector< void * > _fvarIndexBuffers
 
std::vector< void * > _fvarParamBuffers
 

Detailed Description

CUDA patch table.

This class is a cuda buffer representation of Far::PatchTable.

CudaEvaluator consumes this table to evaluate on the patches.

Definition at line 51 of file cudaPatchTable.h.

Constructor & Destructor Documentation

Destructor.

CudaPatchTable ( )
protected

Member Function Documentation

bool allocate ( Far::PatchTable const *  patchTable)
protected
static CudaPatchTable* Create ( Far::PatchTable const *  patchTable,
void *  deviceContext = NULL 
)
static

Creator. Returns NULL if error.

void* GetFVarPatchArrayBuffer ( int  fvarChannel) const
inline

Returns the cuda memory of the array of Osd::PatchArray buffer.

Definition at line 81 of file cudaPatchTable.h.

void* GetFVarPatchIndexBuffer ( int  fvarChannel = 0) const
inline

Returns the cuda memory of the array of face-varying control vertices.

Definition at line 86 of file cudaPatchTable.h.

void* GetFVarPatchParamBuffer ( int  fvarChannel = 0) const
inline

Returns the cuda memory of the array of face-varying param.

Definition at line 91 of file cudaPatchTable.h.

int GetNumFVarChannels ( ) const
inline

Returns the number of face-varying channels buffers.

Definition at line 78 of file cudaPatchTable.h.

void* GetPatchArrayBuffer ( ) const
inline

Returns the cuda memory of the array of Osd::PatchArray buffer.

Definition at line 60 of file cudaPatchTable.h.

void* GetPatchIndexBuffer ( ) const
inline

Returns the cuda memory of the patch control vertices.

Definition at line 63 of file cudaPatchTable.h.

void* GetPatchParamBuffer ( ) const
inline

Returns the cuda memory of the array of Osd::PatchParam buffer.

Definition at line 66 of file cudaPatchTable.h.

void* GetVaryingPatchArrayBuffer ( ) const
inline

Returns the cuda memory of the array of Osd::PatchArray buffer.

Definition at line 69 of file cudaPatchTable.h.

void* GetVaryingPatchIndexBuffer ( ) const
inline

Returns the cuda memory of the array of varying control vertices.

Definition at line 73 of file cudaPatchTable.h.

Member Data Documentation

std::vector<void *> _fvarIndexBuffers
protected

Definition at line 108 of file cudaPatchTable.h.

std::vector<void *> _fvarParamBuffers
protected

Definition at line 109 of file cudaPatchTable.h.

std::vector<void *> _fvarPatchArrays
protected

Definition at line 107 of file cudaPatchTable.h.

void* _indexBuffer
protected

Definition at line 101 of file cudaPatchTable.h.

void* _patchArrays
protected

Definition at line 100 of file cudaPatchTable.h.

void* _patchParamBuffer
protected

Definition at line 102 of file cudaPatchTable.h.

void* _varyingIndexBuffer
protected

Definition at line 105 of file cudaPatchTable.h.

void* _varyingPatchArrays
protected

Definition at line 104 of file cudaPatchTable.h.


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