iRenderBuffer Struct Reference
[3D]
This is a general buffer.  
More...
#include <ivideo/rndbuf.h>
Inheritance diagram for iRenderBuffer:

| Public Member Functions | |
| virtual void | CopyInto (const void *data, size_t elementCount, size_t elemOffset=0)=0 | 
| Copy data to the render buffer. | |
| virtual csRenderBufferType | GetBufferType () const =0 | 
| Get type of buffer (static/dynamic). | |
| virtual int | GetComponentCount () const =0 | 
| Gets the number of components per element. | |
| virtual csRenderBufferComponentType | GetComponentType () const =0 | 
| Gets the component type (float, int, etc). | |
| virtual size_t | GetElementCount () const =0 | 
| Number of elements in a buffer. | |
| virtual size_t | GetElementDistance () const =0 | 
| Get the distance between two elements (in bytes, includes stride). | |
| virtual iRenderBuffer * | GetMasterBuffer () const =0 | 
| Get the master buffer in case this is an interleaved buffer. | |
| virtual size_t | GetOffset () const =0 | 
| Get the offset of the buffer (in bytes). | |
| virtual size_t | GetRangeEnd () const =0 | 
| The highest index contained in this buffer, only valid for index buffers. | |
| virtual size_t | GetRangeStart () const =0 | 
| The lowest index contained in this buffer, only valid for index buffers. | |
| virtual size_t | GetSize () const =0 | 
| Get the size of the buffer (in bytes). | |
| virtual size_t | GetStride () const =0 | 
| Get the stride of the buffer (in bytes). | |
| virtual uint | GetVersion ()=0 | 
| Get version. | |
| virtual bool | IsIndexBuffer () const =0 | 
| Whether the buffer is an index buffer. | |
| virtual void * | Lock (csRenderBufferLockType lockType)=0 | 
| Lock the buffer to allow writing and return a pointer to the first element. | |
| virtual void | Release ()=0 | 
| Releases the buffer. | |
Detailed Description
This is a general buffer.Main creators of instances implementing this interface:
- csRenderBuffer::CreateRenderBuffer()
- csRenderBuffer::CreateIndexRenderBuffer()
- csRenderBuffer::CreateInterleavedRenderBuffers()
- See also:
- csRenderBuffer
Definition at line 107 of file rndbuf.h.
Member Function Documentation
| virtual void iRenderBuffer::CopyInto | ( | const void * | data, | |
| size_t | elementCount, | |||
| size_t | elemOffset = 0 | |||
| ) |  [pure virtual] | 
Copy data to the render buffer.
- Remarks:
- Does not work with interleaved buffer, copy to master buffer instead. A buffer may actually not make a copy of the data but only store a pointer to it. Whether this is the case depends on the actual implementation and/or parameters to the buffer creation.
Implemented in csRenderBuffer.
| virtual csRenderBufferType iRenderBuffer::GetBufferType | ( | ) | const  [pure virtual] | 
| virtual int iRenderBuffer::GetComponentCount | ( | ) | const  [pure virtual] | 
Gets the number of components per element.
Implemented in csRenderBuffer.
Referenced by csVertexListWalker< Tbase, Tcomplex >::csVertexListWalker().
| virtual csRenderBufferComponentType iRenderBuffer::GetComponentType | ( | ) | const  [pure virtual] | 
Gets the component type (float, int, etc).
Implemented in csRenderBuffer.
Referenced by csVertexListWalker< Tbase, Tcomplex >::csVertexListWalker().
| virtual size_t iRenderBuffer::GetElementCount | ( | ) | const  [pure virtual] | 
Number of elements in a buffer.
Implemented in csRenderBuffer.
Referenced by csRenderBufferLock< unsigned char >::csRenderBufferLock(), and csVertexListWalker< Tbase, Tcomplex >::csVertexListWalker().
| virtual size_t iRenderBuffer::GetElementDistance | ( | ) | const  [pure virtual] | 
| virtual iRenderBuffer* iRenderBuffer::GetMasterBuffer | ( | ) | const  [pure virtual] | 
Get the master buffer in case this is an interleaved buffer.
The master buffer is the buffer that actually holds the data; while it can be used to retrieve or set data, it must not be used for actual rendering. Use the interleaved buffers instead.
Implemented in csRenderBuffer.
| virtual size_t iRenderBuffer::GetOffset | ( | ) | const  [pure virtual] | 
| virtual size_t iRenderBuffer::GetRangeEnd | ( | ) | const  [pure virtual] | 
The highest index contained in this buffer, only valid for index buffers.
Implemented in csRenderBuffer.
| virtual size_t iRenderBuffer::GetRangeStart | ( | ) | const  [pure virtual] | 
The lowest index contained in this buffer, only valid for index buffers.
Implemented in csRenderBuffer.
| virtual size_t iRenderBuffer::GetSize | ( | ) | const  [pure virtual] | 
| virtual size_t iRenderBuffer::GetStride | ( | ) | const  [pure virtual] | 
| virtual uint iRenderBuffer::GetVersion | ( | ) |  [pure virtual] | 
| virtual bool iRenderBuffer::IsIndexBuffer | ( | ) | const  [pure virtual] | 
| virtual void* iRenderBuffer::Lock | ( | csRenderBufferLockType | lockType | ) |  [pure virtual] | 
Lock the buffer to allow writing and return a pointer to the first element.
The pointer will be (void*)-1 if there was some error.
- Parameters:
- 
  lockType The type of lock desired. 
Implemented in csRenderBuffer.
| virtual void iRenderBuffer::Release | ( | ) |  [pure virtual] | 
Releases the buffer.
After this all access to the buffer pointer is illegal.
Implemented in csRenderBuffer.
The documentation for this struct was generated from the following file:
- ivideo/rndbuf.h
Generated for Crystal Space by doxygen 1.4.7

