internal RenderTexture(IDevice device, int width, int height) { handle = device.GenFramebuffer(); underlyingTexture = new Texture(device, (uint[])null, width, height); device.BindFramebuffer(FramebufferTarget.Framebuffer, handle); device.FramebufferTexture2D(FramebufferTarget.Framebuffer, FramebufferAttachment.ColorAttachment0, TextureTarget.Texture2D, underlyingTexture.Handle, 0); // create a renderbuffer object for depth and stencil attachment (we won't be sampling these) depthHandle = device.GenRenderbuffer(); device.BindRenderbuffer(RenderbufferTarget.Renderbuffer, depthHandle); device.RenderbufferStorage(RenderbufferTarget.Renderbuffer, RenderbufferStorage.Depth24Stencil8, width, height); device.FramebufferRenderbuffer(FramebufferTarget.Framebuffer, FramebufferAttachment.DepthStencilAttachment, RenderbufferTarget.Renderbuffer, depthHandle); device.BindFramebuffer(FramebufferTarget.Framebuffer, 0); this.device = device; }