34935-vm/assets/cesium/packages/engine/Source/DataSources/createMaterialPropertyDescriptor.js
Flatlogic Bot 055d24df95 WORKING
2025-10-14 02:37:44 +00:00

36 lines
1.1 KiB
JavaScript

import Color from "../Core/Color.js";
import DeveloperError from "../Core/DeveloperError.js";
import Resource from "../Core/Resource.js";
import ColorMaterialProperty from "./ColorMaterialProperty.js";
import createPropertyDescriptor from "./createPropertyDescriptor.js";
import ImageMaterialProperty from "./ImageMaterialProperty.js";
function createMaterialProperty(value) {
if (value instanceof Color) {
return new ColorMaterialProperty(value);
}
if (
typeof value === "string" ||
value instanceof Resource ||
value instanceof HTMLCanvasElement ||
value instanceof HTMLVideoElement
) {
const result = new ImageMaterialProperty();
result.image = value;
return result;
}
//>>includeStart('debug', pragmas.debug);
throw new DeveloperError(`Unable to infer material type: ${value}`);
//>>includeEnd('debug');
}
/**
* @private
*/
function createMaterialPropertyDescriptor(name, configurable) {
return createPropertyDescriptor(name, configurable, createMaterialProperty);
}
export default createMaterialPropertyDescriptor;