當要繪制同一個東西很多次的時候,最簡單的想法可能是循環調用glDrawArrays(),但這樣會造成性能的損失。因為當顯卡在渲染一個物體的時候,可能并不需要太多時間,但系統會花大量的時間,頻繁的調用draw命令,再將這些命令發給opengl。這就是問題所在。
?
那實例化渲染是opengl提供的一種方法:可以在一個方法里繪制同個幾何體的多個副本。
這個方法最簡單的版本:
1 void glDrawArraysInstanced(GLenum target, GLint first, GLsizei count, GLsizei instancecount)
?