cione-comp-lib
Version:
`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`
56 lines (55 loc) • 1.4 kB
JavaScript
var EXTENSION_LIST = [
"OES_texture_float",
"OES_texture_half_float",
"OES_texture_float_linear",
"OES_texture_half_float_linear",
"OES_standard_derivatives",
"OES_vertex_array_object",
"OES_element_index_uint",
"WEBGL_compressed_texture_s3tc",
"WEBGL_depth_texture",
"EXT_texture_filter_anisotropic",
"EXT_shader_texture_lod",
"WEBGL_draw_buffers",
"EXT_frag_depth",
"EXT_sRGB",
"ANGLE_instanced_arrays"
];
var PARAMETER_NAMES = [
"MAX_TEXTURE_SIZE",
"MAX_CUBE_MAP_TEXTURE_SIZE"
];
function GLInfo(_gl) {
var extensions = {};
var parameters = {};
for (var i = 0; i < EXTENSION_LIST.length; i++) {
var extName = EXTENSION_LIST[i];
createExtension(extName);
}
for (var i = 0; i < PARAMETER_NAMES.length; i++) {
var name = PARAMETER_NAMES[i];
parameters[name] = _gl.getParameter(_gl[name]);
}
this.getExtension = function(name2) {
if (!(name2 in extensions)) {
createExtension(name2);
}
return extensions[name2];
};
this.getParameter = function(name2) {
return parameters[name2];
};
function createExtension(name2) {
if (_gl.getExtension) {
var ext = _gl.getExtension(name2);
if (!ext) {
ext = _gl.getExtension("MOZ_" + name2);
}
if (!ext) {
ext = _gl.getExtension("WEBKIT_" + name2);
}
extensions[name2] = ext;
}
}
}
export { GLInfo as default };