gfm



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.

Examples
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 www.opengl.org/wiki/Vertex_Specification#Instanced_arrays for details.

Throws
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.

Throws
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.