提交 c49ac084 编写于 作者: A Anton

fix statistics calculation for instanced geometry

上级 3f5ac212
...@@ -37,11 +37,23 @@ THREE.WebGLBufferRenderer = function ( _gl, extensions, _infoRender ) { ...@@ -37,11 +37,23 @@ THREE.WebGLBufferRenderer = function ( _gl, extensions, _infoRender ) {
if ( position instanceof THREE.InterleavedBufferAttribute ) { if ( position instanceof THREE.InterleavedBufferAttribute ) {
extension.drawArraysInstancedANGLE( mode, 0, position.data.count, geometry.maxInstancedCount ); var count = position.data.count;
extension.drawArraysInstancedANGLE( mode, 0, count, geometry.maxInstancedCount );
_infoRender.calls ++;
_infoRender.vertices += count * geometry.maxInstancedCount;
if ( mode === _gl.TRIANGLES ) _infoRender.faces += geometry.maxInstancedCount * count / 3;
} else { } else {
extension.drawArraysInstancedANGLE( mode, 0, position.count, geometry.maxInstancedCount ); var count = position.count;
extension.drawArraysInstancedANGLE( mode, 0, count, geometry.maxInstancedCount );
_infoRender.calls ++;
_infoRender.vertices += count * geometry.maxInstancedCount;
if ( mode === _gl.TRIANGLES ) _infoRender.faces += geometry.maxInstancedCount * count / 3;
} }
......
...@@ -53,6 +53,9 @@ THREE.WebGLIndexedBufferRenderer = function ( _gl, extensions, _infoRender ) { ...@@ -53,6 +53,9 @@ THREE.WebGLIndexedBufferRenderer = function ( _gl, extensions, _infoRender ) {
extension.drawElementsInstancedANGLE( mode, count, type, start * size, geometry.maxInstancedCount ); extension.drawElementsInstancedANGLE( mode, count, type, start * size, geometry.maxInstancedCount );
_infoRender.calls ++;
_infoRender.vertices += count * geometry.maxInstancedCount;
if ( mode === _gl.TRIANGLES ) _infoRender.faces += geometry.maxInstancedCount * count / 3;
} }
this.setMode = setMode; this.setMode = setMode;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册