Any idea how to do it? I am drawing a rectangle that is supposed to be a half-transparent window. I managed to do the transparency by drawing a half-transparent texture, but I also want to blur whatever is under the window.
Normally (eg. using GDI) I would create a bitmap of the area, blur it and paint it as the background of my window. With Direct3D I don't even know how to get the area with whatever is already rendered on it. Or even there can be a different approach, can't it. Please help.Answer1:
The D3D way is to use a pixel shader to "blur" the area underneath your rect.
<a href="http://www.riemers.net/eng/Tutorials/DirectX/Csharp/Series3/Pixel_Shader.php" rel="nofollow">This</a> link shows you how to use a pixel shader in C#.<br /><a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=507209&whichpage=1�" rel="nofollow">And this</a> link has a guassian blur pixel shader.Answer2:
It DOES require having your backbuffer as a texture. You can then render the whole thing to a NEW texture and blur the relevant part before putting your semi-trans window over the new texture.
Edit: AFAIK you can't use the Draw function inside a shader. You will need to write your own sprite renderer. The Begin and Draw set up a whole load of states that will break your usage of a vertex shader.