Unofficial OpenGL Software Development Kit  0.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Classes | Typedefs | Enumerations | Functions | Variables
glmesh Namespace Reference

The main namespace for the GL Mesh library. All GL Mesh functions are in this namespace. More...

Classes

class  CpuDataException
 Base class for all CpuDataWriter specific exceptions. More...
 
class  IncompleteVertexException
 Thrown when attempting to get vertices from a CpuDataWriter when a vertex is incomplete. More...
 
class  CpuDataWriter
 Allows immediate mode drawing to a CPU buffer, rather than a buffer object. More...
 
class  DrawException
 Base class for all Draw specific exceptions. More...
 
class  TooFewVerticesSentException
 Thrown when drawing with Draw and you did not provide as many vertices as promised. More...
 
class  TooManyVerticesSentException
 Thrown when calling Attrib and you are writing more vertices than you promised. More...
 
class  PrimitiveTypeUnsupportedException
 Thrown when creating a Draw with a primitive type that the current OpenGL implementation does not support. More...
 
class  VertexCountPrimMismatchException
 Thrown when the primitive type and vertex count cannot be used together. More...
 
class  Draw
 RAII-style class for immediate-mode type rendering through a VertexFormat and StreamBuffer. More...
 
class  RenderCmdList
 A list of rendering commands to be used by a Mesh. More...
 
class  Mesh
 An object that represents a static collection of mesh data. More...
 
class  StreamBufferException
 Base class for all exceptions thrown by StreamBuffer and StreamBuffer::Map. More...
 
class  StoreAlreadyMappedException
 Thrown when the StreamBuffer is mapped and you attempt to call a function that requires the StreamBuffer to not be mapped. More...
 
class  NotEnoughStorageForMapException
 Thrown when mapping a StreamBuffer and it does not have enough room for the requested map size. More...
 
class  NotEnoughRemainingStorageForMapException
 Thrown when mapping a StreamBuffer and the current offset + range would exceed the size of the StreamBuffer. More...
 
class  StreamBuffer
 A class for streaming vertex data to buffer objects on the GPU. More...
 
class  VertexFormatException
 Base class for all exceptions thrown by AttribDesc, VertexFormat and VertexFormat::Enable. More...
 
class  AttributeDataInvalidException
 Thrown if the values passed to AttribDesc's constructor are not allowed. More...
 
class  AttributeDataUnsupportedException
 Thrown if the values passed to AttribDesc's constructor do not meet the implementation-specific requirements. More...
 
class  AttributeIndexMultipleRefException
 Thrown if VertexFormat is given two AttribDesc objects that use the same attribute index. More...
 
class  AttribDesc
 Describes the storage for a single vertex attribute. More...
 
struct  SeparateAttribFormatTag
 Used in VertexFormat::Enable to differentiate constructors. More...
 
class  VertexFormat
 Describes the layout for a sequence of vertex attributes, to be used for rendering. More...
 
class  VertexWriterException
 Base class for all VertexWriter specific exceptions. More...
 
class  MismatchWriterTypeException
 Thrown when the type the VertexWriter::Attrib functions are used with does not match the type of the attribute as defined by the VertexFormat. More...
 
class  VertexWriter
 Base class, using CRTP, that provides a framework for writing vertex attributes to arbitrary locations. More...
 

Typedefs

typedef std::map< std::string,
GLuint > 
MeshVariantMap
 A list of variations of named variations of a mesh. Each name maps to a VAO to render from.
 
typedef std::vector< AttribDescAttributeList
 Convenience typedef for std::vector's of attributes.
 

Enumerations

enum  VertexDataType {
  VDT_HALF_FLOAT, VDT_SINGLE_FLOAT, VDT_DOUBLE_FLOAT, VDT_SIGN_BYTE,
  VDT_UNSIGN_BYTE, VDT_SIGN_SHORT, VDT_UNSIGN_SHORT, VDT_SIGN_INT,
  VDT_UNSIGN_INT
}
 The C data type that you will be providing the vertex attribute data in. More...
 
enum  AttribDataType { ADT_FLOAT, ADT_NORM_FLOAT, ADT_INTEGER, ADT_DOUBLE }
 The expected interpretation of the attribute data by GLSL. More...
 

Functions

template<typename Sink , typename VertexSequence >
void Attrib (VertexWriter< Sink > &drawable, const VertexSequence &vertexData)
 A Boost.Fusion-based function for drawing attribute structs. More...
 

Variables

const SeparateAttribFormatTag sepFormat
 Use this in VertexFormat::Enable to use the separate attribute format constructor.
 

Detailed Description

The main namespace for the GL Mesh library. All GL Mesh functions are in this namespace.