1234567891011121314151617181920212223242526272829303132333435 |
- 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;
|