Skip to content

The Stats component needs to hook into the drawElementsInstanced, drawArraysInstanced, drawElementsInstancedANGLE, and drawArraysInstancedANGLE methods. #265

@jtabibito

Description

@jtabibito

When I try to draw a mesh using GPU Instancing, the stats show 0 draw calls and 0 triangles.
Here is my solution.
`

if (gl instanceof WebGL2RenderingContext) {
  this.realDrawElementsInstanced = gl.drawElementsInstanced;
  this.realDrawArraysInstanced = gl.drawArraysInstanced;

  gl.drawElementsInstanced = this.hookedDrawElementsInstanced.bind(this);
  gl.drawArraysInstanced = this.hookedDrawArraysInstanced.bind(this);
} else {
  const ext = gl.getExtension("ANGLE_instanced_arrays");
  if (ext) {
    this.realDrawElementsInstanced = ext.drawElementsInstancedANGLE;
    this.realDrawArraysInstanced = ext.drawArraysInstancedANGLE;

    ext.drawElementsInstancedANGLE = this.hookedDrawElementsInstanced.bind(this);
    ext.drawArraysInstancedANGLE = this.hookedDrawArraysInstanced.bind(this);
  }
}

`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions