Cinder  0.8.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
cinder::dx::VboMesh Class Reference

#include <DxVbo.h>

Classes

struct  Layout
 
struct  Obj
 
class  VertexIter
 

Public Types

enum  { NONE, STATIC, DYNAMIC }
 
enum  {
  ATTR_INDICES, ATTR_POSITIONS, ATTR_NORMALS, ATTR_COLORS_RGB,
  ATTR_COLORS_RGBA, ATTR_TEXCOORDS2D_0, ATTR_TEXCOORDS2D_1, ATTR_TEXCOORDS2D_2,
  ATTR_TEXCOORDS2D_3, ATTR_TEXCOORDS3D_0, ATTR_TEXCOORDS3D_1, ATTR_TEXCOORDS3D_2,
  ATTR_TEXCOORDS3D_3, ATTR_TOTAL
}
 
enum  { ATTR_MAX_TEXTURE_UNIT = 3 }
 
enum  { INDEX_BUFFER = 0, STATIC_BUFFER, DYNAMIC_BUFFER, TOTAL_BUFFERS }
 

Public Member Functions

 VboMesh ()
 
 VboMesh (const TriMesh &triMesh, Layout layout=Layout())
 
 VboMesh (const TriMesh2d &triMesh, Layout layout=Layout())
 
 VboMesh (size_t numVertices, size_t numIndices, Layout layout, D3D11_PRIMITIVE_TOPOLOGY primitiveType)
 
 VboMesh (size_t numVertices, size_t numIndices, Layout layout, bool useQuads)
 
 VboMesh (size_t numVertices, size_t numIndices, Layout layout, D3D11_PRIMITIVE_TOPOLOGY primitiveType, Vbo *indexBuffer, Vbo *staticBuffer, Vbo *dynamicBuffer)
 
 VboMesh (size_t numVertices, size_t numIndices, Layout layout, GLenum primitiveType, Vbo *indexBuffer, Vbo *staticBuffer, Vbo *dynamicBuffer)
 
size_t getNumIndices () const
 
size_t getNumVertices () const
 
D3D11_PRIMITIVE_TOPOLOGY getPrimitiveType () const
 
const LayoutgetLayout () const
 
void bindIndexBuffer () const
 
void bindAllData () const
 
void bufferIndices (const std::vector< uint32_t > &indices)
 
void bufferPositions (const std::vector< Vec3f > &positions)
 
void bufferPositions (const Vec3f *positions, size_t count)
 
void bufferNormals (const std::vector< Vec3f > &normals)
 
void bufferTexCoords2d (size_t unit, const std::vector< Vec2f > &texCoords)
 
void bufferTexCoords3d (size_t unit, const std::vector< Vec3f > &texCoords)
 
void bufferColorsRGB (const std::vector< Color > &colors)
 
void bufferColorsRGBA (const std::vector< ColorA > &colors)
 
class VertexIter mapVertexBuffer ()
 
VbogetIndexVbo () const
 
VbogetStaticVbo () const
 
VbogetDynamicVbo () const
 
size_t getTexCoordOffset (size_t unit) const
 
void setTexCoordOffset (size_t unit, size_t aTexCoordOffset)
 

Protected Member Functions

void initializeBuffers (bool staticDataPlanar)
 

Protected Attributes

std::shared_ptr< ObjmObj
 
typedef std::shared_ptr< Obj >
VboMesh::* 
unspecified_bool_type
 Emulates shared_ptr-like behavior. More...
 
 operator unspecified_bool_type () const
 Emulates shared_ptr-like behavior. More...
 
void reset ()
 Emulates shared_ptr-like behavior. More...
 

Member Typedef Documentation

typedef std::shared_ptr<Obj> VboMesh::* cinder::dx::VboMesh::unspecified_bool_type

Emulates shared_ptr-like behavior.

Member Enumeration Documentation

anonymous enum
Enumerator
NONE 
STATIC 
DYNAMIC 
anonymous enum
Enumerator
ATTR_INDICES 
ATTR_POSITIONS 
ATTR_NORMALS 
ATTR_COLORS_RGB 
ATTR_COLORS_RGBA 
ATTR_TEXCOORDS2D_0 
ATTR_TEXCOORDS2D_1 
ATTR_TEXCOORDS2D_2 
ATTR_TEXCOORDS2D_3 
ATTR_TEXCOORDS3D_0 
ATTR_TEXCOORDS3D_1 
ATTR_TEXCOORDS3D_2 
ATTR_TEXCOORDS3D_3 
ATTR_TOTAL 
anonymous enum
Enumerator
ATTR_MAX_TEXTURE_UNIT 
anonymous enum
Enumerator
INDEX_BUFFER 
STATIC_BUFFER 
DYNAMIC_BUFFER 
TOTAL_BUFFERS 

Constructor & Destructor Documentation

cinder::dx::VboMesh::VboMesh ( )
cinder::dx::VboMesh::VboMesh ( const TriMesh triMesh,
Layout  layout = Layout() 
)
explicit
cinder::dx::VboMesh::VboMesh ( const TriMesh2d triMesh,
Layout  layout = Layout() 
)
explicit
cinder::dx::VboMesh::VboMesh ( size_t  numVertices,
size_t  numIndices,
Layout  layout,
D3D11_PRIMITIVE_TOPOLOGY  primitiveType 
)
cinder::dx::VboMesh::VboMesh ( size_t  numVertices,
size_t  numIndices,
Layout  layout,
bool  useQuads 
)
cinder::dx::VboMesh::VboMesh ( size_t  numVertices,
size_t  numIndices,
Layout  layout,
D3D11_PRIMITIVE_TOPOLOGY  primitiveType,
Vbo indexBuffer,
Vbo staticBuffer,
Vbo dynamicBuffer 
)
cinder::dx::VboMesh::VboMesh ( size_t  numVertices,
size_t  numIndices,
Layout  layout,
GLenum  primitiveType,
Vbo indexBuffer,
Vbo staticBuffer,
Vbo dynamicBuffer 
)

Member Function Documentation

size_t cinder::dx::VboMesh::getNumIndices ( ) const
size_t cinder::dx::VboMesh::getNumVertices ( ) const
D3D11_PRIMITIVE_TOPOLOGY cinder::dx::VboMesh::getPrimitiveType ( ) const
const Layout& cinder::dx::VboMesh::getLayout ( ) const
void cinder::dx::VboMesh::bindIndexBuffer ( ) const
void cinder::dx::VboMesh::bindAllData ( ) const
void cinder::dx::VboMesh::bufferIndices ( const std::vector< uint32_t > &  indices)
void cinder::dx::VboMesh::bufferPositions ( const std::vector< Vec3f > &  positions)
void cinder::dx::VboMesh::bufferPositions ( const Vec3f positions,
size_t  count 
)
void cinder::dx::VboMesh::bufferNormals ( const std::vector< Vec3f > &  normals)
void cinder::dx::VboMesh::bufferTexCoords2d ( size_t  unit,
const std::vector< Vec2f > &  texCoords 
)
void cinder::dx::VboMesh::bufferTexCoords3d ( size_t  unit,
const std::vector< Vec3f > &  texCoords 
)
void cinder::dx::VboMesh::bufferColorsRGB ( const std::vector< Color > &  colors)
void cinder::dx::VboMesh::bufferColorsRGBA ( const std::vector< ColorA > &  colors)
VboMesh::VertexIter cinder::dx::VboMesh::mapVertexBuffer ( )
Vbo& cinder::dx::VboMesh::getIndexVbo ( ) const
Vbo& cinder::dx::VboMesh::getStaticVbo ( ) const
Vbo& cinder::dx::VboMesh::getDynamicVbo ( ) const
size_t cinder::dx::VboMesh::getTexCoordOffset ( size_t  unit) const
void cinder::dx::VboMesh::setTexCoordOffset ( size_t  unit,
size_t  aTexCoordOffset 
)
cinder::dx::VboMesh::operator unspecified_bool_type ( ) const

Emulates shared_ptr-like behavior.

void cinder::dx::VboMesh::reset ( )

Emulates shared_ptr-like behavior.

void cinder::dx::VboMesh::initializeBuffers ( bool  staticDataPlanar)
protected

Member Data Documentation

std::shared_ptr<Obj> cinder::dx::VboMesh::mObj
protected

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