## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# iRenderBuffer Struct Reference
[3D]

This is a general buffer. More...

`#include <ivideo/rndbuf.h>`

Inheritance diagram for iRenderBuffer:

[legend]
List of all members.

## 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.

Implemented in csRenderBuffer.

virtual csRenderBufferType iRenderBuffer::GetBufferType | ( |  | ) | const`[pure virtual]`

| Get type of buffer (static/dynamic). Implemented in csRenderBuffer.

virtual int iRenderBuffer::GetComponentCount | ( |  | ) | const`[pure virtual]`

| Gets the number of components per element. Implemented in csRenderBuffer.

virtual csRenderBufferComponentType iRenderBuffer::GetComponentType | ( |  | ) | const`[pure virtual]`

| Gets the component type (float, int, etc). Implemented in csRenderBuffer.

virtual size_t iRenderBuffer::GetElementCount | ( |  | ) | const`[pure virtual]`

| Number of elements in a buffer. Implemented in csRenderBuffer. Referenced by csRenderBufferLock< T, TbufferKeeper >::csRenderBufferLock().

virtual size_t iRenderBuffer::GetElementDistance | ( |  | ) | const`[pure virtual]`

| Get the distance between two elements (in bytes, includes stride). Implemented in csRenderBuffer.

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]`

| Get the offset of the buffer (in bytes). Implemented in csRenderBuffer.

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]`

| Get the size of the buffer (in bytes). Implemented in csRenderBuffer.

virtual size_t iRenderBuffer::GetStride | ( |  | ) | const`[pure virtual]`

| Get the stride of the buffer (in bytes). Implemented in csRenderBuffer.

virtual uint iRenderBuffer::GetVersion | ( |  | ) | `[pure virtual]`

| Get version. Implemented in csRenderBuffer.

virtual bool iRenderBuffer::IsIndexBuffer | ( |  | ) | const`[pure virtual]`

| Whether the buffer is an index buffer. Implemented in csRenderBuffer.

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