Exemple #1
0
 public static void MergeTexturesGradient(RenderTarget2D textureBack, RenderTarget2D textureFront, ref RenderTarget2D output, 
     int state, Graphics.Renderer renderer)
 {
     var fbo = renderer.CurFBO;
     renderer.EnableFBO(output);
     renderer.BeginUnscaled();
     renderer.Draw(textureBack, new Rectangle(0, 0, output.Width, output.Height), Color.White);
     renderer.End();
     renderer.MaskClear();
     renderer.MaskBeginDrawOnUnScaled();
     int h = output.Height;
     if (state > 0)
     {
         renderer.Draw(Graphics.GraphicsEngine.FadeTriangle,
             new Rectangle(0, 0, state, h), new Rectangle(0, 0, 1, 1), Color.White);
     }
     renderer.Draw(Graphics.GraphicsEngine.FadeTriangle,
         new Rectangle(state, 0, h, h),
         new Rectangle(0, 0, 256, 256),
         Color.White);
     if (state < output.Width - h)
     {
         //renderer.Draw(Graphics.GraphicsEngine.pixel,
         //    new Rectangle(state + h, 0,
         //        output.Width - state - h, h), Color.Black);
     }
     renderer.MaskUse();
     renderer.Draw(textureFront, new Rectangle(0, 0, output.Width, output.Height), Color.White);
     renderer.End();
     renderer.EnableFBO(fbo);
 }