Ejemplo n.º 1
0
        /// <summary>
        /// Binds the given <see cref="FrameBuffer"/> object to the <see cref="RenderContext"/>.
        /// </summary>
        /// <param name="fbo">The <see cref="FrameBuffer"/> object to bind.</param>
        public void BindFrameBuffer(FrameBuffer fbo)
        {
            if (fbo == null)
            {
                if (FrameBufferHandle == GLHandle.Zero)
                {
                    return;
                }

                GL.BindFramebuffer(FramebufferTarget.Framebuffer, GLHandle.Zero);

                FrameBufferHandle        = GLHandle.Zero;
                FrameBuffer.BoundContext = null;
                FrameBuffer = null;

                return;
            }

            fbo.EnsureUndisposed();

            if (FrameBufferHandle == fbo.Handle)
            {
                return;
            }

            GL.BindFramebuffer(FramebufferTarget.Framebuffer, fbo.Handle);

            FrameBufferHandle        = fbo.Handle;
            FrameBuffer              = fbo;
            FrameBuffer.BoundContext = this;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Binds the given <see cref="_frameBuffer"/> object to the <see cref="RenderContext"/>.
        /// </summary>
        /// <param name="fbo">The <see cref="_frameBuffer"/> object to bind.</param>
        public void BindFrameBuffer(FrameBuffer fbo)
        {
            if (fbo == null)
            {
                UnbindFrameBuffer();
                return;
            }

            fbo.EnsureUndisposed();

            if (_frameBufferHandle == fbo.Handle)
            {
                return;
            }

            GL.BindFramebuffer(FramebufferTarget.Framebuffer, fbo.Handle);

            _frameBufferHandle        = fbo.Handle;
            _frameBuffer              = fbo;
            _frameBuffer.BoundContext = this;
        }