/// <summary> /// Request a render buffer. If format is GL_NONE, return a zero buffer. /// </summary> /// <param name="format"> </param> /// <param name="width"> </param> /// <param name="height"> </param> /// <param name="fsaa"> </param> /// <returns> </returns> public GLESSurfaceDescription RequestRenderbuffer(All format, int width, int height, int fsaa) { var retval = new GLESSurfaceDescription(); if (format != All.Zero) { var key = new RBFormat(format, width, height, fsaa); RBRef iter; if (this._renderBuffer.TryGetValue(key, out iter)) { retval.Buffer = iter.Buffer; retval.ZOffset = 0; retval.NumSamples = fsaa; iter.RefCount++; } else { // New one var rb = new GLESRenderBuffer(format, width, height, fsaa); this._renderBuffer.Add(key, new RBRef(rb)); retval.Buffer = rb; retval.ZOffset = 0; retval.NumSamples = fsaa; } } return(retval); }
/// <summary> /// Request a render buffer. If format is GL_NONE, return a zero buffer. /// </summary> /// <param name="format"> </param> /// <param name="width"> </param> /// <param name="height"> </param> /// <param name="fsaa"> </param> /// <returns> </returns> public GLESSurfaceDescription RequestRenderbuffer( All format, int width, int height, int fsaa ) { var retval = new GLESSurfaceDescription(); if ( format != All.Zero ) { var key = new RBFormat( format, width, height, fsaa ); RBRef iter; if ( this._renderBuffer.TryGetValue( key, out iter ) ) { retval.Buffer = iter.Buffer; retval.ZOffset = 0; retval.NumSamples = fsaa; iter.RefCount++; } else { // New one var rb = new GLESRenderBuffer( format, width, height, fsaa ); this._renderBuffer.Add( key, new RBRef( rb ) ); retval.Buffer = rb; retval.ZOffset = 0; retval.NumSamples = fsaa; } } return retval; }
/// <summary> /// </summary> /// <param name="buffer"> </param> internal RBRef( GLESRenderBuffer buffer ) { this.Buffer = buffer; this.RefCount = 1; }
/// <summary> /// /// </summary> /// <param name="buffer"></param> internal RBRef( GLESRenderBuffer buffer ) { Buffer = buffer; RefCount = 1; }
/// <summary> /// </summary> /// <param name="buffer"> </param> internal RBRef(GLESRenderBuffer buffer) { this.Buffer = buffer; this.RefCount = 1; }
/// <summary> /// /// </summary> /// <param name="buffer"></param> internal RBRef(GLESRenderBuffer buffer) { Buffer = buffer; RefCount = 1; }