OpenGL(七) GeometryInstancing 几何体实例化 2


几何体实例化( GeometryInstancing ),或者说实例渲染(Instanced Rendering),是一种用于大批量重复物件渲染的GPU技术,以降低客户端和显卡端数据传输量,所谓的“一次提交,多次渲染”。简单说来就是合并DrawCall。

原理

通过

可以绘制多次几何体,这样就可以实现合并。然而不同几何体都重叠在一起了,这就需要传入一个差异性参数。然后通过glVertexAttribDivisor来指定分组赋值规则,这就相当于for循环最后的++i

实现

首先先设定一个变量数组,并将它存入VBO中

绘制部分将这组VBO分组:

最后在shader中承接这组数据:

这样就可以在3个不同的位置绘制相同的物体,且只占用一次DrawCall。

总结

通过 GeometryInstancing 可以在OpenGL中,实现合并Drawcall。

本文出自 松阳论道 转载必须注明出处

http://blog.songyang.net/395.html


说点什么吧...

电子邮件地址不会被公开。 必填项已用*标注

2 thoughts on “OpenGL(七) GeometryInstancing 几何体实例化