0

有没有办法在 OpenGL-ES 中使用巨型图像条加载立方体贴图?(或桌面 GL 或扩展,任何东西)

例如,GLKTextureLoader如果垂直排序,类会立即加载立方体贴图。我想知道这个特性有一些 GL 函数,或者这个类在加载时只是分割纹理。当然,我可以使用这个类,但我想知道在加载长图像提示或为每侧分隔 6 个图像之间哪个更有效。

4

1 回答 1

1

我的猜测是,这个函数确实只是在加载图像文件后将图像分成 6 组面,然后使用这些通过标准立方体贴图调用来生成标准立方体贴图:

glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X...)
glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_Y...)
etc

请注意,GLKTextureLoader 类还定义了 cubeMapWithContentsOfFiles,它允许您指定 6 个单独的图像文件来定义面部纹理。

您可以检查使用 6 文件输入与立方体条输入 (cubeMapWithContentsOfFile) 设置立方体贴图所需的时间。哪个运行得更快取决于加载 6 个文件是否比加载一个大文件并让方法将其拆分更快。否则,我敢打赌这两个函数之间的所有其余代码都是相同的,并使用上述标准立方体贴图纹理调用。

由于 GLKit 是 Apple 专有的,我们不能像使用大多数 OpenGL 函数那样只查看源代码。

于 2012-10-26T17:11:49.780 回答