OpenGL 线条粗细

3

我已成功使用GL_LINE_STRIP绘制了一个螺旋线。现在我想知道是否有可能使线条变粗。通过谷歌搜索,我意识到有两个选择。我可以创建三角形来制作四边形……或者以某种方式使用glLineWidth?我只想找到最简单的方法来实现它,以便支持我接下来要做的事情,即对特定的线段进行着色。

使用OpenGL ES 2.0


你是在问是否更简单只调用一次 glLineWidth(w) 还是编写一些代码创建四边形带?我认为由于 glLineWidth 只需要一个调用,所以更简单。(但请注意,这种方式限制了线宽到设备相关的最大值) - Thomas
1个回答

6

glLineWidth()函数如果符合您的需求,显然更容易使用。但是,在ES 2.0中有一个重要的注意事项:特定设备支持的最大线宽可能只有1.0。这意味着设备可以符合ES 2.0标准,但完全不支持宽线。

您可以使用以下代码获取支持的线宽范围:

GLfloat lineWidthRange[2];
glGetFloatv(GL_ALIASED_LINE_WIDTH_RANGE, lineWidthRange);
lineWidthRange[1] 将是最大支持的线宽。根据规范书表格6.18,这个限制的最小允许值为1。
因此,绘制实际宽度的几何图形(三角形)是唯一保证在不同设备上工作的方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接