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

Geometry 如何在片段着色器中找到4个顶点之间的插值位置?,geometry,shader,directx-11,fragment-shader,geometry-shader,Geometry,Shader,Directx 11,Fragment Shader,Geometry Shader,我正在使用SharpDX(C#中的DirectX11)创建一个着色器,该着色器从顶点着色器的输出中获取一个段(2点),然后将它们传递给几何体着色器,几何体着色器将这条线转换为一个矩形(4点)并为四个角指定纹理坐标 之后,我需要一个片段着色器(接收插值位置和插值纹理坐标),用于检查“矩形的脊椎”(即通过矩形中间的直线)处的深度 问题是我不知道如何提取矩形脊椎处相应碎片的位置。发生这种情况是因为我插值了纹理坐标,但我不知道如何使用它们来获得我想要的碎片,因为a的坐标系)纹理和b)我的碎片在屏幕空间中

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

之后,我需要一个片段着色器(接收插值位置和插值纹理坐标),用于检查“矩形的脊椎”(即通过矩形中间的直线)处的深度

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


非常感谢您的帮助。

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


此外,您还可以在几何体着色器中生成一些附加数据以执行所需操作。

如果您发布着色器的HLSL代码,我可能会提供更好的帮助,但如果没有代码,我就做不了什么。此外,在DirectX中,片段着色器被称为像素着色器,这是一个挑剔的地方。