Previous: The IndexData class, Up: Hardware Index Buffers  


2.7.2 Updating Index Buffers

Updating index buffers can only be done when you lock the buffer for writing; See Locking buffers for details. Locking returns a void pointer, which must be cast to the appropriate type; with index buffers this is either an unsigned short (for 16-bit indexes) or an unsigned long (for 32-bit indexes). For example:

unsigned short* pIdx = static_cast<unsigned short*>(ibuf->lock(HardwareBuffer::HBL_DISCARD));

You can then write to the buffer using the usual pointer semantics, just remember to unlock the buffer when you’re finished!