
Security News
Feross on the 10 Minutes or Less Podcast: Nobody Reads the Code
Socket CEO Feross Aboukhadijeh joins 10 Minutes or Less, a podcast by Ali Rohde, to discuss the recent surge in open source supply chain attacks.
A tool capturing the webgl instructions to monitor the number of drawcalls & other performance-related commands.
A small utility to monitor WebGL2 drawcalls and other performance-related methods. Like a pocket-sized SpectorJS for quick peek at your pipeline.
npm i webgl-spy
import WebglSpy from 'webgl-spy'
const spy = new WebglSpy(context)
// three.js: new WebglSpy(renderer.getContext())
// ogl: new WebglSpy(renderer.gl)
// babylon: new WebglSpy(engine._gl)
function render() {
requestAnimationFrame(update)
spy.startCapture()
renderer.render(scene, camera)
const calls = spy.endCapture()
}
calls is an array of { draw, program? } listing at minima the draw method name and the shader name, if available.
Other info can be
{action: 'bindFramebuffer ID - 0', type: 'bind'}
{action: 'clear: DEPTH, STENCIL, COLOR', type: 'clear'}
{action: 'drawElements: TRIANGLES, 60192 indices', program: 'TreeMaterial', type: 'draw'}
{action: 'bindFramebuffer', type: 'bind'}
{action: 'drawArrays: TRIANGLES, 0 indices, 3 vertices', program: 'Unnamed shader', type: 'draw'}
{action: 'clear: DEPTH', type: 'clear'}
Creates a new instance to monitor the given WebGL2RenderingContext.
Call before any drawing operation (setRenderTarget, clear, etc).
Call after everything has been rendered. Returns an array of calls. Can be filtered by type (draw, clear, bind).
Restore the context by removing spies. Probably not needed.
This is a simple proof of concept and might not get developed further. If it happens, some ideas:
BabylonJS' great SpectorJS extension for a lot of the ideas, constants & spy pattern implementation.
threejs for the draw methods (WebGLIndexedBufferRenderer.js and WebGLBufferRenderer.js)
spite for getting everyone to implement the #define SHADER_NAME hint
Active Theory's Hydra for the console.log idea
FAQs
A tool capturing the webgl instructions to monitor the number of drawcalls & other performance-related commands.
The npm package webgl-spy receives a total of 1 weekly downloads. As such, webgl-spy popularity was classified as not popular.
We found that webgl-spy demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Socket CEO Feross Aboukhadijeh joins 10 Minutes or Less, a podcast by Ali Rohde, to discuss the recent surge in open source supply chain attacks.

Research
/Security News
Campaign of 108 extensions harvests identities, steals sessions, and adds backdoors to browsers, all tied to the same C2 infrastructure.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.