【问题标题】:Rendering large textures on iOS OpenGL在 iOS OpenGL 上渲染大纹理
【发布时间】:2011-03-31 21:14:04
【问题描述】:

我正在开发一个 iPad 2 应用程序,它将使用 Cinder 在物理空间顶部叠加全景视图。

全景图像约为 12900x4000 像素;它们是从网络上加载的。

现在加载图片的行是:

mGhostTexture = gl::Texture(loadImage(loadUrl("XXX.jpg")));

适用于小图像(例如 500x500)。对于完整图像来说不太好(渲染的纹理变成一个大的白框)。

我假设我达到了大小限制。有谁知道在 openGL 和/或 Cinder 中渲染或分割大图像的方法?

【问题讨论】:

  • 上次我检查时,OpenGL ES 中的纹理必须是 2 的幂,不过情况可能已经改变。 (不回答您的问题,但希望对您有所帮助)并且最大纹理大小因设备而异,但 iPhone 3GS+ 的最大纹理大小为 2048x2048

标签: ipad opengl-es textures


【解决方案1】:

对于 OpenGL ES 2.0:

“最大 2D 或立方体贴图纹理大小为 2048 x 2048。这也是最大渲染缓冲区大小和视口大小。”1

另外,这里似乎有一个解决方案:

Using libpng to "split" an image into segments

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-27
    • 1970-01-01
    • 1970-01-01
    • 2014-08-09
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多