CrystalSpace

Public API Reference

iRenderBuffer Struct Reference
[3D]

This is a general buffer. More...

#include <ivideo/rndbuf.h>

Inheritance diagram for iRenderBuffer:

Inheritance graph
[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 iRenderBufferGetMasterBuffer () 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:

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]

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.

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]

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:
Generated for Crystal Space by doxygen 1.4.7