0

如图所示,屏幕上有多个响铃。在此处输入图像描述要求说用户可以选择任何一个环,并且选择的环应该有发光效果(发光几秒钟然后变成绿色)。在此处输入图像描述所有图形渲染都将使用 DirectX 9 + HLSL 完成。我面临的问题:

  • 如何在着色器代码中将选定的环与其他环区分开来,以便只能将发光效果应用于该环。
4

2 回答 2

1

您应该使用不同的渲染目标(SetRenderTarget 的文档)。首先,您将所有未选择的环渲染到后缓冲区。然后将选定的环绘制到一个额外的纹理作为渲染目标。你的光晕着色器使这个纹理发光,最后你将纹理渲染到后台缓冲区。所以你的绿色环是发光的,而其他环不受发光着色器的影响。

于 2012-11-09T10:12:07.827 回答
0

如果您想要有发光的线条并且不使用发光着色器进行其他任何操作,您可以使用“粗”线条和适当的纹理使线条发光,如下图所示:

方法

这将比其他方法更容易实现并且更快:)

于 2012-12-30T18:21:41.233 回答