diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-04-08 20:56:28 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-04-08 21:08:35 -0700 |
commit | 5b7689b6dbdb2ea5d9171220be29e6beafb4d95f (patch) | |
tree | 14a728aa12eee8568e99cd707da5a27eb60e7de9 /src | |
parent | 2f2605f1752976a28229298224920a40b4b86848 (diff) |
more gl 1.5 emulation
Diffstat (limited to 'src')
-rw-r--r-- | src/library_gl.js | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/src/library_gl.js b/src/library_gl.js index cdea449c..3ec7c81e 100644 --- a/src/library_gl.js +++ b/src/library_gl.js @@ -748,19 +748,38 @@ var LibraryGL = { // GL emulation: provides misc. functionality not present in OpenGL ES 2.0 or WebGL - $GLEmulation__deps: ['glCreateShader', 'glShaderSource', 'glCompileShader', 'glCreateProgram', 'glDeleteShader', 'glDeleteProgram'], + $GLEmulation__deps: ['glCreateShader', 'glShaderSource', 'glCompileShader', 'glCreateProgram', 'glDeleteShader', 'glDeleteProgram', 'glAttachShader', 'glActiveTexture', 'glGetShaderiv', 'glGetProgramiv', 'glLinkProgram'], $GLEmulation: { procReplacements: { 'glCreateShaderObjectARB': 'glCreateShader', 'glShaderSourceARB': 'glShaderSource', 'glCompileShaderARB': 'glCompileShader', 'glCreateProgramObjectARB': 'glCreateProgram', + 'glAttachObjectARB': 'glAttachShader', + 'glLinkProgramARB': 'glLinkProgram', + 'glActiveTextureARB': 'glActiveTexture' }, procs: { - glDeleteObjectARB: function() { - console.log('WARNING: not deleting through glDeleteObject, not sure if shader or program'); - } + glDeleteObjectARB: function(id) { + if (GL.programs[id]) { + _glDeleteProgram(id); + } else if (GL.shaders[id]) { + _glDeleteShader(id); + } else { + console.log('WARNING: deleteObjectARB received invalid id: ' + id); + } + }, + + glGetObjectParameterivARB: function(id, type, result) { + if (GL.programs[id]) { + _glGetProgramiv(id, type, result); + } else if (GL.shaders[id]) { + _glGetShaderiv(id, type, result); + } else { + console.log('WARNING: getObjectParameterivARB received invalid id: ' + id); + } + }, }, getProcAddress: function(name_) { |