Axiom.RenderSystems.OpenGL.GLFBORTTManager.ReleaseRenderBuffer C# (CSharp) Method

ReleaseRenderBuffer() public method

Release a render buffer. Ignore silently if surface.buffer is null.
public ReleaseRenderBuffer ( Axiom.RenderSystems.OpenGL.GLSurfaceDesc surface ) : void
surface Axiom.RenderSystems.OpenGL.GLSurfaceDesc
return void
		public void ReleaseRenderBuffer( GLSurfaceDesc surface )
		{
			if ( surface.Buffer == null )
				return;

			RBFormat key = new RBFormat( surface.Buffer.GLFormat, surface.Buffer.Width, surface.Buffer.Height );
			RBRef value;
			if ( _renderBufferMap.TryGetValue( key, out value ) )
			{
				// Decrease refcount
				value.Refcount--;
				if ( value.Refcount == 0 )
				{
					// If refcount reaches zero, delete buffer and remove from map
					value.Buffer.Dispose();
					_renderBufferMap.Remove( key );
					LogManager.Instance.Write( "Destroyed renderbuffer of format {0} of {1}x{2}", key.Format, key.Width, key.Height );
				}
			}
		}