private Framebuffer CreateFramebuffer(int width, int height) { var texture = new Texture(TextureTarget.Texture2D, new NullImageFiller(width, height, GL.GL_RGBA, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE), new SamplerParameters( TextureWrapping.Repeat, TextureWrapping.Repeat, TextureWrapping.Repeat, TextureFilter.Linear, TextureFilter.Linear)); texture.Initialize(); this.BindingTexture = texture; Renderbuffer colorBuffer = Renderbuffer.CreateColorbuffer(width, height, GL.GL_RGBA); Renderbuffer depthBuffer = Renderbuffer.CreateDepthbuffer(width, height, DepthComponentType.DepthComponent24); var framebuffer = new Framebuffer(); framebuffer.Bind(); framebuffer.Attach(colorBuffer); //0 framebuffer.Attach(texture); //1 framebuffer.Attach(depthBuffer); // special framebuffer.SetDrawBuffers(GL.GL_COLOR_ATTACHMENT0 + 1); // as in 1 in framebuffer.Attach(texture);//1 framebuffer.CheckCompleteness(); framebuffer.Unbind(); return(framebuffer); }