public ColorBuffer(FrameBuffer fb, InternalFormat fmt, int samples) : base(fb) { MakeCurrent(); OpenGL.glRenderbufferStorageMultisample(OpenGL.Const.GL_RENDERBUFFER, samples, (uint)fmt, fb.Width, fb.Height); OpenGL.glFramebufferRenderbuffer(OpenGL.Const.GL_FRAMEBUFFER, OpenGL.Const.GL_COLOR_ATTACHMENT0, OpenGL.Const.GL_RENDERBUFFER, handle); }
public DepthBuffer(FrameBuffer buffer, DepthType type, int samples) : base(buffer) { MakeCurrent(); OpenGL.glRenderbufferStorageMultisample(OpenGL.Const.GL_RENDERBUFFER, samples, (uint)type, buffer.Width, buffer.Height); OpenGL.glFramebufferRenderbuffer(OpenGL.Const.GL_FRAMEBUFFER, OpenGL.Const.GL_DEPTH_ATTACHMENT, OpenGL.Const.GL_RENDERBUFFER, handle); }
internal RenderBuffer(FrameBuffer fb) { if (fb == null) throw new NullReferenceException(); uint[] buffers = new uint[1]; OpenGL.glGenRenderbuffers(1, buffers); handle = buffers[0]; framebuffer = fb; fb.render_buffers.Add(this); }
public StencilBuffer(FrameBuffer buffer, int samples) : base(buffer) { MakeCurrent(); OpenGL.glRenderbufferStorageMultisample(OpenGL.Const.GL_RENDERBUFFER, samples, OpenGL.Const.GL_STENCIL_INDEX8, buffer.Width, buffer.Height); OpenGL.glFramebufferRenderbuffer(OpenGL.Const.GL_RENDERBUFFER, OpenGL.Const.GL_STENCIL_ATTACHMENT, OpenGL.Const.GL_RENDERBUFFER, handle); }