3月 2010

Android平台中BitmapFactory.decodeResource对GL程序材质的影响

在Android平台下实现OpenGL ES程序的贴图加载操作一般是通过BitmapFactory.decodeResource这个api,然后用系统封装好的GLUtils.texImage2D函数直接转换为gl贴图即可,方便快捷。但在较新版的Android系统中res中的图片文件夹根据dpi设备分辨率的不同,细分了很多文件夹处理以支持不同设备的分辨率加载对应的图片,如drawable-hdpi,drawable-ldpi,drawable-mdpi等,如果没有注意这个问题而将贴图图片随意安置的话,在decode的时候系统会默认根据设备dpi的不同对目标图片格式解码的同时进行大小调整,也就是说有可能破坏原本已经是2^n大小的贴图图片,导致原本在模拟器上正确的绘图在真机上变成大白板!
解决这个问题的方法可以将图片放到不受dpi影响的drawable-nodpi中,或者设置BitmapFactory的选项,不处理dpi相关问题。

Max SDK Wizard For VC9(VS2008)

http://www.k-res.net/dl/maxtemp.rar

基于原作者Eric Feng的2005版本稍作修改,感谢原作者!
安装方法:解压压缩包内内容到任意位置,不要执行里面的js,那些是原作者2k5版本的自动安装脚本。复制其中3dsmaxPluginWizard.ico,3dsmaxPluginWizard.vsdir,3dsmaxPluginWizard.vsz到vc9的项目模板文件夹(如:D:\Program Files\Microsoft Visual Studio 9.0\VC\vcprojects),用记事本修改vsz文件,将Param=”ABSOLUTE_PATH = D:\Program Files\3dsmaxPluginWizard\Files”中的路径换成刚解压的对应文件夹绝对路径就ok了