Module rin::gl::attributes [−][src]
glsl attributes and utilities to represent them in vaos
Most of the time the elements in this module are only used internally since attributes are usually extracted from reading the available ones in glsl programs and using the glin_proc crate to anotate the vertex types being used rather than having to manually create any of the structs in this module.
VAO in glin follow a model in which a buffer can be bound to one or more vertex binding points.
Then one or more attributes can read from a vertex binding point.
The binding of a buffer to a vertex binding point is represented by VertexBufferBinding
The relation between an attribute and a vertex binding point is represented by an
AttributeBufferBinding which is a trait implemented by a tuple of a Format + the index of the
vertex buffer point.
A Format represents the format of the attribute and it’s offset in the vertex.
Structs
| Format | Attribute format for most data types |
| MatFormat | Attribute format for matrices |
| VertexBufferBinding | Representation of a binding of a buffer to a vertex buffer binding point |
Enums
| Type | OpenGL supported attribute types |
Traits
| AttributeBufferBinding | Trait to implment gl::EnableVertexAttribArray or gl::VertexArrayAttribBinding |
| Bindings | Attribute bindings in a program |
| DynVertexBufferBinding | Representation of a vertex element as an attribute in a GL buffer |
| VertexFormat | Implemented by vertex types to convert attribute bindings into attribute formats |