DIRECT3D / C# - 在精灵绘制一个矩形下模糊区域(Direct3d/C# - Blur

2019-10-17 20:27发布

任何想法,该怎么办呢? 我绘制应该是一个半透明窗口的矩形。 我设法通过绘制一个半透明的质感做的透明度,但我也想模糊无论是窗下。

通常情况下(例如使用GDI)我想创建区域的位图,它模糊和油漆它作为我的窗口背景。 随着Direct3D的我甚至不知道如何与任何已经呈现在它的区域。 甚至可以有不同的方法,不就可以了。 请帮忙。

Answer 1:

在D3D的方法是使用像素着色器,以“模糊”的矩形下方的区域。

此链接显示如何使用C#中的像素着色器。
而这个环节有一个高斯模糊像素着色器。



Answer 2:

它需要有你的后备缓冲作为纹理。 然后,可以使整个事情到一个新的纹理,并把你的半反式窗口,在新的纹理模糊之前的相关部分。

编辑:据我所知,你不能使用着色器内的绘图功能。 您需要编写自己的精灵渲染器。 BEGIN和抽奖设置状态,将打破你的顶点着色器的使用的整个负载。



文章来源: Direct3d/C# - Blur area under a rectangle drawn on a sprite