private static BufferTarget GetBufferTarget(GLMemoryBufferType bufferType) { switch (bufferType) { case GLMemoryBufferType.SSBO: return(BufferTarget.ShaderStorageBuffer); case GLMemoryBufferType.INDEX: return(BufferTarget.ElementArrayBuffer); case GLMemoryBufferType.VERTEX: return(BufferTarget.ArrayBuffer); case GLMemoryBufferType.INDIRECT: return(BufferTarget.DrawIndirectBuffer); case GLMemoryBufferType.TRANSFER_SRC: return(BufferTarget.CopyReadBuffer); case GLMemoryBufferType.TRANSFER_DST: return(BufferTarget.CopyWriteBuffer); case GLMemoryBufferType.UNIFORM: return(BufferTarget.UniformBuffer); default: throw new NotSupportedException(); } }
public static uint GetMask(this GLMemoryBufferType bufferType) { switch (bufferType) { case GLMemoryBufferType.SSBO: return(1 << 0); case GLMemoryBufferType.INDIRECT: return(1 << 1); case GLMemoryBufferType.VERTEX: return(1 << 2); case GLMemoryBufferType.INDEX: return(1 << 3); case GLMemoryBufferType.IMAGE: return(1 << 4); case GLMemoryBufferType.TRANSFER_SRC: return(1 << 5); case GLMemoryBufferType.TRANSFER_DST: return(1 << 6); case GLMemoryBufferType.UNIFORM: return(1 << 7); default: throw new NotSupportedException(); } }