WebGL-实例化绘制

发布时间 2023-04-05 17:25:29作者: 2086nmj

今天来学习webgl一个重要功能:Instanced Drawing(实例化绘制),内容翻译自webgl学习网站webglfundamentals(由于英语水平尽量按原文翻译):https://webglfundamentals.org/webgl/lessons/webgl-instanced-drawing.html。

WebGL下个版本(WebGL2.0)有一个功能叫实例化绘制。

它的基本思想是:一次绘制多个相同对象的效率要高于多次绘制同一个对象。这个功能在WebGL1.0标准可以通过扩展实现,目前大部分浏览器都支持这个功能。

首先我们来做一个示例:绘制同一个对象的多个实例。

         <!-- vertex shader -->

         <scriptid="3d-vertex-shader"type="x-shader/x-vertex">

         attribute vec4 a_position;

         uniform mat4 matrix;

         void main(){

           // Multiply the position by the matrix.

           gl_Position= matrix* a_position;

         }

         </script>

 

参考1:https://blog.csdn.net/weixin_35970195/article/details/114879410

参考2:https://mp.weixin.qq.com/s/s2QUCAO_6FHZs3SlT0lVag