Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# IdeVertexBuffer2 Class Reference

`#include <deDriver.hpp>`

Inheritance diagram for IdeVertexBuffer2:

[legend]
Collaboration diagram for IdeVertexBuffer2:

[legend]
List of all members.

## Public Types
enum | Primitive_t { RENDER_POINTLIST = 0, RENDER_LINELIST, RENDER_LINESTRIP, RENDER_TRIANGLELIST, RENDER_TRIANGLESTRIP, RENDER_TRIANGLEFAN, RENDER_COUNT, RENDER_FORCE_32BIT = 0x7FFFFFFF }
| type of rendering for the buffer More...
enum | DataUsage_t { USAGE_POSITION = 0, USAGE_NORMAL, USAGE_TEXCOORD, USAGE_COLOR, USAGE_TANGENT, USAGE_BINORMAL, USAGE_BLENDWEIGHT, USAGE_BLENDINDICES, USAGE_FOG, USAGE_TESSFACTOR, USAGE_POSITION_T, USAGE_DEPTH, USAGE_SAMPLE, USAGE_COUNT, USAGE_FORCE_32BIT = 0x7FFFFFFF }
| Usage specifier for a vertex stream. More...
enum | DataType_t { DATA_FLOAT32_1, DATA_FLOAT32_2, DATA_FLOAT32_3, DATA_FLOAT32_4, DATA_ARGB, DATA_U8_4, DATA_S16_2, DATA_S16_4, DATA_U8_4N, DATA_S16_2N, DATA_S16_4N, DATA_U16_2N, DATA_U16_4N, DATA_U10_3, DATA_S10_3N, DATA_FLOAT16_2, DATA_FLOAT16_4, DATA_COUNT, DATA_FORCE_32BIT = 0x7FFFFFFF }
enum | StreamFlag_t { FLAG_DYNAMIC, FLAG_INSTANCES, FLAG_COUNT, FLAG_FORCE_32BIT = 0x7FFFFFFF }
## Public Member Functions
virtual void * | LockStream (UsageDescriptor_t element)=0
virtual deBoolean | UnlockStream (UsageDescriptor_t element, deBoolean modified=(DE_TRUE))=0
virtual deBoolean | CreateStream (UsageDescriptor_t element, DataType_t datatype)=0
virtual deBoolean | SetStreamFlag (UsageDescriptor_t element, StreamFlag_t flag, u32 value)=0
virtual deBoolean | GetStreamFlag (UsageDescriptor_t element, StreamFlag_t flag, u32 *value)=0
virtual DataType_t | GetStreamDataType (UsageDescriptor_t element) const=0
virtual deBoolean | StreamExists (UsageDescriptor_t element) const=0
virtual deBoolean | SetVertexCount (u32 count)=0
virtual deBoolean | SetIndexCount (u32 count)=0
virtual deBoolean | SetPrimitiveType (Primitive_t primitiveType)=0
virtual u32 | GetVertexCount () const=0
virtual u32 | GetIndexCount () const=0
virtual u32 | GetPrimitiveCount () const=0
virtual Primitive_t | GetPrimitiveType () const=0
virtual deBoolean | DriverSetInfo (IdeDriver *pDriver, void *Info)=0
virtual void * | DriverGetInfo (IdeDriver *pDriver, deBoolean *&UpdatedStreams) const=0
virtual u32 | DriverGetNumStreams ()=0
virtual StreamDescriptor_t * | DriverGetStreamDescriptors ()
virtual u32 | DriverLock ()=0
virtual u32 | DriverUnlock ()=0
## Protected Member Functions
virtual | ~IdeVertexBuffer2 ()

## Detailed Description

a rewritten vertex buffer class (new, not finished yet)

## Member Enumeration Documentation

enum IdeVertexBuffer2::DataType_t

  | Data types that the different buffers are (with different byte-sizes). All have sizes that are multiples of 32 bytes, and may be padded if necessary. Enumeration values:
  DATA_FLOAT32_1 | (float_1, 0, 0, 1)
  DATA_FLOAT32_2 | (float_1, float_2, 0, 1)
  DATA_FLOAT32_3 | (float_1, float_2, float_3, 1)
  DATA_FLOAT32_4 | (float_1, float_2, float_3, float_4)
  DATA_ARGB | (R, G, B, A)
  DATA_U8_4 | (u8_1, u8_2, u8_3, u8_4)
  DATA_S16_2 | (s16_1, s16_2, 0, 1)
  DATA_S16_4 | (s16_1, s16_2, s16_3, s16_4)
  DATA_U8_4N | normalized version of DATA_U8_4
  DATA_S16_2N | normalized version of DATA_S16_2
  DATA_S16_4N | normalized version of DATA_S16_4
  DATA_U16_2N | normalized, unsigned version of DATA_S16_2
  DATA_U16_4N | normalized, unsigned version of DATA_S16_4
  DATA_U10_3 | (u10_1, u10_2, u10_3, 1)
  DATA_S10_3N | normalized, signed version of DATA_U10_3
  DATA_FLOAT16_2 | (float_1, float_2, 0, 1)
  DATA_FLOAT16_4 | (float_1, float_2, float_3, float_4)
  DATA_COUNT |
  DATA_FORCE_32BIT |

