我需要在android中使用opengl es绘制一个旋转的地球仪.我认为我们需要绘制一个球体,然后在其上应用纹理贴图.如果我是正确的,我们不能在Opengl ES中使用实用程序库glu来绘制球体.我确实在目标C中找到了一些代码,但是我必须让它在android上运行.
http://www.iphone4gnew.com/procedural-spheres-in-opengl-es.html
有没有其他方法可以做到这一点?我不知道如何处理这个问题,你能给我一些输入,让我看起来正确的方向.
谢谢
您实际上可以创建自己的球体渲染功能.
一个镶嵌的球体不再是一堆n个锥形段,每个锥形段用m个切片近似.
这张图片(dglwiki.de的courtsey)说明了这一点:

(德语文本转换为'如果分辨率低,则球体退化为其他对称体)
为了构造球体,您需要指定中心点,半径,堆栈数和每个堆栈的切片数.
球体的第一个极点可以是距离中心点半径距离的任何点.从该点到中心点的矢量定义了球体的旋转轴(从而定义了第二个杆的位置)
接下来,您需要在旋转轴周围的球体上近似几个等距的纬度圆.圆圈数应为堆栈数-1.这些圆中的每一个都应具有与所需切片数一样多的顶点.
计算完这些后,您就可以获得足够的几何信息来构建球体面.
首先使用第一个圆的顶点,在一个极点处产生三角形扇形.然后,为每对相邻的纬度圈构造三角形条带.最后一步是从第二个极点到纬度圈的最后一个构建另一个三角形扇形.
使用此方法,您可以生成任意平滑的任意球体
| 归档时间: |
|
| 查看次数: |
2479 次 |
| 最近记录: |