Exemple #1
0
        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();
            }
        }
Exemple #2
0
        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();
            }
        }