iRenderBuffer Struct Reference
[3D]
This is a general buffer.
More...
#include <ivideo/rndbuf.h>
Inheritance diagram for iRenderBuffer:
![Inheritance graph](structiRenderBuffer__inherit__graph.png)
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