示例#1
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch             = new SpriteBatch(GraphicsDevice);
            fx_textureToBlurSource  = Content.Load <Effect>("TextureToBlurSource");
            fx_combineTexturesDepth = Content.Load <Effect>("CombineTexturesDepth");
            cats        = Content.Load <Texture2D>("cats");
            ballTexture = Content.Load <Texture2D>("ball");

            paramBlurSrcWidth  = fx_textureToBlurSource.Parameters["w"];
            paramBlurSrcHeight = fx_textureToBlurSource.Parameters["h"];
            paramBlurSrcMovX   = fx_textureToBlurSource.Parameters["movX"];
            paramBlurSrcMovY   = fx_textureToBlurSource.Parameters["movY"];
            paramBlurSrcK      = fx_textureToBlurSource.Parameters["k"];
            passBlurSource     = fx_textureToBlurSource.CurrentTechnique.Passes[0];

            SpriteHandler.AddSprite("running", @"player\player", "running", GraphicsDevice);
            SpriteHandler.AddSprite("teste", "teste", GraphicsDevice);

            rtBlur       = new RenderTarget2D(GraphicsDevice, World.screenWidth / 2, World.screenHeight / 2, false, GraphicsDevice.PresentationParameters.BackBufferFormat, DepthFormat.None);
            rtBlurTemp   = new RenderTarget2D(GraphicsDevice, World.screenWidth / 2, World.screenHeight / 2, false, GraphicsDevice.PresentationParameters.BackBufferFormat, DepthFormat.None);
            rtBlurSource = new RenderTarget2D(GraphicsDevice, World.screenWidth, World.screenHeight, false, GraphicsDevice.PresentationParameters.BackBufferFormat, DepthFormat.None);
            rtBase       = new RenderTarget2D(GraphicsDevice, World.screenWidth, World.screenHeight, false, GraphicsDevice.PresentationParameters.BackBufferFormat, DepthFormat.None);
            rtPostBlur   = new RenderTarget2D(GraphicsDevice, World.screenWidth, World.screenHeight, false, GraphicsDevice.PresentationParameters.BackBufferFormat, DepthFormat.None);
            rtBlurInfo   = new RenderTarget2D(GraphicsDevice, World.screenWidth, World.screenHeight, false, GraphicsDevice.PresentationParameters.BackBufferFormat, DepthFormat.None);

            gaussianBlur.ComputeOffsets(World.screenWidth / 2, World.screenHeight / 2);
            // TODO: use this.Content to load your game content here
        }
示例#2
0
        public void DrawGame()
        {
            GraphicsDevice.SetRenderTarget(rtBase);
            //GraphicsDevice.Clear(Color.Black);
            spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend, null, null, null, null, camera.get_transformation(GraphicsDevice));

            //SpriteHandler.sprites["fall"].Draw(rand, spriteBatch, camera, new Vector2(0, 0), 1, 0, Vector2.Zero, Color.White, 1f, SpriteEffects.None);

            ////SpriteHandler.sprites["teste"].Draw(rand, spriteBatch, camera, new Vector2(40, 40), 1, 0, Vector2.Zero, Color.White, 1f, SpriteEffects.None);

            //SpriteHandler.sprites["teste"].Draw(rand, spriteBatch, camera, new Vector2(0, 0), 1, 0, Vector2.Zero, Color.White, 1f, SpriteEffects.None);

            //spriteBatch.Draw(cats, new Vector2(-400, -400), Color.White);

            //spriteBatch.Draw(ballTexture, ball.position, Color.White);
            SpriteHandler.Draw("teste", rand, spriteBatch, camera, ball.position, 1f, 0f, Vector2.Zero, Color.White, 1f, SpriteEffects.None);

            spriteBatch.End();
        }