enum IdeVertexBuffer2::DataUsage_t

  | Usage specifier for a vertex stream. Enumeration values:
  USAGE_POSITION | untransformed position
  USAGE_NORMAL | vertex normal
  USAGE_TEXCOORD | texture coordinates
  USAGE_COLOR | vertex color
  USAGE_TANGENT |
  USAGE_BINORMAL |
  USAGE_BLENDWEIGHT |
  USAGE_BLENDINDICES |
  USAGE_FOG |
  USAGE_TESSFACTOR |
  USAGE_POSITION_T |
  USAGE_DEPTH |
  USAGE_SAMPLE |
  USAGE_COUNT |
  USAGE_FORCE_32BIT |

enum IdeVertexBuffer2::Primitive_t

  | type of rendering for the buffer Enumeration values:
  RENDER_POINTLIST | render points (v1),(v2)...
  RENDER_LINELIST | render lines (v1,v2),(v3,v4)...
  RENDER_LINESTRIP | render lines (v1,v2),(v2,v3)...
  RENDER_TRIANGLELIST | render triangles (v1,v2,v3),(v4,v5,v6)...
  RENDER_TRIANGLESTRIP | render triangles (v1,v2,v3),(v3,v2,v4)...
  RENDER_TRIANGLEFAN | render triangles (v1,v2,v3),(v1,v4,v5)...
  RENDER_COUNT |
  RENDER_FORCE_32BIT |

enum IdeVertexBuffer2::StreamFlag_t

  | Enumeration values:
  FLAG_DYNAMIC |
  FLAG_INSTANCES |
  FLAG_COUNT |
  FLAG_FORCE_32BIT |

## Constructor & Destructor Documentation

virtual IdeVertexBuffer2::~IdeVertexBuffer2 | ( |  | ) | `[inline, protected, virtual]`

## Member Function Documentation

virtual deBoolean IdeVertexBuffer2::CreateStream | ( | UsageDescriptor_t | element,
|  | DataType_t | datatype
| ) | `[pure virtual]`

virtual void* IdeVertexBuffer2::DriverGetInfo | ( | IdeDriver * | pDriver,
|  | deBoolean *& | UpdatedStreams
| ) | const`[pure virtual]`

virtual u32 IdeVertexBuffer2::DriverGetNumStreams | ( |  | ) | `[pure virtual]`

virtual StreamDescriptor_t* IdeVertexBuffer2::DriverGetStreamDescriptors | ( |  | ) | `[virtual]`

virtual u32 IdeVertexBuffer2::DriverLock | ( |  | ) | `[pure virtual]`

virtual deBoolean IdeVertexBuffer2::DriverSetInfo | ( | IdeDriver * | pDriver,
|  | void * | Info
| ) | `[pure virtual]`

virtual u32 IdeVertexBuffer2::DriverUnlock | ( |  | ) | `[pure virtual]`

virtual u32 IdeVertexBuffer2::GetIndexCount | ( |  | ) | const`[pure virtual]`

virtual u32 IdeVertexBuffer2::GetPrimitiveCount | ( |  | ) | const`[pure virtual]`

virtual Primitive_t IdeVertexBuffer2::GetPrimitiveType | ( |  | ) | const`[pure virtual]`

virtual DataType_t IdeVertexBuffer2::GetStreamDataType | ( | UsageDescriptor_t | element | ) | const`[pure virtual]`

virtual deBoolean IdeVertexBuffer2::GetStreamFlag | ( | UsageDescriptor_t | element,
|  | StreamFlag_t | flag,
|  | u32 * | value
| ) | `[pure virtual]`

virtual u32 IdeVertexBuffer2::GetVertexCount | ( |  | ) | const`[pure virtual]`

virtual void* IdeVertexBuffer2::LockStream | ( | UsageDescriptor_t | element | ) | `[pure virtual]`

| Todo: implement IdeVertexBuffer2

virtual deBoolean IdeVertexBuffer2::SetIndexCount | ( | u32 | count | ) | `[pure virtual]`

virtual deBoolean IdeVertexBuffer2::SetPrimitiveType | ( | Primitive_t | primitiveType | ) | `[pure virtual]`

virtual deBoolean IdeVertexBuffer2::SetStreamFlag | ( | UsageDescriptor_t | element,
|  | StreamFlag_t | flag,
|  | u32 | value
| ) | `[pure virtual]`

virtual deBoolean IdeVertexBuffer2::SetVertexCount | ( | u32 | count | ) | `[pure virtual]`

virtual deBoolean IdeVertexBuffer2::StreamExists | ( | UsageDescriptor_t | element | ) | const`[pure virtual]`

virtual deBoolean IdeVertexBuffer2::UnlockStream | ( | UsageDescriptor_t | element,
|  | deBoolean | modified = (DE_TRUE)
| ) | `[pure virtual]`

The documentation for this class was generated from the following file:

- deDriver.hpp