UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

27 lines 2.37 kB
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