public virtual void CopyTo(RenderToTextureBuffer to)
        {
            BlitFramebufferBits mask = BlitFramebufferBits.ColorBufferBit;

            if (to.m_RenderBuffer != null)
            {
                mask |= BlitFramebufferBits.DepthBufferBit;
            }
            CopyTo(to, mask);
        }
        public virtual void CopyTo(RenderToTextureBuffer to, BlitFramebufferBits mask)
        {
            GL.BindFramebuffer(FramebufferTarget.ReadFramebuffer, m_Id);
            GL.BindFramebuffer(FramebufferTarget.DrawFramebuffer, to.m_Id);

            GL.BlitFramebuffer(
                0, 0, m_Texture.Width, m_Texture.Height,
                0, 0, to.m_Texture.Width, to.m_Texture.Height,
                mask,
                TextureMagFilter.Linear
                );

            GL.BindFramebuffer(FramebufferTarget.ReadFramebuffer, 0);
            GL.BindFramebuffer(FramebufferTarget.DrawFramebuffer, 0);
        }
Example #3
0
 public static void BlitFramebuffer(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, BlitFramebufferBits bufferMask, TextureMagFilter filter)
 {
     Delegates.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, bufferMask, filter);
 }