@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
36 lines • 2.34 kB
JavaScript
import { TgdMaterial } from "./material.js";
export class TgdMaterialFlatTexture extends TgdMaterial {
constructor(options) {
const uniforms = {
uniTexture: "sampler2D",
};
const fragmentShaderCode = ["return texture(uniTexture, varUV);"];
const varyings = {
varUV: "vec2",
};
const vertexShaderCode = () => {
const code = [`varUV = ${this.attUV};`];
return code;
};
super({
uniforms,
varyings,
vertexShaderCode,
fragmentShaderCode,
setUniforms: ({ program }) => {
this._texture?.activate(0, program, "uniTexture");
},
});
this._texture = null;
this._texture = options.texture;
}
get texture() {
return this._texture;
}
set texture(texture) {
if (this._texture === texture)
return;
this._texture = texture;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdC10ZXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hdGVyaWFsL2ZsYXQtdGV4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBU3hDLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxXQUFXO0lBR25ELFlBQVksT0FBc0M7UUFDOUMsTUFBTSxRQUFRLEdBQXlDO1lBQ25ELFVBQVUsRUFBRSxXQUFXO1NBQzFCLENBQUE7UUFDRCxNQUFNLGtCQUFrQixHQUFnQixDQUFDLG9DQUFvQyxDQUFDLENBQUE7UUFDOUUsTUFBTSxRQUFRLEdBQTJDO1lBQ3JELEtBQUssRUFBRSxNQUFNO1NBQ2hCLENBQUE7UUFDRCxNQUFNLGdCQUFnQixHQUFHLEdBQUcsRUFBRTtZQUMxQixNQUFNLElBQUksR0FBZ0IsQ0FBQyxXQUFXLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFBO1lBQ3BELE9BQU8sSUFBSSxDQUFBO1FBQ2YsQ0FBQyxDQUFBO1FBRUQsS0FBSyxDQUFDO1lBQ0YsUUFBUTtZQUNSLFFBQVE7WUFDUixnQkFBZ0I7WUFDaEIsa0JBQWtCO1lBQ2xCLFdBQVcsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUEyQixFQUFRLEVBQUU7Z0JBQ3hELElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUE7WUFDckQsQ0FBQztTQUNKLENBQUMsQ0FBQTtRQXZCRSxhQUFRLEdBQXdCLElBQUksQ0FBQTtRQXdCeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFBO0lBQ25DLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDeEIsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLE9BQTRCO1FBQ3BDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxPQUFPO1lBQUUsT0FBTTtRQUVyQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQTtJQUMzQixDQUFDO0NBQ0oifQ==