3

我在opengl es中的android上画了一条线。线条画得很好。唯一的问题是,无论相机离它多近或多远,这条线都保持相同的粗细。有什么解决办法吗?

4

1 回答 1

5

OpenGL 以像素为单位以固定宽度绘制线条,与相机的距离无关。如果您需要厚度随相机距离而变化的“线”,则必须将它们绘制为多边形。

您可以使用 更改线宽glLineWidth(),但它仍将是固定宽度(以像素为单位)。此外,在 OpenGL ES 中,实现只需要支持高达 1.0 的线宽。

将线绘制为多边形至少有两种主要方法。一种是为每条线绘制一个四边形,并确保四边形朝向相机。另一种方法是绘制一个由多个多边形组成的“棒”(圆柱体)。根据您需要的精度,使用少至 4 个多边形来近似圆柱体可能就足够了,这基本上使它成为一个细长的盒子。

于 2014-06-30T17:30:35.620 回答