在 OpenGL ES iPhone 中加载非二次方图像
有谁知道将大小不是 2 的幂的纹理加载到 OpenGL ES 中的有效方法吗?我是 OpenGL 新手,正在为 iPhone 开发 2D 游戏,并且已经制作了很多纹理。返回并将所有纹理的大小调整为 2 的幂将是非常乏味的工作。
Does anyone know an efficient way to load textures into OpenGL ES that are not in sizes of a power of two? I am new to OpenGL, and I'm working on a 2D game for iPhone and I have a lot of textures already made. It would be very tedious job to go back and resize all of my textures to a power of two.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
出于性能原因,最好将所有精灵放入图集中。图集是一个大型纹理,其中包含所有精灵。有一些工具可以自动化这个过程。例如,TexturePacker: http://www.texturepacker.com/
根据您使用的技术,您可以可能必须解析纹理打包器的输出才能获取 UV 偏移。
For performance reasons, it's best to putt all your sprites into an atlas. An atlas is a large texture, that contains all your sprites. There are tools to automate this process. For example TexturePacker: http://www.texturepacker.com/
Depending on which technology you're using, you might have to parse the output from texture packer to get the UV-Offsets.
image 是源图像,大小不等于 2,result 是可以传递给 OpenGL 的图像
image is the source image which size is non pow of 2, result is the image you can pass to OpenGL