UNPKG

playcanvas

Version:

PlayCanvas WebGL game engine

22 lines (19 loc) 668 B
import { LIGHTTYPE_DIRECTIONAL } from '../../constants.js'; const LitOptionsUtils = { generateKey (options) { return `lit${Object.keys(options).sort().map((key)=>{ if (key === 'shaderChunks') { return options.shaderChunks?.key ?? ''; } else if (key === 'lights') { return LitOptionsUtils.generateLightsKey(options); } return key + options[key]; }).join('\n')}`; }, generateLightsKey (options) { return `lights:${options.lights.map((light)=>{ return !options.clusteredLightingEnabled || light._type === LIGHTTYPE_DIRECTIONAL ? `${light.key},` : ''; }).join('')}`; } }; export { LitOptionsUtils };