2

是的,我刚刚进入 OpenGL ES,老实说,这非常令人生畏。

只需要一点指导来为我当前的挑战指明正确的方向。

我有一些生成 3D 球体的代码,该球体上映射有纹理(地球仪)。

我可以获取球体上的触摸坐标,并对此进行处理,但我的问题是如何向该球体添加另一个纹理?

我希望能够触摸地球然后“突出显示”特定区域,所以我有“突出显示图像”然后我想将该图像映射到触摸地球上。

该图像将在接触点处环绕球体。

我是否认为这是向已经纹理化的球体添加另一个纹理的情​​况?什么是正确的方法?

我只需要创建一个要映射的 2D 纹理还是需要一个 3D 纹理(有这样的东西吗?)

我需要重新纹理整个球体吗?

这一切都非常令人困惑,一些一般性的指针将不胜感激。

提前谢谢了!

4

1 回答 1

0

如果您有一个高光图像要应用于被触摸的点,那么简而言之,您可以首先将高光图像应用到基础纹理(只需在单独的渲染过程中将一个在另一个之上渲染),然后使用复合图像作为您的纹理。

需要考虑的事项:

  • 纹理坐标独立于几何体的坐标,所以如果你还没有,你应该计算出触摸点和纹理上的点(坐标对)之间的映射
  • 要使高光覆盖边缘,您必须设置适当的纹理参数 - 在这种情况下,GL_REPEAT应该可以

至于您的其他问题,是的,OpenGL 中有 3D 纹理;但是,我认为它们与您的任务无关。

于 2010-12-17T13:23:12.937 回答