OpenGL Mipmapping(Android NDK)
http://en.wikipedia.org/wiki/Mipmap
这个是我这次在做安卓时遇到的问题
因为GPU的限制,纹理创建时的宽或高需为2的次方
就是1,2,4,8,16,32,64,128.......
图的宽高为31*52,直接作为纹理的宽高
在某些GPU是可以支援非2次方的宽高, 所以没有问题
但还是有很多GPU是不支援的
若是GPU不支援非2次方宽高,则glTexImage2D会产生GL_INVALID_VALUE(1281)的错误
所以就直接将所有的纹理创建为2次方的宽高
就解决了问题
实际实践手法是这样
1.读图
2.读取图的宽高
3.找出适合的纹理宽高(如5*9=>8*16, 31*55=>32*64)
4.用纹理宽高创建缓存
最后再用glTexImage2D创建纹理
这样就在绝大部分Android机子上能运行了
阅读更多
文章标签: android Android 游戏
个人分类: CloudBox Android
想对作者说点什么? 我来说一句

Android NDK中使用OpenGL

2014年04月09日 241KB 下载

没有更多推荐了,返回首页

不良信息举报

OpenGL Mipmapping(Android NDK)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