HDK
|
#include <bufferArrayRange.h>
Public Member Functions | |
HdStBufferArrayRange (HdStResourceRegistry *resourceRegistry) | |
virtual HDST_API | ~HdStBufferArrayRange () |
virtual HdStBufferResourceSharedPtr | GetResource () const =0 |
virtual HdStBufferResourceSharedPtr | GetResource (TfToken const &name)=0 |
Returns the named GPU resource. More... | |
virtual HdStBufferResourceNamedList const & | GetResources () const =0 |
Returns the list of all named GPU resources for this bufferArrayRange. More... | |
virtual HDST_API void | GetBufferSpecs (HdBufferSpecVector *bufferSpecs) const override |
Sets the bufferSpecs for all resources. More... | |
virtual int | GetElementStride () const |
Public Member Functions inherited from HdBufferArrayRange | |
HD_API | HdBufferArrayRange () |
virtual HD_API | ~HdBufferArrayRange () |
virtual bool | IsValid () const =0 |
Returns true if this range is valid. More... | |
virtual bool | IsAssigned () const =0 |
Returns true is the range has been assigned to a buffer. More... | |
virtual bool | IsImmutable () const =0 |
Returns true if this range is marked as immutable. More... | |
virtual bool | RequiresStaging () const =0 |
Returns true if this needs a staging buffer for CPU to GPU copies. More... | |
virtual bool | Resize (int numElements)=0 |
virtual void | CopyData (HdBufferSourceSharedPtr const &bufferSource)=0 |
Copy source data into buffer. More... | |
virtual VtValue | ReadData (TfToken const &name) const =0 |
Read back the buffer content. More... | |
virtual int | GetElementOffset () const =0 |
virtual int | GetByteOffset (TfToken const &resourceName) const =0 |
virtual size_t | GetNumElements () const =0 |
Returns the number of elements. More... | |
virtual size_t | GetVersion () const =0 |
Returns the version of the buffer array. More... | |
virtual void | IncrementVersion ()=0 |
virtual size_t | GetMaxNumElements () const =0 |
Returns the max number of elements. More... | |
virtual HdBufferArrayUsageHint | GetUsageHint () const =0 |
Gets the usage hint on the underlying buffer array. More... | |
virtual void | SetBufferArray (HdBufferArray *bufferArray)=0 |
Sets the buffer array associated with this buffer;. More... | |
virtual void | DebugDump (std::ostream &out) const =0 |
Debug output. More... | |
bool | IsAggregatedWith (HdBufferArrayRangeSharedPtr const &other) const |
Returns true if the underlying buffer array is aggregated to other's. More... | |
Protected Member Functions | |
HdStResourceRegistry * | GetResourceRegistry () |
HdStResourceRegistry * | GetResourceRegistry () const |
Protected Member Functions inherited from HdBufferArrayRange | |
virtual const void * | _GetAggregation () const =0 |
Returns the aggregation container to be used in IsAggregatedWith() More... | |
HdBufferArrayRange (const HdBufferArrayRange &)=delete | |
HdBufferArrayRange & | operator= (const HdBufferArrayRange &)=delete |
Interface class for representing range (subset) locator of HdBufferArray.
Each memory management strategy defines a specialized range class which is inherited of this interface so that client (drawItem) can be agnostic about the implementation detail of aggregation.
Definition at line 59 of file bufferArrayRange.h.
HdStBufferArrayRange::HdStBufferArrayRange | ( | HdStResourceRegistry * | resourceRegistry | ) |
|
virtual |
Destructor (do nothing). The specialized range class may want to do something for garbage collection in its destructor. However, be careful not do any substantial work here (obviously including any kind of GL calls), since the destructor gets called frequently on various contexts.
|
overridevirtual |
Sets the bufferSpecs for all resources.
Implements HdBufferArrayRange.
|
inlinevirtual |
Reimplemented in HdStInterleavedMemoryManager::_StripedInterleavedBufferRange.
Definition at line 86 of file bufferArrayRange.h.
|
pure virtual |
Returns the GPU resource. If the buffer array contains more than one resource, this method raises a coding error.
Implemented in HdStVBOSimpleMemoryManager::_SimpleBufferArrayRange, HdStVBOMemoryManager::_StripedBufferArrayRange, and HdStInterleavedMemoryManager::_StripedInterleavedBufferRange.
|
pure virtual |
Returns the named GPU resource.
Implemented in HdStVBOSimpleMemoryManager::_SimpleBufferArrayRange, HdStVBOMemoryManager::_StripedBufferArrayRange, and HdStInterleavedMemoryManager::_StripedInterleavedBufferRange.
|
protected |
|
protected |
|
pure virtual |
Returns the list of all named GPU resources for this bufferArrayRange.
Implemented in HdStVBOSimpleMemoryManager::_SimpleBufferArrayRange, HdStVBOMemoryManager::_StripedBufferArrayRange, and HdStInterleavedMemoryManager::_StripedInterleavedBufferRange.