shadeModeConstants.tstypescript
export const SHADE_UNLIT = 0;
export const SHADE_PHONG = 0.5;
export const SHADE_PBR = 1;
export type ShadeMode = typeof SHADE_UNLIT | typeof SHADE_PHONG | typeof SHADE_PBR;
export type ShadeModeString = "none" | "unlit" | "phong" | "pbr";
export type ShadeModeInput = ShadeMode | ShadeModeString;
const SHADE_BY_NAME: Readonly<Record<ShadeModeString, ShadeMode>> = {
none: SHADE_UNLIT,
unlit: SHADE_UNLIT,
phong: SHADE_PHONG,
pbr: SHADE_PBR
};
export function normalizeShadeMode(mode: ShadeModeInput): ShadeMode {
if (typeof mode === "string") {
const byName = SHADE_BY_NAME[mode];
if (byName !== undefined) {
return byName;
}
return SHADE_PHONG;
}
if (mode === SHADE_UNLIT || mode === SHADE_PHONG || mode === SHADE_PBR) {
return mode;
}
return SHADE_PHONG;
}