我的目标是在柏油路上绘制白色线条。由于道路的特性发生变化,所以不能只有代表沥青和白线的纹理。 当前的方法是应用沥青纹理并在其他两个纹理坐标中编码一些信息。在像素着色器中,读取这些坐标,我决定该片段是否应该是白色的。在纹理顶部绘制程序线,避免在glsl中出现锯齿
这会导致高水平的别名。这就是我想要解决的问题。
我一直在改变应用smothsetp或线性插值线的“白度”。我也根据距相机的距离改变了宽度和颜色。这有点帮助,但是在很远的距离,仍然存在丑陋的锯齿线。
你会怎么做呢?有纹理表示平滑的白线并访问纹理元素会更好吗?我应该使用双线性滤波器来访问相邻的纹素吗?
您能否详细介绍一下“道路变化的原因,所以我不能使用代表沥青和白线的纹理”?为什么你不能从预渲染的集合中选择正确的纹理并将它们拼接在一起?也许我们可以提出一种方法来克服你在这方面遇到的问题,将“白线”问题默认为普通的纹理。 –
至于实际的问题,你可以尝试使用Humus(http://www.humus.name/index.php?page=3D&ID=84)勾画出的贴花技术,但只应用于白线(如你已经覆盖了沥青)。 –
谢谢@ Paul-Jan 我会仔细检查链接,看起来很有希望。 至于另一个问题: 道路可以在运行时由用户编辑(宽度,车道数量,路口,涂漆的签名......)。 要做到这一点,只能创建一堆纹理并将它们正确地附着在几何体上,但我认为改变编码方式(通过额外的纹理坐标传递)会更容易和更灵活。我可能在那里采取了错误的做法,但到目前为止,除了别名之外,我一直在取得好成绩。 – josepcn