UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

41 lines 5.19 kB
export class TgdExtensions { constructor(gl) { this.gl = gl; this.logs = []; this.EXT_color_buffer_float = this.activate("EXT_color_buffer_float"); this.EXT_color_buffer_half_float = this.activate("EXT_color_buffer_half_float"); this.EXT_float_blend = this.activate("EXT_float_blend"); this.EXT_texture_compression_bptc = this.activate("EXT_texture_compression_bptc"); this.EXT_texture_compression_rgtc = this.activate("EXT_texture_compression_rgtc"); this.EXT_texture_filter_anisotropic = this.activate("EXT_texture_filter_anisotropic"); this.KHR_parallel_shader_compile = this.activate("KHR_parallel_shader_compile"); this.OES_texture_float_linear = this.activate("OES_texture_float_linear"); this.OES_texture_half_float_linear = this.activate("OES_texture_half_float_linear"); this.OVR_multiview2 = this.activate("OVR_multiview2"); this.WEBGL_color_buffer_float = this.activate("WEBGL_color_buffer_float"); this.WEBGL_compressed_texture_astc = this.activate("WEBGL_compressed_texture_astc"); this.WEBGL_compressed_texture_etc = this.activate("WEBGL_compressed_texture_etc"); this.WEBGL_compressed_texture_etc1 = this.activate("WEBGL_compressed_texture_etc1"); this.WEBGL_compressed_texture_pvrtc = this.activate("WEBGL_compressed_texture_pvrtc"); this.WEBGL_compressed_texture_s3tc = this.activate("WEBGL_compressed_texture_s3tc"); this.WEBGL_compressed_texture_s3tc_srgb = this.activate("WEBGL_compressed_texture_s3tc_srgb"); this.WEBGL_debug_renderer_info = this.activate("WEBGL_debug_renderer_info"); this.WEBGL_debug_shaders = this.activate("WEBGL_debug_shaders"); this.WEBGL_lose_context = this.activate("WEBGL_lose_context"); this.WEBGL_multi_draw = this.activate("WEBGL_multi_draw"); } activate(extensionName) { const ext = this.gl.getExtension(extensionName); this.logs.push([ `WebGL2 extension %c${extensionName}%c: %c${ext ? "ENABLED" : "DISABLED"}`, ["font-weight:900", "font-weight:300", ext ? "color:#0f0" : "color:#f00"], ]); return ext; } debug() { for (const [caption, styles] of this.logs) { console.debug(caption, ...styles); } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2V4dGVuc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGFBQWE7SUEwS3RCLFlBQTRCLEVBQTBCO1FBQTFCLE9BQUUsR0FBRixFQUFFLENBQXdCO1FBRnJDLFNBQUksR0FBMEMsRUFBRSxDQUFBO1FBRzdELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFrQyxDQUFBO1FBQ3RHLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUM1Qyw2QkFBNkIsQ0FDTSxDQUFBO1FBQ3ZDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBMkIsQ0FBQTtRQUNqRixJQUFJLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FDN0MsOEJBQThCLENBQ00sQ0FBQTtRQUN4QyxJQUFJLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FDN0MsOEJBQThCLENBQ00sQ0FBQTtRQUN4QyxJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FDL0MsZ0NBQWdDLENBQ00sQ0FBQTtRQUMxQyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FDNUMsNkJBQTZCLENBQ00sQ0FBQTtRQUN2QyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsQ0FBb0MsQ0FBQTtRQUM1RyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FDOUMsK0JBQStCLENBQ00sQ0FBQTtRQUN6QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQTBCLENBQUE7UUFDOUUsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsMEJBQTBCLENBQW9DLENBQUE7UUFDNUcsSUFBSSxDQUFDLDZCQUE2QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQzlDLCtCQUErQixDQUNNLENBQUE7UUFDekMsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQzdDLDhCQUE4QixDQUNNLENBQUE7UUFDeEMsSUFBSSxDQUFDLDZCQUE2QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQzlDLCtCQUErQixDQUNNLENBQUE7UUFDekMsSUFBSSxDQUFDLDhCQUE4QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQy9DLGdDQUFnQyxDQUNNLENBQUE7UUFDMUMsSUFBSSxDQUFDLDZCQUE2QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQzlDLCtCQUErQixDQUNNLENBQUE7UUFDekMsSUFBSSxDQUFDLGtDQUFrQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQ25ELG9DQUFvQyxDQUNNLENBQUE7UUFDOUMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsMkJBQTJCLENBQXFDLENBQUE7UUFDL0csSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQStCLENBQUE7UUFDN0YsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQThCLENBQUE7UUFDMUYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQTRCLENBQUE7SUFDeEYsQ0FBQztJQUVELFFBQVEsQ0FBQyxhQUFxQjtRQUMxQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNYLHNCQUFzQixhQUFhLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRTtZQUMxRSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7U0FDNUUsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxHQUFHLENBQUE7SUFDZCxDQUFDO0lBRUQsS0FBSztRQUNELEtBQUssTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQTtRQUNyQyxDQUFDO0lBQ0wsQ0FBQztDQUNKIn0=