|
| AsyncTicket (BufferPacked *creator, StagingBuffer *stagingBuffer, size_t elementStart, size_t elementCount) |
|
virtual | ~AsyncTicket () |
|
const void * | map () |
| Maps the buffer for CPU access. More...
|
|
void | operator delete (void *ptr) |
|
void | operator delete (void *ptr, const char *, int, const char *) |
|
void | operator delete (void *ptr, void *) |
|
void | operator delete[] (void *ptr) |
|
void | operator delete[] (void *ptr, const char *, int, const char *) |
|
void * | operator new (size_t sz) |
|
void * | operator new (size_t sz, const char *file, int line, const char *func) |
| operator new, with debug line info More...
|
|
void * | operator new (size_t sz, void *ptr) |
| placement operator new More...
|
|
void * | operator new[] (size_t sz) |
|
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info More...
|
|
virtual bool | queryIsTransferDone () |
|
void | unmap () |
| Unmaps the pointer mapped with map(). More...
|
|
In Ogre 2.0 data structures, reading data from GPU back to CPU is asynchronous.
@See BufferPacked::readRequest to generate a ticket. While the async transfer is being performed, you should be doing something else.
- Use @queryIsTransferDone to query if the transfer has finished. Beware not all APIs support querying async transfer status. In those cases there is no reliable way to determine when the transfer is done. An almost safe bet is to wait two frames before mapping.
- Call @BufferPacked::disposeTicket when you're done with this ticket.