public GLES2FrameBufferObject( GLES2FBOManager manager, int fsaa )
		{
			this._manager = manager;
			this._numSamples = fsaa;
			GL.GenFramebuffers( 1, ref this._fb );
			GLES2Config.GlCheckError( this );

			this._numSamples = 0;
			this._multiSampleFB = 0;

			/*Port notes
			 * Ogre has a #if GL_APPLE_framebuffer_multisample
			 * conditional here for checking if multisampling is supported
			 * however GLenum doesn't contain members for what it's checking for
			 * so this will skipped by default
			 */

			//Will we need a second FBO to do multisampling?
			if ( this._numSamples > 0 )
			{
				GL.GenFramebuffers( 1, ref this._multiSampleFB );
				GLES2Config.GlCheckError( this );
			}

			//Initialize state
			this._depth.buffer = null;
			this._stencil.buffer = null;
			for ( int x = 0; x < Axiom.Configuration.Config.MaxMultipleRenderTargets; x++ )
			{
				this._color[ x ].buffer = null;
			}
		}
Example #2
0
        public GLES2FrameBufferObject(GLES2FBOManager manager, int fsaa)
        {
            this._manager    = manager;
            this._numSamples = fsaa;
            GL.GenFramebuffers(1, ref this._fb);
            GLES2Config.GlCheckError(this);

            this._numSamples    = 0;
            this._multiSampleFB = 0;

            /*Port notes
             * Ogre has a #if GL_APPLE_framebuffer_multisample
             * conditional here for checking if multisampling is supported
             * however GLenum doesn't contain members for what it's checking for
             * so this will skipped by default
             */

            //Will we need a second FBO to do multisampling?
            if (this._numSamples > 0)
            {
                GL.GenFramebuffers(1, ref this._multiSampleFB);
                GLES2Config.GlCheckError(this);
            }

            //Initialize state
            this._depth.buffer   = null;
            this._stencil.buffer = null;
            for (int x = 0; x < Axiom.Configuration.Config.MaxMultipleRenderTargets; x++)
            {
                this._color[x].buffer = null;
            }
        }
		public GLES2FBORenderTexture( GLES2FBOManager manager, string name, GLES2SurfaceDesc target, bool writeGamma, int fsaa )
			: base( name, target, writeGamma, fsaa )
		{
			this.fb.BindSurface( 0, target );

			width = this.fb.Width;
			height = this.fb.Height;
		}
Example #4
0
        public GLES2FBORenderTexture(GLES2FBOManager manager, string name, GLES2SurfaceDesc target, bool writeGamma, int fsaa)
            : base(name, target, writeGamma, fsaa)
        {
            this.fb.BindSurface(0, target);

            width  = this.fb.Width;
            height = this.fb.Height;
        }
 public GLES2FBOMultiRenderTarget(GLES2FBOManager manager, string name)
     : base(name)
 {
     this.fbo = new GLES2FrameBufferObject(manager, 0);               //Ogre TODO: multisampling on MRTs?
 }
		public GLES2FBOMultiRenderTarget( GLES2FBOManager manager, string name )
			: base( name )
		{
			this.fbo = new GLES2FrameBufferObject( manager, 0 ); //Ogre TODO: multisampling on MRTs?
		}