public GPUFramebuffer CreateFramebuffer() { GPUFramebuffer framebuffer = new GPUFramebuffer(Gl.glCreateFramebuffer()); _framebuffers.Add(framebuffer); return(framebuffer); }
public void BindFramebuffer(GPUFramebuffer fb) { if (_currentFramebuffer != fb) { Gl.glBindFramebuffer(Gl.GL_FRAMEBUFFER, fb); _currentFramebuffer = fb; } }
public void CopyTo(GPUFramebuffer dst, int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, BufferMasks mask, Filters filter) { Gl.glBlitNamedFramebuffer(_handle, dst, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, (uint)mask, (int)filter); }
public void ClearFramebuffer(GPUFramebuffer fb, BufferMasks mask) { BindFramebuffer(fb); Gl.glClear((uint)mask); }
public void DeleteFramebuffer(GPUFramebuffer framebuffer) { Gl.glDeleteFramebuffers(1, new uint[] { framebuffer }); _framebuffers.Remove(framebuffer); }