当要绘制同一个东西很多次的时候,最简单的想法可能是循环调用glDrawArrays(),但这样会造成性能的损失。因为当显卡在渲染一个物体的时候,可能并不需要太多时间,但系统会花大量的时间,频繁的调用draw命令,再将这些命令发给opengl。这就是问题所在。
那实例化渲染是opengl提供的一种方法:可以在一个方法里绘制同个几何体的多个副本。
这个方法最简单的版本:
1 void glDrawArraysInstanced(GLenum target, GLint first, GLsizei count, GLsizei instancecount)