1

我正在使用 SharpDX(C# 中的 DirectX11)创建一个着色器,它从顶点着色器的输出中获取一个2 个点) ,然后将它们传递给一个几何着色器,它将这条线转换为一个矩形4 个点)并分配四个角是一个纹理坐标。

之后,我想要一个片段着色器(它接收插值位置和插值纹理坐标)来检查“矩形的脊椎”(即穿过矩形中间的线)的深度。

问题是我不知道如何在矩形的脊椎处提取相应片段的位置。发生这种情况是因为我插入了纹理坐标,但我不知道如何使用它们来获取我想要的片段,因为 a) 纹理的坐标系和 b) 我的片段在屏幕空间中的位置不是相同的。

非常感谢您的帮助。

4

1 回答 1

0

我认为不可能在矩形的脊椎处提取相应片段的位置。但是对于每个片段,你都有插值位置(所有,你需要得到它是将它传输到片段着色器,它将为每个片段进行插值)和纹理坐标。为什么你不能使用它?为什么需要准确地找到片段坐标?

此外,您可以在几何着色器中生成一些额外的数据来做您想做的事情。

于 2014-04-25T06:02:23.160 回答