protected virtual void configureFbo() { Tetra.Texture.DefaultTarget = TextureTarget.Texture2DMultisample; Tetra.Texture.GenerateMipMaps = false; colorTex = new Tetra.Texture() { Width = CacheSize.Width, Height = CacheSize.Height, InternalFormat = PixelInternalFormat.Rgba8, PixelFormat = PixelFormat.Rgba, PixelType = PixelType.UnsignedByte, Samples = Magic.numSamples }; colorTex.Create(); int depthBuf = GL.GenRenderbuffer(); GL.BindRenderbuffer(RenderbufferTarget.Renderbuffer, depthBuf); GL.RenderbufferStorageMultisample(RenderbufferTarget.Renderbuffer, Magic.numSamples, RenderbufferStorage.DepthComponent24, CacheSize.Width, CacheSize.Height); GL.FramebufferRenderbuffer(FramebufferTarget.Framebuffer, FramebufferAttachment.DepthAttachment, RenderbufferTarget.Renderbuffer, depthBuf); GL.FramebufferTexture2D(FramebufferTarget.Framebuffer, FramebufferAttachment.ColorAttachment0, TextureTarget.Texture2DMultisample, colorTex, 0); Tetra.Texture.ResetToDefaultLoadingParams(); GL.ActiveTexture(TextureUnit.Texture2); GL.BindTexture(TextureTarget.Texture2DMultisample, colorTex); }