我正在使用SharpDX(C#中的DirectX11)创建一个着色器,它从顶点着色器的输出中获取段( 2点)然后将它们传递给几何着色器,将线转换为矩形( 4点)并为四个角指定纹理坐标。
之后我想要一个片段着色器(它接收插值位置和插值纹理坐标),它检查“矩形的脊柱”的深度(即,在通过的行中)通过矩形的中间。
问题是我不知道如何提取矩形脊柱上相应片段的位置。发生这种情况是因为我插入了纹理坐标,但我不知道如何使用它们来获取我想要的片段,因为a)纹理的坐标系和b)我的片段在屏幕空间中的位置不是相同。
非常感谢您的帮助。
答案 0 :(得分:0)
我认为不可能在矩形的脊柱处提取相应片段的位置。但是对于每个片段,你有插值位置(所有,你需要得到它是将它传输到片段着色器,它将被插入每个片段)和纹理坐标。你为什么不能使用它?为什么需要找到准确的片段坐标?
此外,您可以在几何着色器中生成一些其他数据,以执行您想要的操作。