我正在尝试在OpenGL中绘制一个或多或少平滑的多段线.然而,我发现如果线的厚度大约为3,则段之间的连接不是无缝的.他们之间有时会有差距.是否有一种很好的方法可以使这些连接平滑无间隙?我正在寻找类似于Java中的BasicStroke.JOIN_MITER的东西.
使用OpenGL绘制思考线的最一致和最便携的方法是使用相机对齐(否则称为广告牌)多边形.OpenGL API的不同实现以不同方式处理行的端点,并GL_LINE_SMOOTH根据平台产生截然不同的结果.一些实现认为厚度大于1的线是不明确的.如glLineWidth联机帮助页中所述:[对于抗锯齿线条]仅保证支持宽度1; 其他人依赖于实施.
话虽这么说,我使用了一个简单的2通道黑客来解决这个问题.
您可能还想使用深度缓冲设置.线之间的"间隙"可能是由于第二行未对与背景进行alpha混合的像素进行深度测试.