我已成功使用GL_LINE_STRIP
绘制了一个螺旋线。现在我想知道是否有可能使线条变粗。通过谷歌搜索,我意识到有两个选择。我可以创建三角形来制作四边形……或者以某种方式使用glLineWidth
?我只想找到最简单的方法来实现它,以便支持我接下来要做的事情,即对特定的线段进行着色。
使用OpenGL ES 2.0
我已成功使用GL_LINE_STRIP
绘制了一个螺旋线。现在我想知道是否有可能使线条变粗。通过谷歌搜索,我意识到有两个选择。我可以创建三角形来制作四边形……或者以某种方式使用glLineWidth
?我只想找到最简单的方法来实现它,以便支持我接下来要做的事情,即对特定的线段进行着色。
使用OpenGL ES 2.0
glLineWidth()
函数如果符合您的需求,显然更容易使用。但是,在ES 2.0中有一个重要的注意事项:特定设备支持的最大线宽可能只有1.0。这意味着设备可以符合ES 2.0标准,但完全不支持宽线。
您可以使用以下代码获取支持的线宽范围:
GLfloat lineWidthRange[2];
glGetFloatv(GL_ALIASED_LINE_WIDTH_RANGE, lineWidthRange);
lineWidthRange[1]
将是最大支持的线宽。根据规范书表格6.18,这个限制的最小允许值为1。
glLineWidth(w)
还是编写一些代码创建四边形带?我认为由于 glLineWidth 只需要一个调用,所以更简单。(但请注意,这种方式限制了线宽到设备相关的最大值) - Thomas