我在opengl es中的android上画一条线.这条线画得很好.唯一的问题是,无论相机距离相机多近或多远,线条都保持相同的粗细.有什么解决办法吗?
解决方法:
OpenGL以固定的宽度(以像素为单位)绘制线,而与到相机的距离无关.如果您需要“线”的粗细随相机距离而变化,则必须将其绘制为多边形.
您可以使用glLineWidth()更改线宽,但它仍将是固定的宽度(以像素为单位).此外,在OpenGL ES中,仅需要实现即可支持最大1.0的线宽.
至少有两种将线绘制为多边形的主要方法.一种是为每条线绘制一个四边形,并确保该四边形朝向相机.另一种方法是绘制由多个多边形组成的“棒”(圆柱).根据所需的精度,使用最少4个多边形来近似圆柱体可能就足够了,这基本上使它成为一个细长的盒子.