aboutsummaryrefslogtreecommitdiff
path: root/src/library_glut.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-04-05 16:00:47 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-04-05 16:00:47 -0700
commit245ae3dc68e0295c3574734dd9be4cfcc0b35119 (patch)
tree0b94caa8f5c10ec92a8689a80d1921465b35d5f1 /src/library_glut.js
parent43a676c172531d67c60074f51d205b65611cb65b (diff)
improve GL debugging
Diffstat (limited to 'src/library_glut.js')
-rw-r--r--src/library_glut.js25
1 files changed, 22 insertions, 3 deletions
diff --git a/src/library_glut.js b/src/library_glut.js
index 11e448b2..5d9fb672 100644
--- a/src/library_glut.js
+++ b/src/library_glut.js
@@ -334,10 +334,29 @@ var LibraryGLUT = {
wrapper[prop] = function() {
var printArgs = Array.prototype.slice.call(arguments).map(function(arg) {
if (wrapper.objectMap[arg]) return '<' + arg + '|' + wrapper.objectMap[arg] + '>';
+ if (arg.toString() == '[object HTMLImageElement]') {
+ return arg + '\n\n';
+ }
if (arg.byteLength) {
- var ret = '{' + arg.byteLength + ':';
- var arr = Array.prototype.slice.call(new Uint8Array(arg.buffer), 0, 40);
- ret += arr.toString().replace(/,/g, ', ') + '}';
+ var buf = new ArrayBuffer(32);
+ var i8buf = new Int8Array(buf);
+ var f32buf = new Float32Array(buf);
+ switch(arg.toString()) {
+ case '[object Uint8Array]':
+ i8buf.set(arg.subarray(0, 32));
+ break;
+ case '[object Float32Array]':
+ f32buf.set(arg.subarray(0, 5));
+ break;
+ default:
+ alert('unknown array for debugging: ' + arg);
+ throw 'see alert';
+ }
+ var ret = '{' + arg.byteLength + ':\n';
+ var arr = Array.prototype.slice.call(i8buf);
+ ret += 'i8:' + arr.toString().replace(/,/g, ',') + '\n';
+ arr = Array.prototype.slice.call(f32buf, 0, 8);
+ ret += 'f32:' + arr.toString().replace(/,/g, ',') + '}';
return ret;
}
return arg;