instancing render
当要绘制同一个东西很多次的时候,最简单的想法可能是循环调用glDrawArrays(),但这样会造成性能的损失。因为当显卡在渲染一个物体的时候,可能并不需要太多时间,但系统会花大量的时间,频繁的调用draw命令,再将这些命令发给opengl。这就是问题所在。
那实例化渲染是opengl提供的一种方法:可以在一个方法里绘制同个几何体的多个副本。
这个方法最简单的版本:
1 void glDrawArraysInstanced(GLenum target, GLint first, GLsizei count, GLsizei instancecount)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步