void AddSentanceBlock (TextureHandle handle, Vector4 fontColor, Matrix4 transform)
		{
			var block = new SentanceBlock {
				Colour = fontColor,
				Transform = transform,
				Handle = handle,
			};
			Blocks.Add (block);
		}
		public SentanceBlockStorageBuffer(SentanceBlock[] blocks, BufferUsageHint hint)
		{
			// Buffer for the linked list.
			BufferId = GL.GenBuffer();
			// manually set
			const int BUFFER_INDEX = 0;
			Index = BUFFER_INDEX;
			GL.BindBuffer(BufferTarget.ShaderStorageBuffer, BufferId);
			GL.BindBufferBase(BufferRangeTarget.ShaderStorageBuffer, Index, BufferId);
			var structSize = Marshal.SizeOf (typeof(SentanceBlock));

			var bufferSize = (IntPtr) (blocks.Length * structSize);
			GL.BufferData<SentanceBlock>(BufferTarget.ShaderStorageBuffer, bufferSize, blocks, hint);
			GL.BindBuffer(BufferTarget.ShaderStorageBuffer, 0);
		}