public static void BufferData <T>(BufferTarget target, int size, T[] data, BufferUsageHint usage) { GCHandle ptr = GCHandle.Alloc(data, GCHandleType.Pinned); GLCore.BufferData(target, (IntPtr)size, ptr.AddrOfPinnedObject(), usage); ptr.Free(); }
public int CreateIndexBuffer(int sizeInBytes, OpenGL20BufferMode mode) { uint bufferHandle = GLHelper.GenBuffer(); GLCore.BindBuffer(BufferTarget.ElementArrayBuffer, bufferHandle); GLCore.BufferData(BufferTarget.ElementArrayBuffer, (IntPtr)sizeInBytes, IntPtr.Zero, GetBufferMode(mode)); return((int)bufferHandle); }