# WebGL-Inspector
**Repository Path**: myswp_admin/WebGL-Inspector
## Basic Information
- **Project Name**: WebGL-Inspector
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: BSD-3-Clause
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-11-03
- **Last Updated**: 2023-11-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
About
====================
WebGL Inspector is a tool inspired by [gDEBugger](http://www.gremedy.com/) and [PIX](http://msdn.microsoft.com/en-us/library/ee417062.aspx)
with the goal of making the development of advanced WebGL applications easier. What Firebug and Developer Tools are to HTML/JS, WebGL Inspector
is to WebGL.
Features
---------------------
* Embed in an existing application with a single `
No other changes should be required!
If you want to debug the inspector, before the script include set `gliEmbedDebug = true;`:
This will use the un-cat'ed script/css files, making debugging easier.
**LIVE**: Instead of grabbing the code, building, and embedding, you can include the script directly from the sample site. This version
will change whenever I release a new version.
Note: when running the debug version [require.js](http://requirejs.org) is used to load the inspector. This can have
issues for when the inspector gets a chance to wrap `HTMLCanvasContext.getContext` and when code tries to use it.
The first thing to try is make sure you code waits for `window.onload` before creating a webgl context. If that doesn't work
you can also wait for `gliready`
window.addEventListener('gliready', runYourWebGLCode);
If your app also uses require.js you need to make your app dependent on the inspector like
this. One example would be to do this. Assume your program before used `data-main` as in
Note: This is only needed for running the inspector in debug mode to debug the inspector
itself.
### Extensions
#### Chromium
* Navigate to chrome://extensions
* Click 'load unpacked extension...' and select the extensions/chrome/ directory
* If you will be trying to inspect file:// pages, make sure to check 'Allow access to file URLs'
* Open a page with WebGL content and click the 'GL' icon in the top right of the address bar (click again to disable)
**DEBUGGING**: If you want to debug the inspector code, instead load the extension from core/ - this will use the non-cat'ed files
and makes things much easier when navigating source. You'll also be able to just reload pages when you make changes to the extension
(although sometimes the CSS requires a full browser restart to update).
#### Firefox
[Download WebGL Inspector from Mozilla AMO](https://addons.mozilla.org/en-US/firefox/addon/webgl-inspector/)
or build manually:
* `cd core && ./buildextensions.sh`
* Open `core/extensions/firefox/webglinspector.xpi` in Firefox.
**DEBUGGING**
* `cd core/extensions/firefox`
* `make run`
or
* `PROFILE=/path/to/dev/profile make run`
#### WebKit
* Open the Extension Builder
* Add existing extension
* Select extensions/safari/webglinspector.safariextension
* Open a page with WebGL content and click the 'GL' icon in the top left of the toolbar (click again to disable)
**DEBUGGING**: There is currently no debug version of the extension - since Chromium is so similar it's best to just use that.
Frame Termination
--------------------
Due to the way WebGL implicitly ends frames, accurately determining when a host application has finished is tricky. To ensure frame captures are exactly what
they should be there is an extension that can be used to tell the inspector when you are done.
Query the extension - it will only exist when the inspector is attached:
var glext_ft = gl.getExtension("GLI_frame_terminator");
At the end of your frame, call the termination method:
```javascript
if (glext_ft) {
glext_ft.frameTerminator();
}
```
Do this if you are consistently seeing multiple frames getting captured at the same time.
Samples
====================
Included in the repository is the [Learning WebGL](http://learningwebgl.com) Lesson 05 under `samples/lesson05/`. `embedded.html` shows the inspector
inlined on the page using the single `