如何在片段着色器中找到4个顶点之间的插值位置?

时间:2013-11-04 16:47:38

标签: geometry shader directx-11 fragment-shader geometry-shader

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

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

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

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

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

此外,您可以在几何着色器中生成一些其他数据,以执行您想要的操作。