aboutsummaryrefslogtreecommitdiff
path: root/src/library_gl.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-02-20 13:58:14 -0800
committerAlon Zakai <alonzakai@gmail.com>2013-02-20 13:58:14 -0800
commit36c82414cb8149e4e0cb7c8bcedfe0204e8d6d90 (patch)
tree2f3a6f0c0d2d13f618f002d7f7054b93dd34cbf3 /src/library_gl.js
parent68410ca5b8674f02d0da783bbfc78e2839d6b2c6 (diff)
glGetPointerv
Diffstat (limited to 'src/library_gl.js')
-rw-r--r--src/library_gl.js18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/library_gl.js b/src/library_gl.js
index 936eaf52..8cebfc89 100644
--- a/src/library_gl.js
+++ b/src/library_gl.js
@@ -1471,6 +1471,20 @@ var LibraryGL = {
assert(id == 0);
},
+ glGetPointerv: function(name, p) {
+ var attribute;
+ switch(name) {
+ case 0x808E: // GL_VERTEX_ARRAY_POINTER
+ attribute = GLImmediate.clientAttributes[GLImmediate.VERTEX]; break;
+ case 0x8090: // GL_COLOR_ARRAY_POINTER
+ attribute = GLImmediate.clientAttributes[GLImmediate.COLOR]; break;
+ case 0x8092: // GL_TEXTURE_COORD_ARRAY_POINTER
+ attribute = GLImmediate.clientAttributes[GLImmediate.TEXTURE0]; break;
+ default: throw 'TODO: glGetPointerv for ' + name;
+ }
+ {{{ makeSetValue('p', '0', 'attribute ? attribute.pointer : 0', 'i32') }}};
+ },
+
// GL Immediate mode
$GLImmediate__postset: 'GL.immediate.setupFuncs(); Browser.moduleContextCreatedCallbacks.push(function() { GL.immediate.init() });',
@@ -2688,7 +2702,7 @@ var LibraryGL = {
glVertexAttribPointer__sig: 'viiiiii',
glCheckFramebufferStatus__sig: 'ii',
glRenderbufferStorage__sig: 'viiii',
-
+
// Open GLES1.1 compatibility
glGenFramebuffersOES : 'glGenFramebuffers',
glGenRenderbuffersOES : 'glGenRenderbuffers',
@@ -2700,7 +2714,7 @@ var LibraryGL = {
glCheckFramebufferStatusOES : 'glCheckFramebufferStatus',
glDeleteFramebuffersOES : 'glDeleteFramebuffers',
glDeleteRenderbuffersOES : 'glDeleteRenderbuffers'
-
+
};
// Simple pass-through functions. Starred ones have return values. [X] ones have X in the C name but not in the JS name