/// <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; }
/// <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; }