<p dir="auto">Docs says "The array can either be a regular Array or a Typed Array.", but unless I use a typed array I get the following error:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="glDrawArrays: attempt to access out of range vertices in attribute 0"><pre class="notranslate"><code class="notranslate">glDrawArrays: attempt to access out of range vertices in attribute 0
</code></pre></div>
<p dir="auto">Is this a bug? It's convenient to be able to use regular arrays because then the buffer is expanded as needed when you use <code class="notranslate">BufferGeometry.merge</code>. Otherwise I'll have to precalculate the final vertex count or convert the regular array in BufferAttribute to a typedarray somehow.</p>
<h1 dir="auto">Deferred rendering</h1>
<p dir="auto">Forward rendering doesn't fit well with most advanced use cases, and when it does - it lacks performance. I want to see a Deferred, Tiled renderer as the main renderer in three.js, not something relegated to /examples folder.</p>
<h3 dir="auto">Motivation</h3>
<p dir="auto">Any kind of post processing you want to have today requires you to build part of the pipeline, depth buffer, normals and colour also. This results in duplicated effort for the hardware in most cases resulting in sub-optimal performance.<br>
If you wish to have any kind of sub-system which relies on a G-buffer, such as G-buffer based decal system which writes into colour+normal buffers - you require what three.js doesn't have.</p>
<h3 dir="auto">Some useful links:</h3>
<ul dir="auto">
<li><strong>XG</strong> by Alteredqualia: <a href="http://alteredqualia.com/xg/examples/earth_bathymetry.html" rel="nofollow">http://alteredqualia.com/xg/examples/earth_bathymetry.html</a> (more <a href="http://alteredqualia.com/" rel="nofollow">http://alteredqualia.com/</a>)</li>
<li><strong>Deferred Irradiance Volumes</strong> by pyalot: <a href="http://codeflow.org/webgl/deferred-irradiance-volumes/www/" rel="nofollow">http://codeflow.org/webgl/deferred-irradiance-volumes/www/</a> (github <a href="https://github.com/pyalot/webgl-deferred-irradiance-volumes">https://github.com/pyalot/webgl-deferred-irradiance-volumes</a>)</li>
<li><strong>Tiled Deferred Renderer</strong> by tiansijie: <a href="http://tiansijie.github.io/Tile_Based_WebGL_DeferredShader/" rel="nofollow">http://tiansijie.github.io/Tile_Based_WebGL_DeferredShader/</a> (source <a href="https://github.com/tiansijie/Tile_Based_WebGL_DeferredShader">https://github.com/tiansijie/Tile_Based_WebGL_DeferredShader</a>)</li>
</ul>
<p dir="auto">born as a result of this issue: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="312474909" data-permission-text="Title is private" data-url="https://github.com/mrdoob/three.js/issues/13807" data-hovercard-type="issue" data-hovercard-url="/mrdoob/three.js/issues/13807/hovercard" href="https://github.com/mrdoob/three.js/issues/13807">#13807</a></p>