public FrameBufferCube(int w, int h) { W = w; H = h; Cube = new TextureCube(w, h); FBO = GL.GenFramebuffer(); GL.BindFramebuffer(FramebufferTarget.Framebuffer, FBO); FBD = GL.GenRenderbuffer(); GL.BindRenderbuffer(RenderbufferTarget.Renderbuffer, FBD); GL.RenderbufferStorage(RenderbufferTarget.Renderbuffer, RenderbufferStorage.DepthComponent24, w, h); // GL.BindRenderbuffer(RenderbufferTarget.Renderbuffer, 0); //G/ L.FramebufferRenderbuffer(FramebufferTarget.Framebuffer, FramebufferAttachment.DepthAttachment, RenderbufferTarget.Renderbuffer, FBO); GL.FramebufferTexture2D(FramebufferTarget.Framebuffer, FramebufferAttachment.ColorAttachment0, TextureTarget.TextureCubeMapPositiveX, Cube.ID, 0); GL.FramebufferRenderbuffer(FramebufferTarget.Framebuffer, FramebufferAttachment.DepthAttachment, RenderbufferTarget.Renderbuffer, FBD); GL.FramebufferTexture2D(FramebufferTarget.Framebuffer, FramebufferAttachment.ColorAttachment0, TextureTarget.TextureCubeMapPositiveX, Cube.ID, 0); CheckFBO(); GL.BindFramebuffer(FramebufferTarget.Framebuffer, 0); Cube.Release(0); }
public virtual void Release( ) { if (TCol != null) { TCol.Release(0); } if (TNorm != null) { TNorm.Release(1); } //if (TSpec != null) TSpec.Release(2); if (TEnv != null) { TEnv.Release(2); } if (TSpec != null) { TSpec.Release(3); } Active = null; }