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); } }
public Framebuffer WithRenderbuffer(Renderbuffer renderbuffer, FramebufferAttachment?attachmentType = null) { AttachRenderbuffer(renderbuffer, attachmentType); return(this); }
public static void Bind(Renderbuffer newBuffer) { GL.BindRenderbuffer(RenderbufferTarget.Renderbuffer, newBuffer?.Id ?? 0); ActiveBuffer = newBuffer; }