Exemplo n.º 1
0
        internal void BindFramebuffer(FramebufferTarget target, uint handle)
        {
            switch (target)
            {
            case FramebufferTarget.ReadFramebuffer:
                if (_readFramebuffer == handle)
                {
                    return;
                }
                _readFramebuffer = handle;
                break;

            case FramebufferTarget.DrawFramebuffer:
                if (_drawFramebuffer == handle)
                {
                    return;
                }
                _drawFramebuffer = handle;
                break;

            case FramebufferTarget.Framebuffer:
                if (_drawFramebuffer == handle && _readFramebuffer == handle)
                {
                    return;
                }
                _readFramebuffer = handle;
                _drawFramebuffer = handle;
                break;

            default:
                throw new NotSupportedException(target.ToString());
            }

            _glBindFramebuffer(target, handle);
            CheckForError();
        }