|
| TransferTask (Device *in_device, uint32_t numBuffers=3) |
|
virtual VkResult | transferDynamicData () |
| transfer any vsg::Data entries that have been updated to the associated GPU memory.
|
|
virtual bool | containsDataToTransfer () const |
|
void | advance () |
| advance the currentFrameIndex
|
|
void | assign (const ResourceRequirements::DynamicData &dynamicData) |
|
void | assign (const BufferInfoList &bufferInfoList) |
|
void | assign (const ImageInfoList &imageInfoList) |
|
| Inherit (Args &&... args) |
|
std::size_t | sizeofObject () const noexcept override |
|
const char * | className () const noexcept override |
|
const std::type_info & | type_info () const noexcept override |
|
bool | is_compatible (const std::type_info &type) const noexcept override |
|
int | compare (const Object &rhs) const override |
|
void | accept (Visitor &visitor) override |
|
void | accept (ConstVisitor &visitor) const override |
|
void | accept (RecordTraversal &visitor) const override |
|
| Object (const Object &) |
|
Object & | operator= (const Object &) |
|
template<class T > |
T * | cast () |
|
template<class T > |
const T * | cast () const |
|
virtual void | traverse (Visitor &) |
|
virtual void | traverse (ConstVisitor &) const |
|
virtual void | traverse (RecordTraversal &) const |
|
virtual void | read (Input &input) |
|
virtual void | write (Output &output) const |
|
void | ref () const noexcept |
|
void | unref () const noexcept |
|
void | unref_nodelete () const noexcept |
|
unsigned int | referenceCount () const noexcept |
|
template<typename T > |
void | setValue (const std::string &key, const T &value) |
|
void | setValue (const std::string &key, const char *value) |
| specialization of setValue to handle passing C strings
|
|
template<typename T > |
bool | getValue (const std::string &key, T &value) const |
| get specified value type, return false if value associated with key is not assigned or is not the correct type
|
|
void | setObject (const std::string &key, ref_ptr< Object > object) |
| assign an Object associated with key
|
|
Object * | getObject (const std::string &key) |
| get Object pointer associated with key, return nullptr if no object associated with key has been assigned
|
|
const Object * | getObject (const std::string &key) const |
| get const Object pointer associated with key, return nullptr if no object associated with key has been assigned
|
|
template<class T > |
T * | getObject (const std::string &key) |
| get object pointer of specified type associated with key, return nullptr if no object associated with key has been assigned
|
|
template<class T > |
const T * | getObject (const std::string &key) const |
| get const object pointer of specified type associated with key, return nullptr if no object associated with key has been assigned
|
|
ref_ptr< Object > | getRefObject (const std::string &key) |
| get ref_ptr<Object> associated with key, return nullptr if no object associated with key has been assigned
|
|
ref_ptr< const Object > | getRefObject (const std::string &key) const |
| get ref_ptr<const Object> pointer associated with key, return nullptr if no object associated with key has been assigned
|
|
template<class T > |
ref_ptr< T > | getRefObject (const std::string &key) |
| get ref_ptr<T> of specified type associated with key, return nullptr if no object associated with key has been assigned
|
|
template<class T > |
const ref_ptr< const T > | getRefObject (const std::string &key) const |
| get ref_ptr<const T> of specified type associated with key, return nullptr if no object associated with key has been assigned
|
|
void | removeObject (const std::string &key) |
| remove meta object or value associated with key
|
|
Auxiliary * | getOrCreateAuxiliary () |
|
Auxiliary * | getAuxiliary () |
|
const Auxiliary * | getAuxiliary () const |
|
TransferTask manages a collection of dynamically updated vsg::Data associated with GPU memory of vsg::BufferInfo and vsg::ImageInfo. During the viewer.compile(..) traversal the collection of dynamic data that has dataVariance of DYNAMIC_DATA* is assigned to the appropriate TransferTask and then each new frame that collection of data is checked to see if the modification count has changed, if it has that data is copied to the associated BufferInfo/ImageInfo. vsg::Data that are orphaned so the TransferTask has the only remaining reference to them are automatically removed.