public FrameBuffer(int width, int height) { Width = width; Height = height; Texture = new Texture2D(Width, Height); GL.GenFramebuffers(1, out Handle); GL.BindFramebuffer(FramebufferTarget.Framebuffer, Handle); GL.FramebufferTexture2D(FramebufferTarget.Framebuffer, FramebufferAttachment.ColorAttachment0, TextureTarget.Texture2D, Texture.Handle, 0); FramebufferErrorCode errorCode = GL.CheckFramebufferStatus(FramebufferTarget.Framebuffer); if (errorCode != FramebufferErrorCode.FramebufferComplete) throw new Exception($"Framebuffer construction failed with error: {errorCode}"); GL.DrawBuffer((DrawBufferMode)FramebufferAttachment.ColorAttachment0); GL.BindFramebuffer(FramebufferTarget.Framebuffer, 0); }