First off, I think a pixel shader is overkill for what you have described. Using an animated sprite and drawing that on top of your scene is probably the way to go.
However, if you need to apply a full-screen pixel shader effect to your scene, this is the basic series of steps that you can research and perform:
Create a RenderTarget2D
.
Set the GraphicsDevice
to your new render target.
Render your existing scene as normal, which will put it on the
render target instead of the back buffer.
- Set the
GraphicsDevice
render target to the back buffer by setting it to
null
.
- Create a custom pixel shader.
- Using the
RenderTarget2D
as your source texture, and the pixel shader as your effect and SpriteBatch.Draw
the render target to your back buffer.
Now, as for the pixel shader itself, you will need to pass in a parameter that is controlled by your update method. This will control where you are highlighting the texture. You could also pass in another texture to multiply your scene by, etc.
Example code:
http://create.msdn.com/en-US/education/catalog/sample/sprite_effects