OpenGL Mipmapping(Android NDK)

原创 2012年12月19日 11:18:06
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 NDK 进行 OpenGL ES开发

http://www.linuxgraphics.cn/android/ndk_opengl.html NDK 简介 Android SDK 提供了一套 OpenGL ES 接口,该接...
  • cc_lq
  • cc_lq
  • 2011年10月28日 14:28
  • 280

android ndk调用OpenGL 实现纹理贴图Texture

首先必须说,国内在OpenGL这方面特别是ndk上的分享太太太少 这中间遇到很多问题,而这些问题需要在书上,在网上,在各种资料上找,而且书上是java层调用,网上的缺少各种文件案例,只有在java...

Android NDK Opengl es开发初步接触

最近研究fastcv的sample, 其中用到了opengl es,而之前从未接触过,所以第一次接触opengl es开发,我想以一个最简单的例子帮助自己入门! 首先,创建一个自己的MyGLSurf...

[Android NDK]Android JNI开发例子 ---3 在JNI中实现openGL功能

Java部分与例子2相似。 MainActivity.java public class MainActivity extends Activity { GLSurfaceView mG...

【OpenGL】Android NDK与OpenGL显示png图片(native方式)

Android NDK与OpenGL显示png图片(native方式) 源代码链接: NDK使用: libpng-1.6.15 zlib-1.2.8 Android.mk # Copyright...

Android NDK *** could not be resolved

  • 2014年12月04日 18:02
  • 2.42MB
  • 下载

ANDROID NDK

  • 2014年12月08日 14:14
  • 507KB
  • 下载

Android NDK开发(二)——JNI访问和引用JAVA对象

引用 Java 对象基本类型(如整型、字符型等)在 Java 和平台相关代码之间直接进行复制。而 Java 对象由引用来传递。虚拟机必须跟踪传到平台相关代码中的对象,以使这些对象不会被垃圾收集器释放。...
  • ljtyzhr
  • ljtyzhr
  • 2015年11月01日 23:24
  • 268
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OpenGL Mipmapping(Android NDK)
举报原因:
原因补充:

(最多只允许输入30个字)