cesium
Version:
CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin.
31 lines (26 loc) • 1.16 kB
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) {
var 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;