示例#3
0
        protected void DrawBlurSource()
        {
            GraphicsDevice.SetRenderTarget(rtBlurSource);
            GraphicsDevice.Clear(Color.Transparent);
            fx_textureToBlurSource.CurrentTechnique.Passes[0].Apply();
            spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend, null, null, null, fx_textureToBlurSource, camera.get_transformation(GraphicsDevice));

            SpriteHandler.Draw("teste", rand, spriteBatch, camera, ball.position - ball.movement, GetBlurSourceScale(SpriteHandler.sprites["teste"].width, SpriteHandler.sprites["teste"].height, (int)ball.movementPrev.X, (int)ball.movementPrev.Y), 0f, Vector2.Zero, Color.White, 1f, SpriteEffects.None);

            /*
             * SpriteHandler.Draw("teste", rand, spriteBatch, camera, ball.position, GetBlurSourceScale(SpriteHandler.sprites["teste"].width, SpriteHandler.sprites["teste"].height, 100, 120), 0f, Vector2.Zero, Color.White, 1f, SpriteEffects.None);
             * SpriteHandler.Draw("teste", rand, spriteBatch, camera, ball.position - new Vector2(0, 200), GetBlurSourceScale(SpriteHandler.sprites["teste"].width, SpriteHandler.sprites["teste"].height, 100, -120), 0f, Vector2.Zero, Color.White, 1f, SpriteEffects.None);
             * SpriteHandler.Draw("teste", rand, spriteBatch, camera, ball.position - new Vector2(200, 0), GetBlurSourceScale(SpriteHandler.sprites["teste"].width, SpriteHandler.sprites["teste"].height, -100, 120), 0f, Vector2.Zero, Color.White, 1f, SpriteEffects.None);
             * SpriteHandler.Draw("teste", rand, spriteBatch, camera, ball.position - new Vector2(200, 200), GetBlurSourceScale(SpriteHandler.sprites["teste"].width, SpriteHandler.sprites["teste"].height, -100, -120), 0f, Vector2.Zero, Color.White, 1f, SpriteEffects.None);
             */
            //Draw a blur source
            //SpriteHandler.Draw("teste", rand, spriteBatch, camera, ball.position, GetBlurSourceScale(SpriteHandler.sprites["teste"].width, SpriteHandler.sprites["teste"].height, 50, 120), 0f, Vector2.Zero, GetBlurSourceParams(SpriteHandler.sprites["teste"].width, SpriteHandler.sprites["teste"].height, 50, 120), 1f, SpriteEffects.None);
            //SpriteHandler.Draw("teste", rand, spriteBatch, camera, ball.position + new Vector2(150 - SpriteHandler.sprites["teste"].width, -120 + SpriteHandler.sprites["teste"].height), GetBlurSourceScale(SpriteHandler.sprites["teste"].width, SpriteHandler.sprites["teste"].height, 150, -120), 0f, Vector2.Zero, GetBlurSourceParams(SpriteHandler.sprites["teste"].width, SpriteHandler.sprites["teste"].height, 150, 120), 1f, SpriteEffects.None);
            //SpriteHandler.Draw("teste", rand, spriteBatch, camera, ball.position + new Vector2(-150 + SpriteHandler.sprites["teste"].width, -120 + SpriteHandler.sprites["teste"].height), GetBlurSourceScale(SpriteHandler.sprites["teste"].width, SpriteHandler.sprites["teste"].height, -150, -120), 0f, Vector2.Zero, GetBlurSourceParams(SpriteHandler.sprites["teste"].width, SpriteHandler.sprites["teste"].height, 150, 120), 1f, SpriteEffects.None);
            //SpriteHandler.Draw("teste", rand, spriteBatch, camera, ball.position + new Vector2(-150 + SpriteHandler.sprites["teste"].width, 120 - SpriteHandler.sprites["teste"].height), GetBlurSourceScale(SpriteHandler.sprites["teste"].width, SpriteHandler.sprites["teste"].height, -150, 120), 0f, Vector2.Zero, GetBlurSourceParams(SpriteHandler.sprites["teste"].width, SpriteHandler.sprites["teste"].height, 150, 120), 1f, SpriteEffects.None);

            spriteBatch.End();
        }