Skip to content

XanderLuciano/webgl-devtools

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

A WebGL debugging toolkit providing a variety of capabilities enabling more productive WebGL development and more efficient WebGL applications.

Features

  • Chrome Extension embedded in the Chrome DevTools panel
  • Overdraw Inspector
  • Mipmap Inspector
  • Depth Inspector
  • Call Stack Timeline and Statistics
  • Program Usage Count
  • Duplicate Program Usage Detector
  • Program Viewer
  • Frame Control
  • State Variable Editor
  • Resource Viewer

Installation & Usage

Install Insight from the Chrome Web Store.

The original creator has abandoned this project. I have compiled together various PR's and bug fixes in order to just restore this project to functional state after 2 years of inactivity.

When the extension is installed, open up the Chrome DevTools panel, click on the "WebGL" tab, and browse to a WebGL application.

Inspector

Overdraw Inspector

Detects how how many times a pixel has been drawn. The color ranges from green to red. Red shows a pixel that has been overdrawn multiple times while green is drawn on clear.

Before After

Mipmap Inspector

Displays the mipmap levels for a selected texture in different colors. Depending on how many mipmap levels there are and the maximum mipmap level, the colors will vary. This can be used to show whether certain mipmap levels of a selected texture is used.

Before After

Depth Inspector

Displays the relative depths of the pixels being drawn. Lighter values are further away whereas darker values are closer.

Before After

Call Stack Timeline and Statistics

Collects WebGL calls in a timeline.

Call Timeline

Counts WebGL calls during that time and displays the result in a histogram.

Call Statistics

Program Usage Count

Record how many times each shader program has been called by useProgram.

Program Usage

Duplicate Program Usage Detection

Detects whether there are any duplicate useProgram calls on the same program.

Duplicate Usage

Program Viewer

Program View

Frame Control

Pauses and controls animated frames.

Frame Control

State Variable Editor

Edit WebGL states.

State Editor

Resource Viewer

View textures, buffers, frame buffers, and render buffers.

Resource Viewer

Known Issues

  • Unity Web Game support is limited

Development

Just load the folder as an unpacked Extension.

There are 3 possible DevTools to open to debug the extension.

  1. The extension's background page. This isn't useful.
  2. The DevTools you have open to inspect the page (and view the extension panel). Obviously neccessary, and since the instrumentation is injected into the page, much of the extension code is debuggable here.
  3. DevTools on DevTools. Much of the tricky stuff runs in this context, so you'll want to keep it open.

Releasing

(Guesses from a non-maintainer) Run build/build.sh, which should concatenate the src files and copy to your (Mac) clipboard. Then paste into the top of content_script_init.js.

Currently no idea! Works when you load it directly into Chrome though.

About

An adopted Chrome extension to assist with WebGL development.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 98.8%
  • Other 1.2%