12. Html5的局:WebGL跨平台的取与舍
紧接上文
在阅读WebKit源码中,讨论了Canvas在iOS平台使用的CoreGraphics框架作为渲染的工具,它运行在CPU上。WebGL是直接运行在GPU上的API,因此优化空间更大,对程序员要求更高。这次我们看看,WebGL如何对格式转换的,为我们后续three.js导入数据模型做铺设。
常见的纹理格式
OpenGL ES2.0在多终端的差异
在WebKit中,默认支持纹理格式,主要有:
现实却是很残酷,iOS设备以上格式都是支持的,Android设备差异化就不同了,简单的说,要想确认Android是否支持某种纹理,只需要在glext.h文件中查找宏定义即可.
比如,在Android的glext.h中,却无此定义,而在iOS的OpenGL ES2.0库中,我们可以找到
#define GL_RGB16F_EXT
