UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

22 lines 1.86 kB
import { TgdVec4 } from "./../math/index.js"; import { TgdMaterial } from "./material.js"; const DEFAULT_COLOR = new TgdVec4(0.6, 1, 0.9, 1); export class TgdMaterialGhost extends TgdMaterial { constructor({ color = DEFAULT_COLOR, exponent = 3, intensity = 3, } = {}) { super(); this.fragmentShaderCode = [ `float light = 1.0 - varNormal.z;`, `light = pow(light, ${exponent.toFixed(6)});`, `vec4 color = vec4(${color.join(", ")});`, `return vec4(color.rgb * ${intensity.toFixed(6)}, color.a) * light;`, ]; this.vertexShaderCode = [ "varNormal = mat3(uniModelViewMatrix) * NORMAL;", ]; this.varyings = { varNormal: "vec3", }; } setUniforms(_program) { } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2hvc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWF0ZXJpYWwvZ2hvc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBVXhDLE1BQU0sYUFBYSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBRWpELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxXQUFXO0lBSzdDLFlBQVksRUFDUixLQUFLLEdBQUcsYUFBYSxFQUNyQixRQUFRLEdBQUcsQ0FBQyxFQUNaLFNBQVMsR0FBRyxDQUFDLE1BQ1ksRUFBRTtRQUMzQixLQUFLLEVBQUUsQ0FBQTtRQUNQLElBQUksQ0FBQyxrQkFBa0IsR0FBRztZQUN0QixrQ0FBa0M7WUFDbEMsc0JBQXNCLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDN0MscUJBQXFCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDekMsMkJBQTJCLFNBQVMsQ0FBQyxPQUFPLENBQ3hDLENBQUMsQ0FDSixxQkFBcUI7U0FDekIsQ0FBQTtRQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRztZQUNwQixnREFBZ0Q7U0FDbkQsQ0FBQTtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDWixTQUFTLEVBQUUsTUFBTTtTQUNwQixDQUFBO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFvQixJQUFTLENBQUM7Q0FDN0MifQ==