DirectX 9 HLSL发光效果

时间:2012-11-05 06:12:50

标签: hlsl directx-9

屏幕上有多个响铃,如图所示。 enter image description here要求说用户可以选择任何一个响铃并且所选择的响铃应该经历发光效果(发光几秒然后变为绿色)。enter image description here所有图形渲染都是使用DirectX 9完成的+ HLSL。我面临的问题:

  • 如何在着色器代码中区分选定的戒指与其他戒指,以便只能对该戒指应用发光效果。

2 个答案:

答案 0 :(得分:1)

您应该使用不同的rendertargets(Documentation of SetRenderTarget)。首先,将所有未选择的环渲染到后备缓冲区。然后将选定的环绘制为额外的纹理作为rendertarget。你的发光器使这个纹理发光,最后你将纹理渲染到后台。因此,你的绿色戒指正在发光,而其他戒指则不受发光器的影响。

答案 1 :(得分:0)

如果你想拥有发光的线条并且不使用发光效果器来制作其他任何东西,你可以使用“粗”线和适当的纹理使你的线条发光,如下图所示:

Methode

实现起来要容易得多,而且比其他方法快得多:)