protected override void Dispose(bool disposing) { if (!IsDisposed) { #if DIRECTX if (disposing) { if (_buffer != null) { _buffer.Dispose(); _buffer = null; } } #elif PSM //Do nothing _vertexArray = null; #else GraphicsDevice.AddDisposeAction(() => { GL.DeleteBuffers(1, ref vbo); GraphicsExtensions.CheckGLError(); }); #endif } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (!IsDisposed) { #if OPENGL GraphicsDevice.AddDisposeAction(() => { if (_shaderHandle != -1) { if (GL.IsShader(_shaderHandle)) { GL.DeleteShader(_shaderHandle); GraphicsExtensions.CheckGLError(); } _shaderHandle = -1; } }); #endif #if DIRECTX GraphicsDeviceResetting(); #endif } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (!IsDisposed) { #if DIRECTX if (disposing) { if (_renderTargetView != null) { _renderTargetView.Dispose(); _renderTargetView = null; } if (_depthStencilView != null) { _depthStencilView.Dispose(); _depthStencilView = null; } } #elif OPENGL GraphicsDevice.AddDisposeAction(() => { GL.DeleteRenderbuffers(1, ref this.glDepthStencilBuffer); GraphicsExtensions.CheckGLError(); if (this.glFramebuffer > 0) { GL.DeleteFramebuffers(1, ref this.glFramebuffer); GraphicsExtensions.CheckGLError(); } }); #endif } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (!IsDisposed) { #if DIRECTX if (disposing) { if (_resourceView != null) { _resourceView.Dispose(); _resourceView = null; } if (_texture != null) { _texture.Dispose(); _texture = null; } } #elif OPENGL GraphicsDevice.AddDisposeAction(() => { GL.DeleteTextures(1, ref glTexture); GraphicsExtensions.CheckGLError(); glTexture = -1; }); glLastSamplerState = null; #endif } base.Dispose(disposing); }
private void PlatformDispose() { // Free all the cached shader programs. _programCache.Dispose(); GraphicsDevice.AddDisposeAction(() => { if (this.glRenderTargetFrameBuffer > 0) { Framebuffer.Delete(this.glRenderTargetFrameBuffer); } #if WINDOWS || LINUX || ANGLE Context.Dispose(); Context = null; if (Threading.BackgroundContext != null) { Threading.BackgroundContext.Dispose(); Threading.BackgroundContext = null; Threading.WindowInfo = null; } #endif }); }
protected override void Dispose(bool disposing) { if (!IsDisposed) { #if DIRECTX if (disposing) { SharpDX.Utilities.Dispose(ref _renderTargetView); SharpDX.Utilities.Dispose(ref _depthStencilView); } #elif PSM _frameBuffer.Dispose(); #elif OPENGL GraphicsDevice.AddDisposeAction(() => { if (this.glStencilBuffer != 0 && this.glStencilBuffer != this.glDepthBuffer) { GL.DeleteRenderbuffers(1, ref this.glStencilBuffer); } GL.DeleteRenderbuffers(1, ref this.glDepthBuffer); GraphicsExtensions.CheckGLError(); }); #endif } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (!this.IsDisposed) { GraphicsDevice.AddDisposeAction((Action)(() => GL.DeleteQueries(1, ref this.glQueryId))); } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (!this.IsDisposed && this.GraphicsDevice != null && !this.GraphicsDevice.IsDisposed) { GraphicsDevice.AddDisposeAction((Action)(() => GraphicsExtensions.DeleteRenderbuffers(1, ref this.glDepthStencilBuffer))); } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (!this.IsDisposed) { GraphicsDevice.AddDisposeAction((Action)(() => GL.DeleteBuffers(1, ref this.vbo))); } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (!IsDisposed) { GraphicsDevice.AddDisposeAction(() => { Game.Instance.GraphicsDevice.GLDevice.DeleteTexture(texture); }); } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (!IsDisposed) { GraphicsDevice.AddDisposeAction(() => { OpenGLDevice.Instance.DeleteIndexBuffer(Handle); }); } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (!IsDisposed) { GraphicsDevice.AddDisposeAction(() => { GL.DeleteQueries(1, ref glQueryId); }); } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (!IsDisposed) { GraphicsDevice.AddDisposeAction(() => { Game.Instance.GraphicsDevice.GLDevice.DeleteVertexBuffer(Handle); Handle = null; }); } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (!IsDisposed) { GraphicsDevice.AddDisposeAction(() => { this.GraphicsDevice.PlatformDeleteRenderTarget(this); }); } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (!IsDisposed) { GraphicsDevice.AddDisposeAction(() => { GL.DeleteBuffers(1, ref vbo); GraphicsExtensions.CheckGLError(); }); } base.Dispose(disposing); }
private void PlatformDispose() { // Free all the cached shader programs. _programCache.Dispose(); GraphicsDevice.AddDisposeAction(() => { #if DESKTOPGL || ANGLE Context.Dispose(); Context = null; #endif }); }
protected override void Dispose(bool disposing) { if (!this.IsDisposed) { GraphicsDevice.AddDisposeAction((Action)(() => { GL.DeleteTextures(1, ref this.glTexture); this.glTexture = -1; })); this.glLastSamplerState = (SamplerState)null; } base.Dispose(disposing); }
private void DeleteGLTexture() { if (glTexture > 0) { int texture = glTexture; GraphicsDevice.AddDisposeAction(() => { GL.DeleteTextures(1, ref texture); GraphicsExtensions.CheckGLError(); }); } glTexture = -1; }
protected override void Dispose(bool disposing) { if (!IsDisposed) { GraphicsDevice.AddDisposeAction(() => { if (glDepthStencilBuffer != 0) { Game.Instance.GraphicsDevice.GLDevice.DeleteRenderbuffer(glDepthStencilBuffer); } }); } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (!IsDisposed) { #if OPENGL GraphicsDevice.AddDisposeAction(() => { GL.DeleteQueries(1, ref glQueryId); GraphicsExtensions.CheckGLError(); }); #elif DIRECTX #endif } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (!IsDisposed) { GraphicsDevice.AddDisposeAction(() => { if (this.glStencilBuffer != 0 && this.glStencilBuffer != this.glDepthBuffer) { GraphicsDevice.Renderbuffer.Delete(this.glStencilBuffer); } if (this.glDepthBuffer != 0) { GraphicsDevice.Renderbuffer.Delete(this.glDepthBuffer); } }); } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (!this.IsDisposed) { GraphicsDevice.AddDisposeAction((Action)(() => { if (this._shaderHandle == -1) { return; } if (GL.IsShader(this._shaderHandle)) { GL.DeleteShader(this._shaderHandle); } this._shaderHandle = -1; })); } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (!IsDisposed) { GraphicsDevice.AddDisposeAction(() => { if (_shaderHandle != -1) { if (GL.IsShader(_shaderHandle)) { GL.DeleteShader(_shaderHandle); } _shaderHandle = -1; } }); } base.Dispose(disposing); }
private void PlatformDispose() { // Free all the cached shader programs. _programCache.Dispose(); GraphicsDevice.AddDisposeAction(() => { #if WINDOWS || LINUX || ANGLE Context.Dispose(); Context = null; if (Threading.BackgroundContext != null) { Threading.BackgroundContext.Dispose(); Threading.BackgroundContext = null; Threading.WindowInfo = null; } #endif }); }
protected virtual void Dispose(bool disposing) { if (this._isDisposed) { return; } if (disposing) { GraphicsResource.DisposeAll(); this._programCache.Dispose(); GraphicsDevice.AddDisposeAction((Action)(() => { if (this.glRenderTargetFrameBuffer <= 0U) { return; } GraphicsExtensions.DeleteFramebuffers(1, ref this.glRenderTargetFrameBuffer); })); } this._isDisposed = true; }
protected override void Dispose(bool disposing) { if (!IsDisposed) { #if DIRECTX if (disposing) { SharpDX.Utilities.Dispose(ref _resourceView); SharpDX.Utilities.Dispose(ref _texture); } #elif OPENGL GraphicsDevice.AddDisposeAction(() => { GL.DeleteTextures(1, ref glTexture); GraphicsExtensions.CheckGLError(); glTexture = -1; }); glLastSamplerState = null; #endif } base.Dispose(disposing); }