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(); }