<h5 dir="auto">Description of the problem</h5>
<p dir="auto">Rendering an InstancedBufferGeometry with no (used) attributes does not render.</p>
<p dir="auto">This happens when a shader uses only (implicit) gl_InstanceID and/or gl_VertexID,<br>
and user program establishes count with 'geom.maxInstancedCount = ...'<br>
(It only applies to WebGL2 as earlier shaders do not support this.)</p>
<p dir="auto">The internal value geometry._maxInstanceCount is never established, so<br>
var instanceCount = Math.min( geometry.instanceCount, geometry._maxInstanceCount );<br>
does not set a sensible value.</p>
<p dir="auto">A workaround is to set geometry._maxInstanceCount  in the user's program (eg to Infinity),<br>
but this is obviously not the correct solution.</p>
<h2 dir="auto"></h2>
<p dir="auto">With earlier versions of three.js (eg 109) a program could provide a 'dummy' attribute not actually used in the shader to establish count; but 117 is clever enough to realize this dummy is not used, and therefore does not take account of it in the count calculation.</p>
<h2 dir="auto"></h2>
<p dir="auto">example to follow</p>
<h5 dir="auto">Three.js version</h5>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Rel</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> r117</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> ...</li>
</ul>
<h5 dir="auto">Browser</h5>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> All of them</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Chrome</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Firefox</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Internet Explorer</li>
</ul>
<h5 dir="auto">OS</h5>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> All of them</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Windows</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> macOS</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Linux</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Android</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> iOS</li>
</ul>
<h5 dir="auto">Hardware Requirements (graphics card, VR Device, ...)</h5>
<p dir="auto">The ColladaLoader fails to load this model.<br>
<a href="https://raw.githubusercontent.com/0ad/0ad/master/binaries/data/mods/public/art/meshes/skeletal/elephant_african_bush.dae" rel="nofollow">https://raw.githubusercontent.com/0ad/0ad/master/binaries/data/mods/public/art/meshes/skeletal/elephant_african_bush.dae</a></p>
<p dir="auto">Results in this error (in Firefox):<br>
too much recursion ColladaLoader.js:3377:8</p>
<p dir="auto">Here is the fiddle.<br>
<a href="https://jsfiddle.net/L923p7ke/" rel="nofollow">https://jsfiddle.net/L923p7ke/</a></p>
<p dir="auto">I can provide more Collada files that reproduce this issue if requested <g-emoji class="g-emoji" alias="+1" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f44d.png">👍</g-emoji></p>