struct  Normalized;

An UDA to specify an attribute which has to be normalized

class  VertexSpecification(Vertex);

A  VertexSpecification's role is to describe a Vertex structure. You must instantiate it with a compile-time struct describing your vertex format.

struct MyVertex
    vec3f position;
    vec4f diffuse;
    float shininess;
    @Normalized vec2i uv;
    vec3f normal;
Member names MUST match those used in the vertex shader as attributes.

this(GLProgram program);

Creates a vertex specification.

The program is used to find the attribute location.

void  use(GLuint divisor = 0);

Use this vertex specification.

Divisor is the value passed to glVertexAttribDivisor. See for details.

OpenGLException on error.

void  unuse();

Unuse this vertex specification. If you are using a VAO, you don't need to call it,

since the attributes would be tied to the VAO activation.

OpenGLException on error.

const pure nothrow size_t  vertexSize();

Returns the size of the Vertex; this size can be computer

after you added all your attributes

struct  VertexAttribute;

Describes a single attribute in a vertex entry.