UNPKG

lingo3d

Version:

Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor

248 lines 8.22 kB
import { texturedStandardDefaults, texturedStandardSchema } from "../../../interface/ITexturedStandard"; import getDefaultValue from "../../../interface/utils/getDefaultValue"; import { color } from "../../utils/reusables"; import MeshAppendable from "../MeshAppendable"; import { toFixedPoint, toNullableFixed } from "../../../api/serializer/toFixed"; import { isPoint } from "../../../utils/isPoint"; import { refreshTexturedStandardSystem } from "../../../systems/configSystems/refreshTexturedStandardSystem"; import { configCastShadowSystem } from "../../../systems/configLoadedSystems/configCastShadowSystem"; const standardDefaults = Object.fromEntries(Object.entries(texturedStandardSchema).map(([key]) => [ key, structuredClone(getDefaultValue(texturedStandardDefaults, key, true)) ])); export default class TexturedStandardMixin extends MeshAppendable { get $material() { return this.object3d.material; } set $material(val) { this.object3d.material = val; } _defaults; get $defaults() { return (this._defaults ??= standardDefaults); } _materialParams; get $materialParams() { return (this._materialParams ??= Object.values(this.$defaults)); } get color() { return this.$materialParams[0]; } set color(val) { this.$materialParams[0] = val ? "#" + color.set(val).getHexString() : this.$defaults.color; refreshTexturedStandardSystem.add(this); } get opacity() { return this.$materialParams[1]; } set opacity(val) { this.$materialParams[1] = toNullableFixed(val) ?? this.$defaults.opacity; refreshTexturedStandardSystem.add(this); configCastShadowSystem.add(this); } get texture() { return this.$materialParams[2]; } set texture(val) { this.$materialParams[2] = val ?? this.$defaults.texture; refreshTexturedStandardSystem.add(this); } get alphaMap() { return this.$materialParams[3]; } set alphaMap(val) { this.$materialParams[3] = val ?? this.$defaults.alphaMap; refreshTexturedStandardSystem.add(this); } get textureRepeat() { return this.$materialParams[4]; } set textureRepeat(val) { this.$materialParams[4] = (isPoint(val) ? toFixedPoint(val) : toNullableFixed(val)) ?? this.$defaults.textureRepeat; refreshTexturedStandardSystem.add(this); } get textureFlipY() { return this.$materialParams[5]; } set textureFlipY(val) { this.$materialParams[5] = val ?? this.$defaults.textureFlipY; refreshTexturedStandardSystem.add(this); } get textureRotation() { return this.$materialParams[6]; } set textureRotation(val) { this.$materialParams[6] = toNullableFixed(val) ?? this.$defaults.textureRotation; refreshTexturedStandardSystem.add(this); } get wireframe() { return this.$materialParams[7]; } set wireframe(val) { this.$materialParams[7] = val ?? this.$defaults.wireframe; refreshTexturedStandardSystem.add(this); } get envMap() { return this.$materialParams[8]; } set envMap(val) { this.$materialParams[8] = val ?? this.$defaults.envMap; refreshTexturedStandardSystem.add(this); } get envMapIntensity() { return this.$materialParams[9]; } set envMapIntensity(val) { this.$materialParams[9] = toNullableFixed(val) ?? this.$defaults.envMapIntensity; refreshTexturedStandardSystem.add(this); } get aoMap() { return this.$materialParams[10]; } set aoMap(val) { this.$materialParams[10] = val ?? this.$defaults.aoMap; refreshTexturedStandardSystem.add(this); } get aoMapIntensity() { return this.$materialParams[11]; } set aoMapIntensity(val) { this.$materialParams[11] = toNullableFixed(val) ?? this.$defaults.aoMapIntensity; refreshTexturedStandardSystem.add(this); } get bumpMap() { return this.$materialParams[12]; } set bumpMap(val) { this.$materialParams[12] = val ?? this.$defaults.bumpMap; refreshTexturedStandardSystem.add(this); } get bumpScale() { return this.$materialParams[13]; } set bumpScale(val) { this.$materialParams[13] = toNullableFixed(val) ?? this.$defaults.bumpScale; refreshTexturedStandardSystem.add(this); } get displacementMap() { return this.$materialParams[14]; } set displacementMap(val) { this.$materialParams[14] = val ?? this.$defaults.displacementMap; refreshTexturedStandardSystem.add(this); } get displacementScale() { return this.$materialParams[15]; } set displacementScale(val) { this.$materialParams[15] = toNullableFixed(val) ?? this.$defaults.displacementScale; refreshTexturedStandardSystem.add(this); } get displacementBias() { return this.$materialParams[16]; } set displacementBias(val) { this.$materialParams[16] = toNullableFixed(val) ?? this.$defaults.displacementBias; refreshTexturedStandardSystem.add(this); } get emissive() { return this.$materialParams[17]; } set emissive(val) { this.$materialParams[17] = val ?? this.$defaults.emissive; refreshTexturedStandardSystem.add(this); } get emissiveIntensity() { return this.$materialParams[18]; } set emissiveIntensity(val) { this.$materialParams[18] = toNullableFixed(val) ?? this.$defaults.emissiveIntensity; refreshTexturedStandardSystem.add(this); } get lightMap() { return this.$materialParams[19]; } set lightMap(val) { this.$materialParams[19] = val ?? this.$defaults.lightMap; refreshTexturedStandardSystem.add(this); } get lightMapIntensity() { return this.$materialParams[20]; } set lightMapIntensity(val) { this.$materialParams[20] = toNullableFixed(val) ?? this.$defaults.lightMapIntensity; refreshTexturedStandardSystem.add(this); } get metalnessMap() { return this.$materialParams[21]; } set metalnessMap(val) { this.$materialParams[21] = val ?? this.$defaults.metalnessMap; refreshTexturedStandardSystem.add(this); } get metalness() { return this.$materialParams[22]; } set metalness(val) { this.$materialParams[22] = toNullableFixed(val) ?? this.$defaults.metalness; refreshTexturedStandardSystem.add(this); } get roughnessMap() { return this.$materialParams[23]; } set roughnessMap(val) { this.$materialParams[23] = val ?? this.$defaults.roughnessMap; refreshTexturedStandardSystem.add(this); } get roughness() { return this.$materialParams[24]; } set roughness(val) { this.$materialParams[24] = toNullableFixed(val) ?? this.$defaults.roughness; refreshTexturedStandardSystem.add(this); } get normalMap() { return this.$materialParams[25]; } set normalMap(val) { this.$materialParams[25] = val ?? this.$defaults.normalMap; refreshTexturedStandardSystem.add(this); } get normalScale() { return this.$materialParams[26]; } set normalScale(val) { this.$materialParams[26] = toNullableFixed(val) ?? this.$defaults.normalScale; refreshTexturedStandardSystem.add(this); } get depthTest() { return this.$materialParams[27]; } set depthTest(val) { this.$materialParams[27] = val ?? this.$defaults.depthTest; refreshTexturedStandardSystem.add(this); } get blending() { return this.$materialParams[28]; } set blending(val) { this.$materialParams[28] = val ?? this.$defaults.blending; refreshTexturedStandardSystem.add(this); } } //# sourceMappingURL=TexturedStandardMixin.js.map