Module glin::buffer_object[][src]

Buffer Objects are the main way of storing data to be used by the GPU

glin BufferObjects are typed but apart from that are just a light wrapper around OpenGL's

Immutable in this module refers to the OpenGL notion of immutable buffers where once allocated it's capacity can't be changed but it's data can be modified dependnding on the flags it was allocated with

More info: https://www.khronos.org/opengl/wiki/Buffer_Object

Structs

BufferObject

A mutable buffer object allocated with gl(Named)BufferData

BufferObjectImmutable

Inmmutable buffer object allocated with gl(Named)BufferStorage

Builder
MapRead
MapReadFlags
MapReadWrite
MapReadWriteFlags
MapWrite
MapWriteFlags
Range

A view into a portion of a buffer which can be used as a buffer itself

SharedBuffer

Wrapper around a BufferObject with internal reference counting

SharedBufferImmutable

Wrapper around a BufferObjectImmutable with internal reference counting

SharedBuilder

Traits

BufferRange

A view into a portion of a buffer object

BufferRangeMut

A writable view into a portion of a buffer

InputRange

Trait to convert any partial range + a buffer into an ops::Range

MapFlags
TypedBufferObject

Buffer object with a type

TypedBufferObjectMut

Buffer object with a type