playcanvas
Version:
PlayCanvas WebGL game engine
32 lines (29 loc) • 1.2 kB
JavaScript
import { Debug } from '../../core/debug.js';
import { DeviceCache } from '../../platform/graphics/device-cache.js';
/**
* @import { GraphicsDevice } from '../../platform/graphics/graphics-device.js'
* @import { StandardMaterial } from './standard-material.js'
*/ // device cache storing default material
var defaultMaterialDeviceCache = new DeviceCache();
/**
* Returns default material, which is a material used instead of null material.
*
* @param {GraphicsDevice} device - The graphics device used to own the material.
* @returns {StandardMaterial} The default instance of {@link StandardMaterial}.
*/ function getDefaultMaterial(device) {
var material = defaultMaterialDeviceCache.get(device);
Debug.assert(material);
return material;
}
/**
* Assigns the default material to device cache
*
* @param {GraphicsDevice} device - The graphics device used to own the material.
* @param {StandardMaterial} material - The instance of {@link StandardMaterial}.
*/ function setDefaultMaterial(device, material) {
Debug.assert(material);
defaultMaterialDeviceCache.get(device, ()=>{
return material;
});
}
export { getDefaultMaterial, setDefaultMaterial };