Exemple #1
0
        public void AttachRenderbuffer(Renderbuffer renderbuffer, FramebufferAttachment?attachmentType = null)
        {
            Bind(this);

            var attachment = attachmentType ?? nextDefaultAttachment++;

            GL.FramebufferRenderbuffer(FramebufferTarget.Framebuffer, attachment, RenderbufferTarget.Renderbuffer, Id);

            Rendering.CheckFramebufferStatus();

            ArrayUtils.Add(ref renderbuffers, renderbuffer);

            var drawBuffersEnum = (DrawBuffersEnum)attachment;

            if (Enum.IsDefined(typeof(DrawBuffersEnum), drawBuffersEnum))
            {
                ArrayUtils.Add(ref drawBuffers, drawBuffersEnum);
            }
        }
Exemple #2
0
        public Framebuffer WithRenderbuffer(Renderbuffer renderbuffer, FramebufferAttachment?attachmentType = null)
        {
            AttachRenderbuffer(renderbuffer, attachmentType);

            return(this);
        }
Exemple #3
0
        public static void Bind(Renderbuffer newBuffer)
        {
            GL.BindRenderbuffer(RenderbufferTarget.Renderbuffer, newBuffer?.Id ?? 0);

            ActiveBuffer = newBuffer;
        }