public void AddBuffer <T>(VertexBuffer <T> vb, VertexBufferLayout layout) where T : struct { Bind(); vb.Bind(); List <VertexBufferElement> elements = layout.GetElements(); int offest = 0; for (int i = 0; i < elements.Count; i++) { var element = elements[i]; GL.EnableVertexAttribArray(i); GL.VertexAttribPointer(i, element.count, element.type, element.normalized, layout.Stride, 0); offest += element.count * VertexBufferElement.SizeOf(element.type); } }
public void Push(int count, VertexAttribPointerType type) { Elements.Add(new VertexBufferElement(count, type, false)); Stride += VertexBufferElement.SizeOf(type) * count; }