var LibraryGLEW = {
$GLEW__deps: ['glGetString', '$stringToNewUTF8', '$UTF8ToString', '$webglGetExtensions'],
$GLEW: {
isLinaroFork: 1,
extensions: null,
error: {
0:null,
1:null,
2:null,
3:null,
4:null,
5:null,
6:null,
7:null,
8:null,
},
version: {
1:null,
2:null,
3:null,
4:null,
},
errorStringConstantFromCode(error) {
if (GLEW.isLinaroFork) {
switch (error) {
case 4:return "OpenGL ES lib expected, found OpenGL lib";
case 5:return "OpenGL lib expected, found OpenGL ES lib";
case 6:return "Missing EGL version";
case 7:return "EGL 1.1 and up are supported";
default:break;
}
}
switch (error) {
case 0:return "No error";
case 1:return "Missing GL version";
case 2:return "GL 1.1 and up are supported";
case 3:return "GLX 1.2 and up are supported";
default:return null;
}
},
errorString(error) {
if (!GLEW.error[error]) {
var string = GLEW.errorStringConstantFromCode(error);
if (!string) {
string = "Unknown error";
error = 8;
}
GLEW.error[error] = stringToNewUTF8(string);
}
return GLEW.error[error];
},
versionStringConstantFromCode(name) {
switch (name) {
case 1:return "1.10.0";
case 2:return "1";
case 3:return "10";
case 4:return "0";
default:return null;
}
},
versionString(name) {
if (!GLEW.version[name]) {
var string = GLEW.versionStringConstantFromCode(name);
if (!string)
return 0;
GLEW.version[name] = stringToNewUTF8(string);
}
return GLEW.version[name];
},
extensionIsSupported(name) {
GLEW.extensions ||= webglGetExtensions();
if (GLEW.extensions.includes(name))
return 1;
return (GLEW.extensions.includes("GL_" + name));
},
},
glewInit: () => 0,
glewIsSupported: (name) => {
var exts = UTF8ToString(name).split(' ');
for (var ext of exts) {
if (!GLEW.extensionIsSupported(ext)) return 0;
}
return 1;
},
glewGetExtension: (name) => GLEW.extensionIsSupported(UTF8ToString(name)),
glewGetErrorString: (error) => GLEW.errorString(error),
glewGetString: (name) => GLEW.versionString(name),
};
autoAddDeps(LibraryGLEW, '$GLEW');
addToLibrary(LibraryGLEW);