@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
27 lines • 2.37 kB
JavaScript
import { TgdVec4 } from "./../math/index.js";
import { TgdMaterial } from "./material.js";
const DEFAULT_COLOR = [0.111, 0.333, 0.999, 1];
export class TgdMaterialHull extends TgdMaterial {
constructor(options = {}) {
var _a, _b, _c;
super();
this.expansion = 0.02;
this.uniforms = {
uniColor: "vec4",
uniExpansion: "float",
};
this.color = new TgdVec4((_a = options.color) !== null && _a !== void 0 ? _a : DEFAULT_COLOR);
this.expansion = (_b = options.expansion) !== null && _b !== void 0 ? _b : 0.02;
this.fragmentShaderCode = [`return uniColor;`];
this.vertexShaderCode = [];
this.varyings = {};
this.vertexShaderCodeForGetPosition = [
`return pos + uniExpansion * vec4(${(_c = options.attNormal) !== null && _c !== void 0 ? _c : "NORMAL"}, 0.0);`,
];
}
setUniforms(program) {
program.uniform4fv("uniColor", this.color);
program.uniform1f("uniExpansion", this.expansion);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRlcmlhbC9odWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDbkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQVV4QyxNQUFNLGFBQWEsR0FBaUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUU1RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBWTVDLFlBQVksVUFBa0MsRUFBRTs7UUFDNUMsS0FBSyxFQUFFLENBQUE7UUFYSixjQUFTLEdBQUcsSUFBSSxDQUFBO1FBR1AsYUFBUSxHQUF5QztZQUM3RCxRQUFRLEVBQUUsTUFBTTtZQUNoQixZQUFZLEVBQUUsT0FBTztTQUN4QixDQUFBO1FBTUcsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFBLE9BQU8sQ0FBQyxLQUFLLG1DQUFJLGFBQWEsQ0FBQyxDQUFBO1FBQ3hELElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBQSxPQUFPLENBQUMsU0FBUyxtQ0FBSSxJQUFJLENBQUE7UUFDMUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUM5QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFBO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFBO1FBQ2xCLElBQUksQ0FBQyw4QkFBOEIsR0FBRztZQUNsQyxvQ0FDSSxNQUFBLE9BQU8sQ0FBQyxTQUFTLG1DQUFJLFFBQ3pCLFNBQVM7U0FDWixDQUFBO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFtQjtRQUMzQixPQUFPLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDMUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3JELENBQUM7Q0FDSiJ9