最近研究Cesium的實(shí)例化,盡管該技術(shù)需要在WebGL2.0,也就是OpenGL ES3.0才支持。調(diào)試源碼的時(shí)候眼前一亮,發(fā)現(xiàn)VAO和glDrawBuffers都不是WebGL1.0的標(biāo)準(zhǔn)函數(shù),都是擴(kuò)展功能,看來WebGL2.0標(biāo)準(zhǔn)的推廣勢(shì)在必行啊。同時(shí)發(fā)現(xiàn),通過ANGLE_instanced_arrays的擴(kuò)展,也可以在WebGL1.0下實(shí)現(xiàn)實(shí)例化,創(chuàng)建實(shí)例化方法的代碼如下:
var
glDrawElementsInstanced; var glDrawArraysInstanced; var glVertexAttribDivisor; var instancedArrays; // WebGL2.0標(biāo)準(zhǔn)直接提供了實(shí)例化接口 if (webgl2) { glDrawElementsInstanced =