UNPKG

wonder.js

Version:
111 lines (104 loc) 4.29 kB
'use strict'; var ArrayService$Wonderjs = require("../../service/atom/ArrayService.js"); var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js"); var RecordPointLightMainService$Wonderjs = require("../../service/state/main/light/point/RecordPointLightMainService.js"); function _getColor(color) { if (color !== undefined) { return color; } else { return /* array */[ 0, 0, 0 ]; } } function _getIntensity(intensity) { if (intensity !== undefined) { return intensity; } else { return 1; } } function _convertPointLights(param, param$1) { var range = param$1[/* range */6]; var quadraticAttenuation = param$1[/* quadraticAttenuation */5]; var linearAttenuation = param$1[/* linearAttenuation */4]; var constantAttenuation = param$1[/* constantAttenuation */3]; return /* tuple */[ param[0], param[1], ArrayService$Wonderjs.push(/* record */[ /* color */_getColor(param$1[/* color */1]), /* intensity */_getIntensity(param$1[/* intensity */2]), /* constantAttenuation */constantAttenuation !== undefined ? constantAttenuation : 1, /* linearAttenuation */linearAttenuation !== undefined ? linearAttenuation : 0, /* quadraticAttenuation */quadraticAttenuation !== undefined ? quadraticAttenuation : 0, /* range */range !== undefined ? range : RecordPointLightMainService$Wonderjs.getDefaultRange(/* () */0) ], param[2]) ]; } function convertToLights(param) { var extensions = param[/* extensions */14]; if (extensions !== undefined) { var khr_lights = extensions[/* khr_lights */0]; if (khr_lights !== undefined) { return ArrayService$WonderCommonlib.reduceOneParam((function (param, lightData) { var color = lightData[/* color */1]; var pointLightArr = param[2]; var directionLightArr = param[1]; var ambientLightArr = param[0]; switch (lightData[/* type_ */0]) { case "ambient" : return /* tuple */[ ArrayService$Wonderjs.push(/* record */[/* color */_getColor(color)], ambientLightArr), directionLightArr, pointLightArr ]; case "directional" : return /* tuple */[ ambientLightArr, ArrayService$Wonderjs.push(/* record */[ /* color */_getColor(color), /* intensity */_getIntensity(lightData[/* intensity */2]) ], directionLightArr), pointLightArr ]; case "point" : return _convertPointLights(/* tuple */[ ambientLightArr, directionLightArr, pointLightArr ], lightData); default: return /* tuple */[ ambientLightArr, directionLightArr, pointLightArr ]; } }), /* tuple */[ /* array */[], /* array */[], /* array */[] ], khr_lights[/* lights */0]); } else { return /* tuple */[ /* array */[], /* array */[], /* array */[] ]; } } else { return /* tuple */[ /* array */[], /* array */[], /* array */[] ]; } } exports._getColor = _getColor; exports._getIntensity = _getIntensity; exports._convertPointLights = _convertPointLights; exports.convertToLights = convertToLights; /* ArrayService-Wonderjs Not a pure module */