StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics
https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
125 lines
4.3 KiB
125 lines
4.3 KiB
4 years ago
|
"use strict";
|
||
|
var __extends = (this && this.__extends) || (function () {
|
||
|
var extendStatics = Object.setPrototypeOf ||
|
||
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
||
|
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
||
|
return function (d, b) {
|
||
|
extendStatics(d, b);
|
||
|
function __() { this.constructor = d; }
|
||
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||
|
};
|
||
|
})();
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
var allofw_1 = require("allofw");
|
||
|
function getShaderInfoLog(shader) {
|
||
|
var buffer = new Buffer(4);
|
||
|
allofw_1.GL3.getShaderiv(shader, allofw_1.GL3.INFO_LOG_LENGTH, buffer);
|
||
|
var length = buffer.readUInt32LE(0);
|
||
|
if (length > 0) {
|
||
|
var buf = new Buffer(length);
|
||
|
allofw_1.GL3.getShaderInfoLog(shader, length, buffer, buf);
|
||
|
return buf.toString("utf-8");
|
||
|
}
|
||
|
}
|
||
|
;
|
||
|
function isShaderCompiled(shader) {
|
||
|
var buffer = new Buffer(4);
|
||
|
allofw_1.GL3.getShaderiv(shader, allofw_1.GL3.COMPILE_STATUS, buffer);
|
||
|
var success = buffer.readUInt32LE(0);
|
||
|
return success != 0;
|
||
|
}
|
||
|
;
|
||
|
function isProgramLinked(program) {
|
||
|
var buffer = new Buffer(4);
|
||
|
allofw_1.GL3.getProgramiv(program, allofw_1.GL3.LINK_STATUS, buffer);
|
||
|
var success = buffer.readUInt32LE(0);
|
||
|
return success != 0;
|
||
|
}
|
||
|
;
|
||
|
function getProgramInfoLog(program) {
|
||
|
var buffer = new Buffer(4);
|
||
|
allofw_1.GL3.getProgramiv(program, allofw_1.GL3.INFO_LOG_LENGTH, buffer);
|
||
|
var length = buffer.readUInt32LE(0);
|
||
|
if (length > 0) {
|
||
|
var buf = new Buffer(length);
|
||
|
allofw_1.GL3.getProgramInfoLog(program, length, buffer, buf);
|
||
|
return buf.toString("utf-8");
|
||
|
}
|
||
|
}
|
||
|
;
|
||
|
var ShaderException = /** @class */ (function (_super) {
|
||
|
__extends(ShaderException, _super);
|
||
|
function ShaderException(type, message) {
|
||
|
var _this = _super.call(this) || this;
|
||
|
_this.message = "CompileShaders: " + type + ": " + message;
|
||
|
_this.name = "ShaderException";
|
||
|
return _this;
|
||
|
}
|
||
|
return ShaderException;
|
||
|
}(Error));
|
||
|
function compileShaders(shaders) {
|
||
|
var shader_v, shader_f, shader_g;
|
||
|
if (shaders.vertex) {
|
||
|
shader_v = allofw_1.GL3.createShader(allofw_1.GL3.VERTEX_SHADER);
|
||
|
allofw_1.GL3.shaderSource(shader_v, [shaders.vertex]);
|
||
|
allofw_1.GL3.compileShader(shader_v);
|
||
|
var log_1 = getShaderInfoLog(shader_v);
|
||
|
if (log_1 && log_1.trim() != "") {
|
||
|
console.log(log_1);
|
||
|
}
|
||
|
if (!isShaderCompiled(shader_v)) {
|
||
|
throw new ShaderException("Vertex");
|
||
|
}
|
||
|
}
|
||
|
if (shaders.fragment) {
|
||
|
shader_f = allofw_1.GL3.createShader(allofw_1.GL3.FRAGMENT_SHADER);
|
||
|
allofw_1.GL3.shaderSource(shader_f, [shaders.fragment]);
|
||
|
allofw_1.GL3.compileShader(shader_f);
|
||
|
var log_2 = getShaderInfoLog(shader_f);
|
||
|
if (log_2 && log_2.trim() != "") {
|
||
|
console.log(log_2);
|
||
|
}
|
||
|
if (!isShaderCompiled(shader_f)) {
|
||
|
throw new ShaderException("Fragment");
|
||
|
}
|
||
|
}
|
||
|
if (shaders.geometry) {
|
||
|
shader_g = allofw_1.GL3.createShader(allofw_1.GL3.GEOMETRY_SHADER);
|
||
|
allofw_1.GL3.shaderSource(shader_g, [shaders.geometry]);
|
||
|
allofw_1.GL3.compileShader(shader_g);
|
||
|
var log_3 = getShaderInfoLog(shader_g);
|
||
|
if (log_3 && log_3.trim() != "") {
|
||
|
console.log(log_3);
|
||
|
}
|
||
|
if (!isShaderCompiled(shader_g)) {
|
||
|
throw new ShaderException("Geometry");
|
||
|
}
|
||
|
}
|
||
|
var program = allofw_1.GL3.createProgram();
|
||
|
if (shader_v)
|
||
|
allofw_1.GL3.attachShader(program, shader_v);
|
||
|
if (shader_f)
|
||
|
allofw_1.GL3.attachShader(program, shader_f);
|
||
|
if (shader_g)
|
||
|
allofw_1.GL3.attachShader(program, shader_g);
|
||
|
allofw_1.GL3.linkProgram(program);
|
||
|
var log = getProgramInfoLog(program);
|
||
|
if (log && log.trim() != "") {
|
||
|
console.log(log);
|
||
|
}
|
||
|
if (!isProgramLinked(program)) {
|
||
|
throw new ShaderException("Link");
|
||
|
}
|
||
|
return program;
|
||
|
}
|
||
|
exports.compileShaders = compileShaders;
|
||
|
;
|
||
|
function checkGLErrors(prefix) {
|
||
|
if (prefix === void 0) { prefix = ""; }
|
||
|
var error = allofw_1.GL3.getError();
|
||
|
if (error != 0) {
|
||
|
throw new Error("GLError at " + prefix + ": " + error);
|
||
|
}
|
||
|
}
|
||
|
exports.checkGLErrors = checkGLErrors;
|
||
|
//# sourceMappingURL=allofwutils.js.map
|