Opengl 在片段着色器(GLSL)中获取曲面大小

Opengl 在片段着色器(GLSL)中获取曲面大小,opengl,glsl,Opengl,Glsl,我正在为我的网格编写一个着色器,它有3维不同大小的三角形。因此,如果我在片段阶段“模糊”或羽化,我会得到相同数量的模糊,尽管我要分割的三角形大小不同。有些三角形很大,有些很小 我想要一个参考值,以得到三角形的正确比例 有没有办法得到三角形的长度,这样我的UV坐标旁边就有了一个刻度 请找到此图像以显示我的意思:。我想得到#3的结果 我在OpenGL工作,GLSL。 谢谢你的帮助 我用几何体着色器解决了这个问题。您考虑过使用dfdx和dfdy()吗?有了它,你可以检查当前碎片与相邻碎片的距离,这样你

我正在为我的网格编写一个着色器,它有3维不同大小的三角形。因此,如果我在片段阶段“模糊”或羽化,我会得到相同数量的模糊,尽管我要分割的三角形大小不同。有些三角形很大,有些很小

我想要一个参考值,以得到三角形的正确比例

有没有办法得到三角形的长度,这样我的UV坐标旁边就有了一个刻度

请找到此图像以显示我的意思:。我想得到#3的结果

我在OpenGL工作,GLSL。
谢谢你的帮助

我用几何体着色器解决了这个问题。

您考虑过使用dfdx和dfdy()吗?有了它,你可以检查当前碎片与相邻碎片的距离,这样你就可以测量出你在三角形中“行走”了多少,如果您确实需要一个值来跟踪三角形面积的比例或顶点相对于下一个顶点的边的长度(按CW或CCW顺序),您可以添加一个顶点属性,并在将三角形发送到GPU之前在CPU上预计算这些属性。无法真正弄清楚如何从DFDX开始。。。。你的第二个选择是最终的方式,我认为…我认为你可以在几何体着色器中计算这些值,但是如果你的网格是静态的,如果你可以在将它们发送到GPU之前预计算这些值,我想那会更好。