在纹理上绘制程序线,避免在 glsl 中出现锯齿



我的目标是在柏油路上画白线。由于道路的属性会发生变化,因此不能只存在同时代表沥青和白线的纹理。当前的方法是应用沥青纹理,并在其他两个纹理坐标中编码一些信息。在像素着色器中,读取这些坐标,我决定该片段是否应该是白色的。

这会导致高级别的锯齿。这就是我想尝试解决的问题。

我一直在更改线的"白度",应用平滑步或线性插值。我还根据与相机的距离更改了宽度和颜色。这有点帮助,但在很远的距离,仍然有丑陋的锯齿线。

你会怎么继续做下去?让纹理代表平滑的白线并访问纹素会更好吗?我应该实现访问相邻纹素的双线性滤波器吗?

您应该简单地使用 2 个纹理和 2 个坐标。

  1. 小无缝沥青纹理平铺在道路多边形上。
  2. 使用 alpha 标记纹理,将其放置在此多边形的中间(纹理坐标偏移)

或者,您可以在道路中间为标记创建额外的多边形,以避免出现任何锯齿。

为了使一切看起来真实,您可以应用带有污垢和裂缝的纹理轰炸。

相关内容

  • 没有找到相关文章

最新更新