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); }