2021-03-20 19:08:15 +00:00
/ *
* ATTENTION : The "eval" devtool has been used ( maybe by default in mode : "development" ) .
* This devtool is neither made for production nor for readable output files .
* It uses "eval()" calls to create a separate source file in the browser devtools .
* If you are trying to read the output file , select a different devtool ( https : //webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false" .
* If you are looking for production - ready output files , see mode : "production" ( https : //webpack.js.org/configuration/mode/).
* /
/******/ ( ( ) => { // webpackBootstrap
/******/ "use strict" ;
/******/ var _ _webpack _modules _ _ = ( {
/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/dat.gui/src/dat/gui/style.scss" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / css - loader / dist / cjs . js ! . / node _modules / sass - loader / dist / cjs . js ! . / node _modules / dat . gui / src / dat / gui / style . scss * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( " _ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ; \ n /* harmony export */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , { \ n /* harmony export */ \ " default \ " : ( ) => ( _ _WEBPACK _DEFAULT _EXPORT _ _ ) \ n /* harmony export */ } ) ; \ n /* harmony import */ var _css _loader _dist _runtime _api _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( /*! ../../../../css-loader/dist/runtime/api.js */ \ " . / node _modules / css - loader / dist / runtime / api . js \ " ) ; \ n /* harmony import */ var _css _loader _dist _runtime _api _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _css _loader _dist _runtime _api _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ ) ; \ n // Imports\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dg {\\n /** Clear list styles */\\n /* Auto-place container */\\n /* Auto-placed GUI's */\\n /* Line items that don't contain folders. */\\n /** Folder names */\\n /** Hides closed items */\\n /** Controller row */\\n /** Name-half (left) */\\n /** Controller-half (right) */\\n /** Controller placement */\\n /** Shorter number boxes when slider is present. */\\n /** Ensure the entire boolean and function row shows a hand */\\n /** allow overflow for color selector */\\n}\\n.dg ul {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n width: 100%;\\n clear: both;\\n}\\n.dg.ac {\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n height: 0;\\n z-index: 0;\\n}\\n.dg:not(.ac) .main {\\n /** Exclude mains in ac so that we don't hide close button */\\n overflow: hidden;\\n}\\n.dg.main {\\n -webkit-transition: opacity 0.1s linear;\\n -o-transition: opacity 0.1s linear;\\n -moz-transition: opacity 0.1s linear;\\n transition: opacity 0.1s linear;\\n}\\n.dg.main.taller-than-window {\\n overflow-y: auto;\\n}\\n.dg.main.taller-than-window .close-button {\\n opacity: 1;\\n /* TODO, these are style notes */\\n margin-top: -1px;\\n border-top: 1px solid #2c2c2c;\\n}\\n.dg.main ul.closed .close-button {\\n opacity: 1 !important;\\n}\\n.dg.main:hover .close-button,\\n.dg.main .close-button.drag {\\n opacity: 1;\\n}\\n.dg.main .close-button {\\n /*opacity: 0;*/\\n -webkit-transition: opacity 0.1s linear;\\n -o-transition: opacity 0.1s linear;\\n -moz-transition: opacity 0.1s linear;\\n transition: opacity 0.1s linear;\\n border: 0;\\n line-height: 19px;\\n height: 20px;\\n /* TODO, these are style notes */\\n cursor: pointer;\\n text-align: center;\\n background-color: #000;\\n}\\n.dg.main .close-button.close-top {\\n position: relative;\\n}\\n.dg.main .close-button.close-bottom {\\n position: absolute;\\n}\\n.dg.main .close-button:hover {\\n background-color: #111;\\n}\\n.dg.a {\\n float: right;\\n margin-right: 15px;\\n overflow-y: visible;\\n}\\n.dg.a.has-save > ul.close-top {\\n margin-top: 0;\\n}\\n.dg.a.has-save > ul.close-bottom {\\n margin-top: 27px;\\n}\\n.dg.a.has-save > ul.closed {\\n margin-top: 0;\\n}\\n.dg.a .save-row {\\n top: 0;\\n z-index: 1002;\\n}\\n.dg.a .save-row.close-top {\\n position: relative;\\n}\\n.dg.a .save-row.close-bottom {\\n position: fixed;\\n}\\n.dg li {\\n -webkit-transition: height 0.1s ease-out;\\n -o-transition: height 0.1s ease-out;\\n -moz-transition: height 0.1s ease-out;\\n transition: height 0.1s ease-out;\\n -webkit-transition: overflow 0.1s linear;\\n -o-transition: overflow 0.1s linear;\\n -moz-transition: overflow 0.1s linear;\\n transition: overflow 0.1s linear;\\n}\\n.dg li:not(.folder) {\\n cursor: auto;\\n height: 27px;\\n line-height: 27px;\\n padding: 0 4px 0 5px;\\n}\\n.dg li.folder {\\n padding: 0;\\n border-left: 4px solid rgba(0, 0, 0, 0);\\n}\\n.dg li.title {\\n cursor: pointer;\\n margin-left: -4px;\\n}\\n.dg .closed li:not(.title),\\n.dg .closed ul li,\\n.dg .closed ul li > * {\\n height: 0;\\n overflow: hidden;\\n border: 0;\\n}\\n.dg .cr {\\n clear: both;\\n padding-left: 3px;\\n height: 27px;\\n overflow: hidden;\\n}\\n.dg .property-name {\\n cursor: default;\\n float: left;\\n
/***/ } ) ,
/***/ "./node_modules/css-loader/dist/runtime/api.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / css - loader / dist / runtime / api . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( module ) => {
eval ( "\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\n//# sourceURL=webpack:///./node_modules/css-loader/dist/runtime/api.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/color/Color.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / color / Color . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _interpret__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./interpret */ \"./node_modules/dat.gui/src/dat/color/interpret.js\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./math */ \"./node_modules/dat.gui/src/dat/color/math.js\");\n/* harmony import */ var _toString__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toString */ \"./node_modules/dat.gui/src/dat/color/toString.js\");\n/* harmony import */ var _utils_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/common */ \"./node_modules/dat.gui/src/dat/utils/common.js\");\n/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\" ) ; \ n * you may not use this file except in compliance with the License . \ n * You may obtain a copy of the License at \ n * \ n * http : //www.apache.org/licenses/LICENSE-2.0\n */\n\n\n\n\n\n\nclass Color {\n constructor() {\n this.__state = _interpret__WEBPACK_IMPORTED_MODULE_0__.default.apply(this, arguments);\n\n if (this.__state === false) {\n throw new Error('Failed to interpret color arguments');\n }\n\n this.__state.a = this.__state.a || 1;\n }\n\n toString() {\n return (0,_toString__WEBPACK_IMPORTED_MODULE_2__.default)(this);\n }\n\n toHexString() {\n return (0,_toString__WEBPACK_IMPORTED_MODULE_2__.default)(this, true);\n }\n\n toOriginal() {\n return this.__state.conversion.write(this);\n }\n}\n\nfunction defineRGBComponent(target, component, componentHexIndex) {\n Object.defineProperty(target, component, {\n get: function() {\n if (this.__state.space === 'RGB') {\n return this.__state[component];\n }\n\n Color.recalculateRGB(this, component, componentHexIndex);\n\n return this.__state[component];\n },\n\n set: function(v) {\n if (this.__state.space !== 'RGB') {\n Color.recalculateRGB(this, component, componentHexIndex);\n this.__state.space = 'RGB';\n }\n\n this.__state[component] = v;\n }\n });\n}\n\nfunction defineHSVComponent(target, component) {\n Object.defineProperty(target, component, {\n get: function() {\n if (this.__state.space === 'HSV') {\n return this.__state[component];\n }\n\n Color.recalculateHSV(this);\n\n return this.__state[component];\n },\n\n set: function(v) {\n if (this.__state.space !== 'HSV') {\n Color.recalculateHSV(this);\n this.__state.space = 'HSV';\n }\n\n this.__state[component] = v;\n }\n });\n}\n\n\nColor.recalculateRGB = function(color, component, componentHexIndex) {\n if (color.__state.space === 'HEX') {\n color.__state[component] = _math__WEBPACK_IMPORTED_MODULE_1__.default.component_from_hex(color.__state.hex, componentHexIndex);\n } else if (color.__state.space === 'HSV') {\n _utils_common__WEBPACK_IMPORTED_MODULE_3__.default.extend(color.__state, _math__WEBPACK_IMPORTED_MODULE_1__.default.hsv_to_rgb(color.__state.h, color.__state.s, color.__state.v));\n } else {\n throw new Error('Corrupted color state');\n }\n};\n\nColor.recalculateHSV = function(color) {\n const result = _math__WEBPACK_IMPORTED_MODULE_1__.default.rgb_to_hsv(color.r, color.g, color.b);\n\n _utils_common__WEBPACK_IMPORTED_MODULE_3__.default.extend(color.__state,\n {\n s: result.s,\n v: result.v\n }\n );\n\n if (!_utils_common__WEBPACK_IMPORTED_MODULE_3__.default.isNaN(result.h)) {\n color.__state.h = result.h;\n } else if (_utils_common__WEBPACK_IMPORTED_MODULE_3__.default.isUndefined(color.__state.h)) {\n color.__state.h = 0;\n }\n};\n\nColor.COMPONENTS = ['r', 'g', 'b', 'h', 's', 'v', 'hex', 'a'];\n\ndefineRGBComponent(Color.prototype, 'r', 2);\ndefine
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/color/interpret.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / color / interpret . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( " _ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ; \ n /* harmony export */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , { \ n /* harmony export */ \ " default \ " : ( ) => ( _ _WEBPACK _DEFAULT _EXPORT _ _ ) \ n /* harmony export */ } ) ; \ n /* harmony import */ var _toString _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( /*! ./toString */ \ " . / node _modules / dat . gui / src / dat / color / toString . js \ " ) ; \ n /* harmony import */ var _utils _common _ _WEBPACK _IMPORTED _MODULE _1 _ _ = _ _webpack _require _ _ ( /*! ../utils/common */ \ " . / node _modules / dat . gui / src / dat / utils / common . js \ " ) ; \ n /**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */ \ n \ n \ n \ n \ nconst INTERPRETATIONS = [ \ n // Strings\n {\n litmus: _utils_common__WEBPACK_IMPORTED_MODULE_1__.default.isString,\n conversions: {\n THREE_CHAR_HEX: {\n read: function(original) {\n const test = original.match(/^#([A-F0-9])([A-F0-9])([A-F0-9])$/i);\n if (test === null) {\n return false;\n }\n\n return {\n space: 'HEX',\n hex: parseInt(\n '0x' +\n test[1].toString() + test[1].toString() +\n test[2].toString() + test[2].toString() +\n test[3].toString() + test[3].toString(), 0)\n };\n },\n\n write: _toString__WEBPACK_IMPORTED_MODULE_0__.default\n },\n\n SIX_CHAR_HEX: {\n read: function(original) {\n const test = original.match(/^#([A-F0-9]{6})$/i);\n if (test === null) {\n return false;\n }\n\n return {\n space: 'HEX',\n hex: parseInt('0x' + test[1].toString(), 0)\n };\n },\n\n write: _toString__WEBPACK_IMPORTED_MODULE_0__.default\n },\n\n CSS_RGB: {\n read: function(original) {\n const test = original.match(/^rgb\\(\\s*(.+)\\s*,\\s*(.+)\\s*,\\s*(.+)\\s*\\)/);\n if (test === null) {\n return false;\n }\n\n return {\n space: 'RGB',\n r: parseFloat(test[1]),\n g: parseFloat(test[2]),\n b: parseFloat(test[3])\n };\n },\n\n write: _toString__WEBPACK_IMPORTED_MODULE_0__.default\n },\n\n CSS_RGBA: {\n read: function(original) {\n const test = original.match(/^rgba\\(\\s*(.+)\\s*,\\s*(.+)\\s*,\\s*(.+)\\s*,\\s*(.+)\\s*\\)/);\n if (test === null) {\n return false;\n }\n\n return {\n space: 'RGB',\n r: parseFloat(test[1]),\n g: parseFloat(test[2]),\n b: parseFloat(test[3]),\n a: parseFloat(test[4])\n };\n },\n\n write: _toString__WEBPACK_IMPORTED_MODULE_0__.default\n }\n }\n },\n\n // Numbers\n {\n litmus: _utils_common__WEBPACK_IMPORTED_MODULE_1__.default.isNumber,\n\n conversions: {\n\n HEX: {\n read: function(original) {\n return {\n space: 'HEX',\n hex: original,\n conversionName: 'HEX'\n };\n },\n\n write: function(color) {\n return color.hex;\n }\n }\n\n }\n\n },\n\n // Arrays\n {\n litmus: _utils_common__WEBPACK_IMPORTED_MODULE_1__.default.isArray,\n conversions: {\n RGB_ARRAY: {\n read: function(original) {\n if (original.length !== 3) {\n return false;\n }\n\n return {\n space: 'RGB',\n r: original[0],\n g: original[1],\n b: original[2]\n };\n },\n\n write: function(color) {\n return [color.r, color.g, color.b];\n }\n },\n\n RGBA_ARRAY: {\n read: function(original) {\n if (original.length
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/color/math.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / color / math . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n\nlet tmpComponent;\n\nconst ColorMath = {\n hsv_to_rgb: function(h, s, v) {\n const hi = Math.floor(h / 60) % 6;\n\n const f = h / 60 - Math.floor(h / 60);\n const p = v * (1.0 - s);\n const q = v * (1.0 - (f * s));\n const t = v * (1.0 - ((1.0 - f) * s));\n\n const c = [\n [v, t, p],\n [q, v, p],\n [p, v, t],\n [p, q, v],\n [t, p, v],\n [v, p, q]\n ][hi];\n\n return {\n r: c[0] * 255,\n g: c[1] * 255,\n b: c[2] * 255\n };\n },\n\n rgb_to_hsv: function(r, g, b) {\n const min = Math.min(r, g, b);\n const max = Math.max(r, g, b);\n const delta = max - min;\n let h;\n let s;\n\n if (max !== 0) {\n s = delta / max;\n } else {\n return {\n h: NaN,\n s: 0,\n v: 0\n };\n }\n\n if (r === max) {\n h = (g - b) / delta;\n } else if (g === max) {\n h = 2 + (b - r) / delta;\n } else {\n h = 4 + (r - g) / delta;\n }\n h /= 6;\n if (h < 0) {\n h += 1;\n }\n\n return {\n h: h * 360,\n s: s,\n v: max / 255\n };\n },\n\n rgb_to_hex: function(r, g, b) {\n let hex = this.hex_with_component(0, 2, r);\n hex = this.hex_with_component(hex, 1, g);\n hex = this.hex_with_component(hex, 0, b);\n return hex;\n },\n\n component_from_hex: function(hex, componentIndex) {\n return (hex >> (componentIndex * 8)) & 0xFF;\n },\n\n hex_with_component: function(hex, componentIndex, value) {\n return value << (tmpComponent = componentIndex * 8) | (hex & ~(0xFF << tmpComponent));\n }\n};\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ColorMath);\n\n\n//# sourceURL=webpack:///./node_modules/dat.gui/src/dat/color/math.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/color/toString.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / color / toString . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n\n/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(color, forceCSSHex) {\n const colorFormat = color.__state.conversionName.toString();\n\n const r = Math.round(color.r);\n const g = Math.round(color.g);\n const b = Math.round(color.b);\n const a = color.a;\n const h = Math.round(color.h);\n const s = color.s.toFixed(1);\n const v = color.v.toFixed(1);\n\n if (forceCSSHex || (colorFormat === 'THREE_CHAR_HEX') || (colorFormat === 'SIX_CHAR_HEX')) {\n let str = color.hex.toString(16);\n while (str.length < 6) {\n str = '0' + str;\n }\n return '#' + str;\n } else if (colorFormat === 'CSS_RGB') {\n return 'rgb(' + r + ',' + g + ',' + b + ')';\n } else if (colorFormat === 'CSS_RGBA') {\n return 'rgba(' + r + ',' + g + ',' + b + ',' + a + ')';\n } else if (colorFormat === 'HEX') {\n return '0x' + color.hex.toString(16);\n } else if (colorFormat === 'RGB_ARRAY') {\n return '[' + r + ',' + g + ',' + b + ']';\n } else if (colorFormat === 'RGBA_ARRAY') {\n return '[' + r + ',' + g + ',' + b + ',' + a + ']';\n } else if (colorFormat === 'RGB_OBJ') {\n return '{r:' + r + ',g:' + g + ',b:' + b + '}';\n } else if (colorFormat === 'RGBA_OBJ') {\n return '{r:' + r + ',g:' + g + ',b:' + b + ',a:' + a + '}';\n } else if (colorFormat === 'HSV_OBJ') {\n return '{h:' + h + ',s:' + s + ',v:' + v + '}';\n } else if (colorFormat === 'HSVA_OBJ') {\n return '{h:' + h + ',s:' + s + ',v:' + v + ',a:' + a + '}';\n }\n\n return 'unknown format';\n}\n\n\n//# sourceURL=webpack:///./node_modules/dat.gui/src/dat/color/toString.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/controllers/BooleanController.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / controllers / BooleanController . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Controller */ \"./node_modules/dat.gui/src/dat/controllers/Controller.js\");\n/* harmony import */ var _dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom/dom */ \"./node_modules/dat.gui/src/dat/dom/dom.js\");\n/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n\n\n\n\n/**\n * @class Provides a checkbox input to alter the boolean property of an object.\n *\n * @extends dat.controllers.Controller\n *\n * @param {Object} object The object to be manipulated\n * @param {string} property The name of the property to be manipulated\n */\nclass BooleanController extends _Controller__WEBPACK_IMPORTED_MODULE_0__.default {\n constructor(object, property) {\n super(object, property);\n\n const _this = this;\n this.__prev = this.getValue();\n\n this.__checkbox = document.createElement('input');\n this.__checkbox.setAttribute('type', 'checkbox');\n\n function onChange() {\n _this.setValue(!_this.__prev);\n }\n\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(this.__checkbox, 'change', onChange, false);\n\n this.domElement.appendChild(this.__checkbox);\n\n // Match original value\n this.updateDisplay();\n }\n\n setValue(v) {\n const toReturn = super.setValue(v);\n if (this.__onFinishChange) {\n this.__onFinishChange.call(this, this.getValue());\n }\n this.__prev = this.getValue();\n return toReturn;\n }\n\n updateDisplay() {\n if (this.getValue() === true) {\n this.__checkbox.setAttribute('checked', 'checked');\n this.__checkbox.checked = true;\n this.__prev = true;\n } else {\n this.__checkbox.checked = false;\n this.__prev = false;\n }\n\n return super.updateDisplay();\n }\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (BooleanController);\n\n\n//# sourceURL=webpack:///./node_modules/dat.gui/src/dat/controllers/BooleanController.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/controllers/ColorController.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / controllers / ColorController . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Controller */ \"./node_modules/dat.gui/src/dat/controllers/Controller.js\");\n/* harmony import */ var _dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom/dom */ \"./node_modules/dat.gui/src/dat/dom/dom.js\");\n/* harmony import */ var _color_Color__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../color/Color */ \"./node_modules/dat.gui/src/dat/color/Color.js\");\n/* harmony import */ var _color_interpret__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../color/interpret */ \"./node_modules/dat.gui/src/dat/color/interpret.js\");\n/* harmony import */ var _utils_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/common */ \"./node_modules/dat.gui/src/dat/utils/common.js\");\n/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\" ) ; \ n * you may not use this file except in compliance with the License . \ n * You may obtain a copy of the License at \ n * \ n * http : //www.apache.org/licenses/LICENSE-2.0\n */\n\n\n\n\n\n\n\n/**\n * @class Represents a given property of an object that is a color.\n * @param {Object} object\n * @param {string} property\n */\nclass ColorController extends _Controller__WEBPACK_IMPORTED_MODULE_0__.default {\n constructor(object, property) {\n super(object, property);\n\n this.__color = new _color_Color__WEBPACK_IMPORTED_MODULE_2__.default(this.getValue());\n this.__temp = new _color_Color__WEBPACK_IMPORTED_MODULE_2__.default(0);\n\n const _this = this;\n\n this.domElement = document.createElement('div');\n\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.makeSelectable(this.domElement, false);\n\n this.__selector = document.createElement('div');\n this.__selector.className = 'selector';\n\n this.__saturation_field = document.createElement('div');\n this.__saturation_field.className = 'saturation-field';\n\n this.__field_knob = document.createElement('div');\n this.__field_knob.className = 'field-knob';\n this.__field_knob_border = '2px solid ';\n\n this.__hue_knob = document.createElement('div');\n this.__hue_knob.className = 'hue-knob';\n\n this.__hue_field = document.createElement('div');\n this.__hue_field.className = 'hue-field';\n\n this.__input = document.createElement('input');\n this.__input.type = 'text';\n this.__input_textShadow = '0 1px 1px ';\n\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(this.__input, 'keydown', function(e) {\n if (e.keyCode === 13) { // on enter\n onBlur.call(this);\n }\n });\n\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(this.__input, 'blur', onBlur);\n\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(this.__selector, 'mousedown', function(/* e */) {\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.addClass(this, 'drag')\n .bind(window, 'mouseup', function(/* e */) {\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.removeClass(_this.__selector, 'drag');\n });\n });\n\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(this.__selector, 'touchstart', function(/* e */) {\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.addClass(this, 'drag')\n .bind(window, 'touchend', function(/* e */) {\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.removeClass(_this.__selector, 'drag');\n });\n });\n\n const valueField = document.createElement('div');\n\n _utils_common__WEBPACK_IMPORTED_MODULE_4__.default.extend(this.__selector.style, {\n width: '122px',\n height: '102px',\n padding: '3px',\n backgroundColor: '#222',\n boxShadow: '0px 1px 3px rgba(0,0,0,0.3)'\n });\n\n _
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/controllers/Controller.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / controllers / Controller . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n\n/**\n * @class An \"abstract\" class that represents a given property of an object.\n *\n * @param {Object} object The object to be manipulated\n * @param {string} property The name of the property to be manipulated\n */\nclass Controller {\n constructor(object, property) {\n this.initialValue = object[property];\n\n /**\n * Those who extend this class will put their DOM elements in here.\n * @type {DOMElement}\n */\n this.domElement = document.createElement('div');\n\n /**\n * The object to manipulate\n * @type {Object}\n */\n this.object = object;\n\n /**\n * The name of the property to manipulate\n * @type {String}\n */\n this.property = property;\n\n /**\n * The function to be called on change.\n * @type {Function}\n * @ignore\n */\n this.__onChange = undefined;\n\n /**\n * The function to be called on finishing change.\n * @type {Function}\n * @ignore\n */\n this.__onFinishChange = undefined;\n }\n\n /**\n * Specify that a function fire every time someone changes the value with\n * this Controller.\n *\n * @param {Function} fnc This function will be called whenever the value\n * is modified via this Controller.\n * @returns {Controller} this\n */\n onChange(fnc) {\n this.__onChange = fnc;\n return this;\n }\n\n /**\n * Specify that a function fire every time someone \"finishes\" changing\n * the value wih this Controller. Useful for values that change\n * incrementally like numbers or strings.\n *\n * @param {Function} fnc This function will be called whenever\n * someone \"finishes\" changing the value via this Controller.\n * @returns {Controller} this\n */\n onFinishChange(fnc) {\n this.__onFinishChange = fnc;\n return this;\n }\n\n /**\n * Change the value of <code>object[property]</code>\n *\n * @param {Object} newValue The new value of <code>object[property]</code>\n */\n setValue(newValue) {\n this.object[this.property] = newValue;\n if (this.__onChange) {\n this.__onChange.call(this, newValue);\n }\n\n this.updateDisplay();\n return this;\n }\n\n /**\n * Gets the value of <code>object[property]</code>\n *\n * @returns {Object} The current value of <code>object[property]</code>\n */\n getValue() {\n return this.object[this.property];\n }\n\n /**\n * Refreshes the visual display of a Controller in order to keep sync\n * with the object's current value.\n * @returns {Controller} this\n */\n updateDisplay() {\n return this;\n }\n\n /**\n * @returns {Boolean} true if the value has deviated from initialValue\n */\n isModified() {\n return this.initialValue !== this.getValue();\n }\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Controller);\n\n\n//# sourceURL=webpack:///./node_modules/dat.gui/src/dat/controllers/Controller.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/controllers/ControllerFactory.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / controllers / ControllerFactory . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _OptionController__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./OptionController */ \"./node_modules/dat.gui/src/dat/controllers/OptionController.js\");\n/* harmony import */ var _NumberControllerBox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./NumberControllerBox */ \"./node_modules/dat.gui/src/dat/controllers/NumberControllerBox.js\");\n/* harmony import */ var _NumberControllerSlider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./NumberControllerSlider */ \"./node_modules/dat.gui/src/dat/controllers/NumberControllerSlider.js\");\n/* harmony import */ var _StringController__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./StringController */ \"./node_modules/dat.gui/src/dat/controllers/StringController.js\");\n/* harmony import */ var _FunctionController__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./FunctionController */ \"./node_modules/dat.gui/src/dat/controllers/FunctionController.js\");\n/* harmony import */ var _BooleanController__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./BooleanController */ \"./node_modules/dat.gui/src/dat/controllers/BooleanController.js\");\n/* harmony import */ var _utils_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/common */ \"./node_modules/dat.gui/src/dat/utils/common.js\");\n/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\" ) ; \ n * you may not use this file except in compliance with the License . \ n * You may obtain a copy of the License at \ n * \ n * http : //www.apache.org/licenses/LICENSE-2.0\n */\n\n\n\n\n\n\n\n\n\nconst ControllerFactory = function(object, property) {\n const initialValue = object[property];\n\n // Providing options?\n if (_utils_common__WEBPACK_IMPORTED_MODULE_6__.default.isArray(arguments[2]) || _utils_common__WEBPACK_IMPORTED_MODULE_6__.default.isObject(arguments[2])) {\n return new _OptionController__WEBPACK_IMPORTED_MODULE_0__.default(object, property, arguments[2]);\n }\n\n // Providing a map?\n if (_utils_common__WEBPACK_IMPORTED_MODULE_6__.default.isNumber(initialValue)) {\n // Has min and max? (slider)\n if (_utils_common__WEBPACK_IMPORTED_MODULE_6__.default.isNumber(arguments[2]) && _utils_common__WEBPACK_IMPORTED_MODULE_6__.default.isNumber(arguments[3])) {\n // has step?\n if (_utils_common__WEBPACK_IMPORTED_MODULE_6__.default.isNumber(arguments[4])) {\n return new _NumberControllerSlider__WEBPACK_IMPORTED_MODULE_2__.default(object, property,\n arguments[2], arguments[3], arguments[4]);\n }\n\n return new _NumberControllerSlider__WEBPACK_IMPORTED_MODULE_2__.default(object, property, arguments[2], arguments[3]);\n }\n\n // number box\n if (_utils_common__WEBPACK_IMPORTED_MODULE_6__.default.isNumber(arguments[4])) { // has step\n return new _NumberControllerBox__WEBPACK_IMPORTED_MODULE_1__.default(object, property,\n { min: arguments[2], max: arguments[3], step: arguments[4] });\n }\n return new _NumberControllerBox__WEBPACK_IMPORTED_MODULE_1__.default(object, property, { min: arguments[2], max: arguments[3] });\n }\n\n if (_utils_common__WEBPACK_IMPORTED_MODULE_6__.default.isString(initialValue)) {\n return new _StringController__WEBPACK_IMPORTED_MODULE_3__.default(object, property);\n }\n\n if (_utils_common__WEBPACK_IMPORTED_MODULE_6__.default.isFunction(initialValue)) {\n return new _FunctionController__WEBPACK_IMPORTED_MODULE_4__.default(object, property, '');\n }\n\n if (_utils_common__WEBPACK_IMPORTED_MODULE_6__.default.isBoolean(initialValue)) {\n return new _BooleanController__WEBPACK_IMPORTED_MODULE_5__.default(object, property);\n }\n\n return n
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/controllers/FunctionController.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / controllers / FunctionController . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Controller */ \"./node_modules/dat.gui/src/dat/controllers/Controller.js\");\n/* harmony import */ var _dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom/dom */ \"./node_modules/dat.gui/src/dat/dom/dom.js\");\n/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n\n\n\n\n/**\n * @class Provides a GUI interface to fire a specified method, a property of an object.\n *\n * @extends dat.controllers.Controller\n *\n * @param {Object} object The object to be manipulated\n * @param {string} property The name of the property to be manipulated\n */\nclass FunctionController extends _Controller__WEBPACK_IMPORTED_MODULE_0__.default {\n constructor(object, property, text) {\n super(object, property);\n\n const _this = this;\n\n this.__button = document.createElement('div');\n this.__button.innerHTML = text === undefined ? 'Fire' : text;\n\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(this.__button, 'click', function(e) {\n e.preventDefault();\n _this.fire();\n return false;\n });\n\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.addClass(this.__button, 'button');\n\n this.domElement.appendChild(this.__button);\n }\n\n fire() {\n if (this.__onChange) {\n this.__onChange.call(this);\n }\n this.getValue().call(this.object);\n if (this.__onFinishChange) {\n this.__onFinishChange.call(this, this.getValue());\n }\n }\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FunctionController);\n\n\n//# sourceURL=webpack:///./node_modules/dat.gui/src/dat/controllers/FunctionController.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/controllers/NumberController.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / controllers / NumberController . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Controller */ \"./node_modules/dat.gui/src/dat/controllers/Controller.js\");\n/* harmony import */ var _utils_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/common */ \"./node_modules/dat.gui/src/dat/utils/common.js\");\n/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n\n\n\n\nfunction numDecimals(x) {\n const _x = x.toString();\n if (_x.indexOf('.') > -1) {\n return _x.length - _x.indexOf('.') - 1;\n }\n\n return 0;\n}\n\n/**\n * @class Represents a given property of an object that is a number.\n *\n * @extends dat.controllers.Controller\n *\n * @param {Object} object The object to be manipulated\n * @param {string} property The name of the property to be manipulated\n * @param {Object} [params] Optional parameters\n * @param {Number} [params.min] Minimum allowed value\n * @param {Number} [params.max] Maximum allowed value\n * @param {Number} [params.step] Increment by which to change value\n */\nclass NumberController extends _Controller__WEBPACK_IMPORTED_MODULE_0__.default {\n constructor(object, property, params) {\n super(object, property);\n\n const _params = params || {};\n\n this.__min = _params.min;\n this.__max = _params.max;\n this.__step = _params.step;\n\n if (_utils_common__WEBPACK_IMPORTED_MODULE_1__.default.isUndefined(this.__step)) {\n if (this.initialValue === 0) {\n this.__impliedStep = 1; // What are we, psychics?\n } else {\n // Hey Doug, check this out.\n this.__impliedStep = Math.pow(10, Math.floor(Math.log(Math.abs(this.initialValue)) / Math.LN10)) / 10;\n }\n } else {\n this.__impliedStep = this.__step;\n }\n\n this.__precision = numDecimals(this.__impliedStep);\n }\n\n setValue(v) {\n let _v = v;\n\n if (this.__min !== undefined && _v < this.__min) {\n _v = this.__min;\n } else if (this.__max !== undefined && _v > this.__max) {\n _v = this.__max;\n }\n\n if (this.__step !== undefined && _v % this.__step !== 0) {\n _v = Math.round(_v / this.__step) * this.__step;\n }\n\n return super.setValue(_v);\n }\n\n /**\n * Specify a minimum value for <code>object[property]</code>.\n *\n * @param {Number} minValue The minimum value for\n * <code>object[property]</code>\n * @returns {dat.controllers.NumberController} this\n */\n min(minValue) {\n this.__min = minValue;\n return this;\n }\n\n /**\n * Specify a maximum value for <code>object[property]</code>.\n *\n * @param {Number} maxValue The maximum value for\n * <code>object[property]</code>\n * @returns {dat.controllers.NumberController} this\n */\n max(maxValue) {\n this.__max = maxValue;\n return this;\n }\n\n /**\n * Specify a step value that dat.controllers.NumberController\n * increments by.\n *\n * @param {Number} stepValue The step value for\n * dat.controllers.NumberController\n * @default if minimum and maximum specified increment is 1% of the\n * difference otherwise stepValue is 1\n * @returns {dat.controllers.NumberController} this\n */\n step(stepValue) {\n this.__step = stepValue;\n this.__impliedStep = stepValue;\n this.__precision = numDecimals(stepValue);\n return this;\n }\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NumberController);\n\n\n//# sourceURL=webpack:///./node_modules/dat.gui/src/dat/controllers/NumberController.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/controllers/NumberControllerBox.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / controllers / NumberControllerBox . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _NumberController__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./NumberController */ \"./node_modules/dat.gui/src/dat/controllers/NumberController.js\");\n/* harmony import */ var _dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom/dom */ \"./node_modules/dat.gui/src/dat/dom/dom.js\");\n/* harmony import */ var _utils_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/common */ \"./node_modules/dat.gui/src/dat/utils/common.js\");\n/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\" ) ; \ n * you may not use this file except in compliance with the License . \ n * You may obtain a copy of the License at \ n * \ n * http : //www.apache.org/licenses/LICENSE-2.0\n */\n\n\n\n\n\nfunction roundToDecimal(value, decimals) {\n const tenTo = Math.pow(10, decimals);\n return Math.round(value * tenTo) / tenTo;\n}\n\n/**\n * @class Represents a given property of an object that is a number and\n * provides an input element with which to manipulate it.\n *\n * @extends dat.controllers.Controller\n * @extends dat.controllers.NumberController\n *\n * @param {Object} object The object to be manipulated\n * @param {string} property The name of the property to be manipulated\n * @param {Object} [params] Optional parameters\n * @param {Number} [params.min] Minimum allowed value\n * @param {Number} [params.max] Maximum allowed value\n * @param {Number} [params.step] Increment by which to change value\n */\nclass NumberControllerBox extends _NumberController__WEBPACK_IMPORTED_MODULE_0__.default {\n constructor(object, property, params) {\n super(object, property, params);\n\n this.__truncationSuspended = false;\n\n const _this = this;\n\n /**\n * {Number} Previous mouse y position\n * @ignore\n */\n let prevY;\n\n function onChange() {\n const attempted = parseFloat(_this.__input.value);\n if (!_utils_common__WEBPACK_IMPORTED_MODULE_2__.default.isNaN(attempted)) {\n _this.setValue(attempted);\n }\n }\n\n function onFinish() {\n if (_this.__onFinishChange) {\n _this.__onFinishChange.call(_this, _this.getValue());\n }\n }\n\n function onBlur() {\n onFinish();\n }\n\n function onMouseDrag(e) {\n const diff = prevY - e.clientY;\n _this.setValue(_this.getValue() + diff * _this.__impliedStep);\n\n prevY = e.clientY;\n }\n\n function onMouseUp() {\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.unbind(window, 'mousemove', onMouseDrag);\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.unbind(window, 'mouseup', onMouseUp);\n onFinish();\n }\n\n function onMouseDown(e) {\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(window, 'mousemove', onMouseDrag);\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(window, 'mouseup', onMouseUp);\n prevY = e.clientY;\n }\n\n this.__input = document.createElement('input');\n this.__input.setAttribute('type', 'text');\n\n // Makes it so manually specified values are not truncated.\n\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(this.__input, 'change', onChange);\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(this.__input, 'blur', onBlur);\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(this.__input, 'mousedown', onMouseDown);\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(this.__input, 'keydown', function(e) {\n // When pressing enter, you can be as precise as you want.\n if (e.keyCode === 13) {\n _this.__truncationSuspended = true;\n this.blur();\n _this.__truncationSuspended = false;\n onFinish();\n }\n });\n\n this.updateDisplay();\n\n
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/controllers/NumberControllerSlider.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / controllers / NumberControllerSlider . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _NumberController__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./NumberController */ \"./node_modules/dat.gui/src/dat/controllers/NumberController.js\");\n/* harmony import */ var _dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom/dom */ \"./node_modules/dat.gui/src/dat/dom/dom.js\");\n/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\" ) ; \ n * you may not use this file except in compliance with the License . \ n * You may obtain a copy of the License at \ n * \ n * http : //www.apache.org/licenses/LICENSE-2.0\n */\n\n\n\n\nfunction map(v, i1, i2, o1, o2) {\n return o1 + (o2 - o1) * ((v - i1) / (i2 - i1));\n}\n\n/**\n * @class Represents a given property of an object that is a number, contains\n * a minimum and maximum, and provides a slider element with which to\n * manipulate it. It should be noted that the slider element is made up of\n * <code><div></code> tags, <strong>not</strong> the html5\n * <code><slider></code> element.\n *\n * @extends dat.controllers.Controller\n * @extends dat.controllers.NumberController\n *\n * @param {Object} object The object to be manipulated\n * @param {string} property The name of the property to be manipulated\n * @param {Number} minValue Minimum allowed value\n * @param {Number} maxValue Maximum allowed value\n * @param {Number} stepValue Increment by which to change value\n */\nclass NumberControllerSlider extends _NumberController__WEBPACK_IMPORTED_MODULE_0__.default {\n constructor(object, property, min, max, step) {\n super(object, property, { min: min, max: max, step: step });\n\n const _this = this;\n\n this.__background = document.createElement('div');\n this.__foreground = document.createElement('div');\n\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(this.__background, 'mousedown', onMouseDown);\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(this.__background, 'touchstart', onTouchStart);\n\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.addClass(this.__background, 'slider');\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.addClass(this.__foreground, 'slider-fg');\n\n function onMouseDown(e) {\n document.activeElement.blur();\n\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(window, 'mousemove', onMouseDrag);\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(window, 'mouseup', onMouseUp);\n\n onMouseDrag(e);\n }\n\n function onMouseDrag(e) {\n e.preventDefault();\n\n const bgRect = _this.__background.getBoundingClientRect();\n\n _this.setValue(\n map(e.clientX, bgRect.left, bgRect.right, _this.__min, _this.__max)\n );\n\n return false;\n }\n\n function onMouseUp() {\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.unbind(window, 'mousemove', onMouseDrag);\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.unbind(window, 'mouseup', onMouseUp);\n if (_this.__onFinishChange) {\n _this.__onFinishChange.call(_this, _this.getValue());\n }\n }\n\n function onTouchStart(e) {\n if (e.touches.length !== 1) { return; }\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(window, 'touchmove', onTouchMove);\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(window, 'touchend', onTouchEnd);\n onTouchMove(e);\n }\n\n function onTouchMove(e) {\n const clientX = e.touches[0].clientX;\n const bgRect = _this.__background.getBoundingClientRect();\n\n _this.setValue(\n map(clientX, bgRect.left, bgRect.right, _this.__min, _this.__max)\n );\n }\n\n function onTouchEnd() {\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.unbind(window, 'touchmove', onTouchMove);\n
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/controllers/OptionController.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / controllers / OptionController . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Controller */ \"./node_modules/dat.gui/src/dat/controllers/Controller.js\");\n/* harmony import */ var _dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom/dom */ \"./node_modules/dat.gui/src/dat/dom/dom.js\");\n/* harmony import */ var _utils_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/common */ \"./node_modules/dat.gui/src/dat/utils/common.js\");\n/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n\n\n\n\n\n/**\n * @class Provides a select input to alter the property of an object, using a\n * list of accepted values.\n *\n * @extends dat.controllers.Controller\n *\n * @param {Object} object The object to be manipulated\n * @param {string} property The name of the property to be manipulated\n * @param {Object|string[]} options A map of labels to acceptable values, or\n * a list of acceptable string values.\n */\nclass OptionController extends _Controller__WEBPACK_IMPORTED_MODULE_0__.default {\n constructor(object, property, opts) {\n super(object, property);\n\n let options = opts;\n\n const _this = this;\n\n /**\n * The drop down menu\n * @ignore\n */\n this.__select = document.createElement('select');\n\n if (_utils_common__WEBPACK_IMPORTED_MODULE_2__.default.isArray(options)) {\n const map = {};\n _utils_common__WEBPACK_IMPORTED_MODULE_2__.default.each(options, function(element) {\n map[element] = element;\n });\n options = map;\n }\n\n _utils_common__WEBPACK_IMPORTED_MODULE_2__.default.each(options, function(value, key) {\n const opt = document.createElement('option');\n opt.innerHTML = key;\n opt.setAttribute('value', value);\n _this.__select.appendChild(opt);\n });\n\n // Acknowledge original value\n this.updateDisplay();\n\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(this.__select, 'change', function() {\n const desiredValue = this.options[this.selectedIndex].value;\n _this.setValue(desiredValue);\n });\n\n this.domElement.appendChild(this.__select);\n }\n\n setValue(v) {\n const toReturn = super.setValue(v);\n\n if (this.__onFinishChange) {\n this.__onFinishChange.call(this, this.getValue());\n }\n return toReturn;\n }\n\n updateDisplay() {\n if (_dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.isActive(this.__select)) return this; // prevent number from updating if user is trying to manually update\n this.__select.value = this.getValue();\n return super.updateDisplay();\n }\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OptionController);\n\n\n//# sourceURL=webpack:///./node_modules/dat.gui/src/dat/controllers/OptionController.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/controllers/StringController.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / controllers / StringController . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Controller */ \"./node_modules/dat.gui/src/dat/controllers/Controller.js\");\n/* harmony import */ var _dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom/dom */ \"./node_modules/dat.gui/src/dat/dom/dom.js\");\n/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n\n\n\n\n/**\n * @class Provides a text input to alter the string property of an object.\n *\n * @extends dat.controllers.Controller\n *\n * @param {Object} object The object to be manipulated\n * @param {string} property The name of the property to be manipulated\n */\nclass StringController extends _Controller__WEBPACK_IMPORTED_MODULE_0__.default {\n constructor(object, property) {\n super(object, property);\n\n const _this = this;\n\n function onChange() {\n _this.setValue(_this.__input.value);\n }\n\n function onBlur() {\n if (_this.__onFinishChange) {\n _this.__onFinishChange.call(_this, _this.getValue());\n }\n }\n\n this.__input = document.createElement('input');\n this.__input.setAttribute('type', 'text');\n\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(this.__input, 'keyup', onChange);\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(this.__input, 'change', onChange);\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(this.__input, 'blur', onBlur);\n _dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.bind(this.__input, 'keydown', function(e) {\n if (e.keyCode === 13) {\n this.blur();\n }\n });\n\n this.updateDisplay();\n\n this.domElement.appendChild(this.__input);\n }\n\n updateDisplay() {\n // Stops the caret from moving on account of:\n // keyup -> setValue -> updateDisplay\n if (!_dom_dom__WEBPACK_IMPORTED_MODULE_1__.default.isActive(this.__input)) {\n this.__input.value = this.getValue();\n }\n return super.updateDisplay();\n }\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (StringController);\n\n\n//# sourceURL=webpack:///./node_modules/dat.gui/src/dat/controllers/StringController.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/dom/CenteredDiv.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / dom / CenteredDiv . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom/dom */ \"./node_modules/dat.gui/src/dat/dom/dom.js\");\n/* harmony import */ var _utils_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/common */ \"./node_modules/dat.gui/src/dat/utils/common.js\");\n/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\" ) ; \ n * you may not use this file except in compliance with the License . \ n * You may obtain a copy of the License at \ n * \ n * http : //www.apache.org/licenses/LICENSE-2.0\n */\n\n\n\n\nclass CenteredDiv {\n constructor() {\n this.backgroundElement = document.createElement('div');\n _utils_common__WEBPACK_IMPORTED_MODULE_1__.default.extend(this.backgroundElement.style, {\n backgroundColor: 'rgba(0,0,0,0.8)',\n top: 0,\n left: 0,\n display: 'none',\n zIndex: '1000',\n opacity: 0,\n WebkitTransition: 'opacity 0.2s linear',\n transition: 'opacity 0.2s linear'\n });\n\n _dom_dom__WEBPACK_IMPORTED_MODULE_0__.default.makeFullscreen(this.backgroundElement);\n this.backgroundElement.style.position = 'fixed';\n\n this.domElement = document.createElement('div');\n _utils_common__WEBPACK_IMPORTED_MODULE_1__.default.extend(this.domElement.style, {\n position: 'fixed',\n display: 'none',\n zIndex: '1001',\n opacity: 0,\n WebkitTransition: '-webkit-transform 0.2s ease-out, opacity 0.2s linear',\n transition: 'transform 0.2s ease-out, opacity 0.2s linear'\n });\n\n\n document.body.appendChild(this.backgroundElement);\n document.body.appendChild(this.domElement);\n\n const _this = this;\n _dom_dom__WEBPACK_IMPORTED_MODULE_0__.default.bind(this.backgroundElement, 'click', function() {\n _this.hide();\n });\n }\n\n show() {\n const _this = this;\n\n this.backgroundElement.style.display = 'block';\n\n this.domElement.style.display = 'block';\n this.domElement.style.opacity = 0;\n// this.domElement.style.top = '52%';\n this.domElement.style.webkitTransform = 'scale(1.1)';\n\n this.layout();\n\n _utils_common__WEBPACK_IMPORTED_MODULE_1__.default.defer(function() {\n _this.backgroundElement.style.opacity = 1;\n _this.domElement.style.opacity = 1;\n _this.domElement.style.webkitTransform = 'scale(1)';\n });\n }\n\n /**\n * Hide centered div\n */\n hide() {\n const _this = this;\n\n const hide = function() {\n _this.domElement.style.display = 'none';\n _this.backgroundElement.style.display = 'none';\n\n _dom_dom__WEBPACK_IMPORTED_MODULE_0__.default.unbind(_this.domElement, 'webkitTransitionEnd', hide);\n _dom_dom__WEBPACK_IMPORTED_MODULE_0__.default.unbind(_this.domElement, 'transitionend', hide);\n _dom_dom__WEBPACK_IMPORTED_MODULE_0__.default.unbind(_this.domElement, 'oTransitionEnd', hide);\n };\n\n _dom_dom__WEBPACK_IMPORTED_MODULE_0__.default.bind(this.domElement, 'webkitTransitionEnd', hide);\n _dom_dom__WEBPACK_IMPORTED_MODULE_0__.default.bind(this.domElement, 'transitionend', hide);\n _dom_dom__WEBPACK_IMPORTED_MODULE_0__.default.bind(this.domElement, 'oTransitionEnd', hide);\n\n this.backgroundElement.style.opacity = 0;\n// this.domElement.style.top = '48%';\n this.domElement.style.opacity = 0;\n this.domElement.style.webkitTransform = 'scale(1.1)';\n }\n\n layout() {\n this.domElement.style.left = window.innerWidth / 2 - _dom_dom__WEBPACK_IMPORTED_MODULE_0__.default.getWidth(this.domElement) / 2 + 'px';\n this.domElement.style.top = window.innerHeight / 2 - _dom_dom__WEBPACK_IMPORTED_MODULE_0__.default.getHeight(this.domElement) / 2 + 'px';\n }\n}\n\n/* harmony default export */
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/dom/dom.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / dom / dom . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _utils_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/common */ \"./node_modules/dat.gui/src/dat/utils/common.js\");\n/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\" ) ; \ n * you may not use this file except in compliance with the License . \ n * You may obtain a copy of the License at \ n * \ n * http : //www.apache.org/licenses/LICENSE-2.0\n */\n\n\n\nconst EVENT_MAP = {\n HTMLEvents: ['change'],\n MouseEvents: ['click', 'mousemove', 'mousedown', 'mouseup', 'mouseover'],\n KeyboardEvents: ['keydown']\n};\n\nconst EVENT_MAP_INV = {};\n_utils_common__WEBPACK_IMPORTED_MODULE_0__.default.each(EVENT_MAP, function(v, k) {\n _utils_common__WEBPACK_IMPORTED_MODULE_0__.default.each(v, function(e) {\n EVENT_MAP_INV[e] = k;\n });\n});\n\nconst CSS_VALUE_PIXELS = /(\\d+(\\.\\d+)?)px/;\n\nfunction cssValueToPixels(val) {\n if (val === '0' || _utils_common__WEBPACK_IMPORTED_MODULE_0__.default.isUndefined(val)) {\n return 0;\n }\n\n const match = val.match(CSS_VALUE_PIXELS);\n\n if (!_utils_common__WEBPACK_IMPORTED_MODULE_0__.default.isNull(match)) {\n return parseFloat(match[1]);\n }\n\n // TODO ...ems? %?\n\n return 0;\n}\n\n/**\n * @namespace\n * @member dat.dom\n */\nconst dom = {\n\n /**\n *\n * @param elem\n * @param selectable\n */\n makeSelectable: function(elem, selectable) {\n if (elem === undefined || elem.style === undefined) return;\n\n elem.onselectstart = selectable ? function() {\n return false;\n } : function() {\n };\n\n elem.style.MozUserSelect = selectable ? 'auto' : 'none';\n elem.style.KhtmlUserSelect = selectable ? 'auto' : 'none';\n elem.unselectable = selectable ? 'on' : 'off';\n },\n\n /**\n *\n * @param elem\n * @param horizontal\n * @param vert\n */\n makeFullscreen: function(elem, hor, vert) {\n let vertical = vert;\n let horizontal = hor;\n\n if (_utils_common__WEBPACK_IMPORTED_MODULE_0__.default.isUndefined(horizontal)) {\n horizontal = true;\n }\n\n if (_utils_common__WEBPACK_IMPORTED_MODULE_0__.default.isUndefined(vertical)) {\n vertical = true;\n }\n\n elem.style.position = 'absolute';\n\n if (horizontal) {\n elem.style.left = 0;\n elem.style.right = 0;\n }\n if (vertical) {\n elem.style.top = 0;\n elem.style.bottom = 0;\n }\n },\n\n /**\n *\n * @param elem\n * @param eventType\n * @param params\n */\n fakeEvent: function(elem, eventType, pars, aux) {\n const params = pars || {};\n const className = EVENT_MAP_INV[eventType];\n if (!className) {\n throw new Error('Event type ' + eventType + ' not supported.');\n }\n const evt = document.createEvent(className);\n switch (className) {\n case 'MouseEvents':\n {\n const clientX = params.x || params.clientX || 0;\n const clientY = params.y || params.clientY || 0;\n evt.initMouseEvent(eventType, params.bubbles || false,\n params.cancelable || true, window, params.clickCount || 1,\n 0, // screen X\n 0, // screen Y\n clientX, // client X\n clientY, // client Y\n false, false, false, false, 0, null);\n break;\n }\n case 'KeyboardEvents':\n {\n const init = evt.initKeyboardEvent || evt.initKeyEvent; // webkit || moz\n _utils_common__WEBPACK_IMPORTED_MODULE_0__.default.defaults(params, {\n cancelable: true,\n ctrlKey: false,\n altKey: false,\n shiftKey: false,\n metaKey: false,\n keyCode: undefined,\n charCode: undefined\n });\n init(eventType
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/gui/GUI.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / gui / GUI . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _utils_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/css */ \"./node_modules/dat.gui/src/dat/utils/css.js\");\n/* harmony import */ var _saveDialogue_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./saveDialogue.html */ \"./node_modules/dat.gui/src/dat/gui/saveDialogue.html.js\");\n/* harmony import */ var _controllers_ControllerFactory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../controllers/ControllerFactory */ \"./node_modules/dat.gui/src/dat/controllers/ControllerFactory.js\");\n/* harmony import */ var _controllers_Controller__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../controllers/Controller */ \"./node_modules/dat.gui/src/dat/controllers/Controller.js\");\n/* harmony import */ var _controllers_BooleanController__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../controllers/BooleanController */ \"./node_modules/dat.gui/src/dat/controllers/BooleanController.js\");\n/* harmony import */ var _controllers_FunctionController__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../controllers/FunctionController */ \"./node_modules/dat.gui/src/dat/controllers/FunctionController.js\");\n/* harmony import */ var _controllers_NumberControllerBox__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../controllers/NumberControllerBox */ \"./node_modules/dat.gui/src/dat/controllers/NumberControllerBox.js\");\n/* harmony import */ var _controllers_NumberControllerSlider__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../controllers/NumberControllerSlider */ \"./node_modules/dat.gui/src/dat/controllers/NumberControllerSlider.js\");\n/* harmony import */ var _controllers_ColorController__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../controllers/ColorController */ \"./node_modules/dat.gui/src/dat/controllers/ColorController.js\");\n/* harmony import */ var _utils_requestAnimationFrame__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/requestAnimationFrame */ \"./node_modules/dat.gui/src/dat/utils/requestAnimationFrame.js\");\n/* harmony import */ var _dom_CenteredDiv__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../dom/CenteredDiv */ \"./node_modules/dat.gui/src/dat/dom/CenteredDiv.js\");\n/* harmony import */ var _dom_dom__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../dom/dom */ \"./node_modules/dat.gui/src/dat/dom/dom.js\");\n/* harmony import */ var _utils_common__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/common */ \"./node_modules/dat.gui/src/dat/utils/common.js\");\n/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./style.scss */ \"./node_modules/dat.gui/src/dat/gui/style.scss\");\n/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\" ) ; \ n * you may not use this file except in compliance with the License . \ n * You may obtain a copy of the License at \ n * \ n * http : //www.apache.org/licenses/LICENSE-2.0\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n // CSS to embed in build\n\n_utils_css__WEBPACK_IMPORTED_MODULE_0__.default.inject(_style_scss__WEBPACK_IMPORTED_MODULE_13__.default);\n\n/** @ignore Outer-most className for GUI's */\nconst CSS_NAMESPACE = 'dg';\n\nconst HIDE_KEY_CODE = 72;\n\n/** @ignore The only value shared between the JS and SCSS. Use caution. */\nconst CLOSE_BUTTON_HEIGHT = 20;\n\nconst DEFAULT_DEFAULT_PRESET_NAME = 'Default';\n\nconst SUPPORTS_LOCAL_STORAGE = (function() {\n try {\n return !!window.localStorage;\n } catch (e) {\n return false;\n }\n}());\n\nlet SAVE_DIALOGUE;\n\n/** @ignore Have we yet to create an autoPlace GUI? */\nlet autoPlaceVirgin = true;\n\n/** @ignore Fixed position div that auto place GUI's go inside */\nle
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/gui/saveDialogue.html.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / gui / saveDialogue . html . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst saveDialogContents = `<div id=\"dg-save\" class=\"dg dialogue\">\n\n Here's the new load parameter for your <code>GUI</code>'s constructor:\n\n <textarea id=\"dg-new-constructor\"></textarea>\n\n <div id=\"dg-save-locally\">\n\n <input id=\"dg-local-storage\" type=\"checkbox\"/> Automatically save\n values to <code>localStorage</code> on exit.\n\n <div id=\"dg-local-explain\">The values saved to <code>localStorage</code> will\n override those passed to <code>dat.GUI</code>'s constructor. This makes it\n easier to work incrementally, but <code>localStorage</code> is fragile,\n and your friends may not see the same values you do.\n\n </div>\n\n </div>\n\n</div>`;\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (saveDialogContents);\n\n\n//# sourceURL=webpack:///./node_modules/dat.gui/src/dat/gui/saveDialogue.html.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/utils/common.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / utils / common . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n\nconst ARR_EACH = Array.prototype.forEach;\nconst ARR_SLICE = Array.prototype.slice;\n\n/**\n * Band-aid methods for things that should be a lot easier in JavaScript.\n * Implementation and structure inspired by underscore.js\n * http://documentcloud.github.com/underscore/\n */\n\nconst Common = {\n BREAK: {},\n\n extend: function(target) {\n this.each(ARR_SLICE.call(arguments, 1), function(obj) {\n const keys = this.isObject(obj) ? Object.keys(obj) : [];\n keys.forEach(function(key) {\n if (!this.isUndefined(obj[key])) {\n target[key] = obj[key];\n }\n }.bind(this));\n }, this);\n\n return target;\n },\n\n defaults: function(target) {\n this.each(ARR_SLICE.call(arguments, 1), function(obj) {\n const keys = this.isObject(obj) ? Object.keys(obj) : [];\n keys.forEach(function(key) {\n if (this.isUndefined(target[key])) {\n target[key] = obj[key];\n }\n }.bind(this));\n }, this);\n\n return target;\n },\n\n compose: function() {\n const toCall = ARR_SLICE.call(arguments);\n return function() {\n let args = ARR_SLICE.call(arguments);\n for (let i = toCall.length - 1; i >= 0; i--) {\n args = [toCall[i].apply(this, args)];\n }\n return args[0];\n };\n },\n\n each: function(obj, itr, scope) {\n if (!obj) {\n return;\n }\n\n if (ARR_EACH && obj.forEach && obj.forEach === ARR_EACH) {\n obj.forEach(itr, scope);\n } else if (obj.length === obj.length + 0) { // Is number but not NaN\n let key;\n let l;\n for (key = 0, l = obj.length; key < l; key++) {\n if (key in obj && itr.call(scope, obj[key], key) === this.BREAK) {\n return;\n }\n }\n } else {\n for (const key in obj) {\n if (itr.call(scope, obj[key], key) === this.BREAK) {\n return;\n }\n }\n }\n },\n\n defer: function(fnc) {\n setTimeout(fnc, 0);\n },\n\n // if the function is called repeatedly, wait until threshold passes until we execute the function\n debounce: function(func, threshold, callImmediately) {\n let timeout;\n\n return function() {\n const obj = this;\n const args = arguments;\n function delayed() {\n timeout = null;\n if (!callImmediately) func.apply(obj, args);\n }\n\n const callNow = callImmediately || !timeout;\n\n clearTimeout(timeout);\n timeout = setTimeout(delayed, threshold);\n\n if (callNow) {\n func.apply(obj, args);\n }\n };\n },\n\n toArray: function(obj) {\n if (obj.toArray) return obj.toArray();\n return ARR_SLICE.call(obj);\n },\n\n isUndefined: function(obj) {\n return obj === undefined;\n },\n\n isNull: function(obj) {\n return obj === null;\n },\n\n isNaN: function(obj) {\n return isNaN(obj);\n },\n\n isArray: Array.isArray || function(obj) {\n return obj.constructor === Array;\n },\n\n isObject: function(obj) {\n return obj === Object(obj);\n },\n\n isNumber: function(obj) {\n return obj === obj + 0;\n },\n\n isString: function(obj) {\n return obj === obj + '';\n },\n\n isBoolean: function(obj) {\n return obj === false || obj === true;\n },\n\n isFunction: function(obj) {\n return obj instanceof Function;\n }\n\n};\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Common);\n\n\n//# sourceURL=webpack:///./node_modules/dat.gui/src/dat/utils/common.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/utils/css.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / utils / css . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n\nconst css = {\n load: function(url, indoc) {\n const doc = indoc || document;\n const link = doc.createElement('link');\n link.type = 'text/css';\n link.rel = 'stylesheet';\n link.href = url;\n doc.getElementsByTagName('head')[0].appendChild(link);\n },\n\n inject: function(cssContent, indoc) {\n const doc = indoc || document;\n const injected = document.createElement('style');\n injected.type = 'text/css';\n injected.innerHTML = cssContent;\n const head = doc.getElementsByTagName('head')[0];\n try {\n head.appendChild(injected);\n } catch (e) { // Unable to inject CSS, probably because of a Content Security Policy\n }\n }\n};\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (css);\n\n\n//# sourceURL=webpack:///./node_modules/dat.gui/src/dat/utils/css.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/utils/requestAnimationFrame.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / utils / requestAnimationFrame . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/**\n * dat-gui JavaScript Controller Library\n * http://code.google.com/p/dat-gui\n *\n * Copyright 2011 Data Arts Team, Google Creative Lab\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n\nfunction requestAnimationFrame(callback) {\n setTimeout(callback, 1000 / 60);\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.oRequestAnimationFrame ||\n window.msRequestAnimationFrame ||\n requestAnimationFrame);\n\n\n//# sourceURL=webpack:///./node_modules/dat.gui/src/dat/utils/requestAnimationFrame.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/dat.gui/src/dat/gui/style.scss" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dat . gui / src / dat / gui / style . scss * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_cjs_js_sass_loader_dist_cjs_js_style_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../css-loader/dist/cjs.js!../../../../sass-loader/dist/cjs.js!./style.scss */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/dat.gui/src/dat/gui/style.scss\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_css_loader_dist_cjs_js_sass_loader_dist_cjs_js_style_scss__WEBPACK_IMPORTED_MODULE_1__.default, options);\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_css_loader_dist_cjs_js_sass_loader_dist_cjs_js_style_scss__WEBPACK_IMPORTED_MODULE_1__.default.locals || {});\n\n//# sourceURL=webpack:///./node_modules/dat.gui/src/dat/gui/style.scss?" ) ;
/***/ } ) ,
/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / style - loader / dist / runtime / injectStylesIntoStyleTag . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( module , _ _unused _webpack _exports , _ _webpack _require _ _ ) => {
eval ( "\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = true ? __webpack_require__.nc : 0;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\" ) : obj . css ; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChil
/***/ } ) ,
/***/ "./node_modules/three/build/three.module.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / build / three . module . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ACESFilmicToneMapping\": () => (/* binding */ ACESFilmicToneMapping),\n/* harmony export */ \"AddEquation\": () => (/* binding */ AddEquation),\n/* harmony export */ \"AddOperation\": () => (/* binding */ AddOperation),\n/* harmony export */ \"AdditiveAnimationBlendMode\": () => (/* binding */ AdditiveAnimationBlendMode),\n/* harmony export */ \"AdditiveBlending\": () => (/* binding */ AdditiveBlending),\n/* harmony export */ \"AlphaFormat\": () => (/* binding */ AlphaFormat),\n/* harmony export */ \"AlwaysDepth\": () => (/* binding */ AlwaysDepth),\n/* harmony export */ \"AlwaysStencilFunc\": () => (/* binding */ AlwaysStencilFunc),\n/* harmony export */ \"AmbientLight\": () => (/* binding */ AmbientLight),\n/* harmony export */ \"AmbientLightProbe\": () => (/* binding */ AmbientLightProbe),\n/* harmony export */ \"AnimationClip\": () => (/* binding */ AnimationClip),\n/* harmony export */ \"AnimationLoader\": () => (/* binding */ AnimationLoader),\n/* harmony export */ \"AnimationMixer\": () => (/* binding */ AnimationMixer),\n/* harmony export */ \"AnimationObjectGroup\": () => (/* binding */ AnimationObjectGroup),\n/* harmony export */ \"AnimationUtils\": () => (/* binding */ AnimationUtils),\n/* harmony export */ \"ArcCurve\": () => (/* binding */ ArcCurve),\n/* harmony export */ \"ArrayCamera\": () => (/* binding */ ArrayCamera),\n/* harmony export */ \"ArrowHelper\": () => (/* binding */ ArrowHelper),\n/* harmony export */ \"Audio\": () => (/* binding */ Audio),\n/* harmony export */ \"AudioAnalyser\": () => (/* binding */ AudioAnalyser),\n/* harmony export */ \"AudioContext\": () => (/* binding */ AudioContext),\n/* harmony export */ \"AudioListener\": () => (/* binding */ AudioListener),\n/* harmony export */ \"AudioLoader\": () => (/* binding */ AudioLoader),\n/* harmony export */ \"AxesHelper\": () => (/* binding */ AxesHelper),\n/* harmony export */ \"AxisHelper\": () => (/* binding */ AxisHelper),\n/* harmony export */ \"BackSide\": () => (/* binding */ BackSide),\n/* harmony export */ \"BasicDepthPacking\": () => (/* binding */ BasicDepthPacking),\n/* harmony export */ \"BasicShadowMap\": () => (/* binding */ BasicShadowMap),\n/* harmony export */ \"BinaryTextureLoader\": () => (/* binding */ BinaryTextureLoader),\n/* harmony export */ \"Bone\": () => (/* binding */ Bone),\n/* harmony export */ \"BooleanKeyframeTrack\": () => (/* binding */ BooleanKeyframeTrack),\n/* harmony export */ \"BoundingBoxHelper\": () => (/* binding */ BoundingBoxHelper),\n/* harmony export */ \"Box2\": () => (/* binding */ Box2),\n/* harmony export */ \"Box3\": () => (/* binding */ Box3),\n/* harmony export */ \"Box3Helper\": () => (/* binding */ Box3Helper),\n/* harmony export */ \"BoxBufferGeometry\": () => (/* binding */ BoxGeometry),\n/* harmony export */ \"BoxGeometry\": () => (/* binding */ BoxGeometry),\n/* harmony export */ \"BoxHelper\": () => (/* binding */ BoxHelper),\n/* harmony export */ \"BufferAttribute\": () => (/* binding */ BufferAttribute),\n/* harmony export */ \"BufferGeometry\": () => (/* binding */ BufferGeometry),\n/* harmony export */ \"BufferGeometryLoader\": () => (/* binding */ BufferGeometryLoader),\n/* harmony export */ \"ByteType\": () => (/* binding */ ByteType),\n/* harmony export */ \"Cache\": () => (/* binding */ Cache),\n/* harmony export */ \"Camera\": () => (/* binding */ Camera),\n/* harmony export */ \"CameraHelper\": () => (/* binding */ CameraHelper),\n/* harmony export */ \"CanvasRenderer\": () => (/* binding */ CanvasRenderer),\n/* harmony export */ \"CanvasTexture\": () => (/* binding */ CanvasTexture),\n/* harmony export */ \"CatmullRomCurve3\": () => (/* binding */ CatmullRomCurve3),\n/* harmony export */ \"CineonToneMapping\": () => (/* binding */ CineonToneMapping),\n/* harmony export */ \"CircleBufferGeometry\" : ( ) => ( /* binding */ CircleGeome
/***/ } ) ,
/***/ "./node_modules/three/examples/jsm/libs/stats.module.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / examples / jsm / libs / stats . module . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\" : ( ) => ( _ _WEBPACK _DEFAULT _EXPORT _ _ ) \ n /* harmony export */ } ) ; \ nvar Stats = function ( ) { \ n \ n \ tvar mode = 0 ; \ n \ n \ tvar container = document . createElement ( 'div' ) ; \ n \ tcontainer . style . cssText = 'position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000' ; \ n \ tcontainer . addEventListener ( 'click' , function ( event ) { \ n \ n \ t \ tevent . preventDefault ( ) ; \ n \ t \ tshowPanel ( ++ mode % container . children . length ) ; \ n \ n \ t } , false ) ; \ n \ n \ t //\n\n\tfunction addPanel( panel ) {\n\n\t\tcontainer.appendChild( panel.dom );\n\t\treturn panel;\n\n\t}\n\n\tfunction showPanel( id ) {\n\n\t\tfor ( var i = 0; i < container.children.length; i ++ ) {\n\n\t\t\tcontainer.children[ i ].style.display = i === id ? 'block' : 'none';\n\n\t\t}\n\n\t\tmode = id;\n\n\t}\n\n\t//\n\n\tvar beginTime = ( performance || Date ).now(), prevTime = beginTime, frames = 0;\n\n\tvar fpsPanel = addPanel( new Stats.Panel( 'FPS', '#0ff', '#002' ) );\n\tvar msPanel = addPanel( new Stats.Panel( 'MS', '#0f0', '#020' ) );\n\n\tif ( self.performance && self.performance.memory ) {\n\n\t\tvar memPanel = addPanel( new Stats.Panel( 'MB', '#f08', '#201' ) );\n\n\t}\n\n\tshowPanel( 0 );\n\n\treturn {\n\n\t\tREVISION: 16,\n\n\t\tdom: container,\n\n\t\taddPanel: addPanel,\n\t\tshowPanel: showPanel,\n\n\t\tbegin: function () {\n\n\t\t\tbeginTime = ( performance || Date ).now();\n\n\t\t},\n\n\t\tend: function () {\n\n\t\t\tframes ++;\n\n\t\t\tvar time = ( performance || Date ).now();\n\n\t\t\tmsPanel.update( time - beginTime, 200 );\n\n\t\t\tif ( time >= prevTime + 1000 ) {\n\n\t\t\t\tfpsPanel.update( ( frames * 1000 ) / ( time - prevTime ), 100 );\n\n\t\t\t\tprevTime = time;\n\t\t\t\tframes = 0;\n\n\t\t\t\tif ( memPanel ) {\n\n\t\t\t\t\tvar memory = performance.memory;\n\t\t\t\t\tmemPanel.update( memory.usedJSHeapSize / 1048576, memory.jsHeapSizeLimit / 1048576 );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\treturn time;\n\n\t\t},\n\n\t\tupdate: function () {\n\n\t\t\tbeginTime = this.end();\n\n\t\t},\n\n\t\t// Backwards Compatibility\n\n\t\tdomElement: container,\n\t\tsetMode: showPanel\n\n\t};\n\n};\n\nStats.Panel = function ( name, fg, bg ) {\n\n\tvar min = Infinity, max = 0, round = Math.round;\n\tvar PR = round( window.devicePixelRatio || 1 );\n\n\tvar WIDTH = 80 * PR, HEIGHT = 48 * PR,\n\t\tTEXT_X = 3 * PR, TEXT_Y = 2 * PR,\n\t\tGRAPH_X = 3 * PR, GRAPH_Y = 15 * PR,\n\t\tGRAPH_WIDTH = 74 * PR, GRAPH_HEIGHT = 30 * PR;\n\n\tvar canvas = document.createElement( 'canvas' );\n\tcanvas.width = WIDTH;\n\tcanvas.height = HEIGHT;\n\tcanvas.style.cssText = 'width:80px;height:48px';\n\n\tvar context = canvas.getContext( '2d' );\n\tcontext.font = 'bold ' + ( 9 * PR ) + 'px Helvetica,Arial,sans-serif';\n\tcontext.textBaseline = 'top';\n\n\tcontext.fillStyle = bg;\n\tcontext.fillRect( 0, 0, WIDTH, HEIGHT );\n\n\tcontext.fillStyle = fg;\n\tcontext.fillText( name, TEXT_X, TEXT_Y );\n\tcontext.fillRect( GRAPH_X, GRAPH_Y, GRAPH_WIDTH, GRAPH_HEIGHT );\n\n\tcontext.fillStyle = bg;\n\tcontext.globalAlpha = 0.9;\n\tcontext.fillRect( GRAPH_X, GRAPH_Y, GRAPH_WIDTH, GRAPH_HEIGHT );\n\n\treturn {\n\n\t\tdom: canvas,\n\n\t\tupdate: function ( value, maxValue ) {\n\n\t\t\tmin = Math.min( min, value );\n\t\t\tmax = Math.max( max, value );\n\n\t\t\tcontext.fillStyle = bg;\n\t\t\tcontext.globalAlpha = 1;\n\t\t\tcontext.fillRect( 0, 0, WIDTH, GRAPH_Y );\n\t\t\tcontext.fillStyle = fg;\n\t\t\tcontext.fillText( round( value ) + ' ' + name + ' (' + round( min ) + '-' + round( max ) + ')', TEXT_X, TEXT_Y );\n\n\t\t\tcontext.drawImage( canvas, GRAPH_X + PR, GRAPH_Y, GRAPH_WIDTH - PR, GRAPH_HEIGHT, GRAPH_X, GRAPH_Y, GRAPH_WIDTH - PR, GRAPH_HEIGHT );\n\n\t\t\tcontext.fillRect( GRAPH_X + GRAPH_WIDTH - PR, GRAPH_Y, PR, GRAPH_HEIGHT );\n\n\t\t\tcontext.fillStyle = bg;\n\t\t\tcontext.globalAlpha = 0.9;\n\t\t\tcontext.fillRect( GRAPH_X + GRAPH_WIDTH - PR, GRAPH_Y, PR, round( ( 1 - ( value / maxValue ) ) * GRAPH_HEIGHT ) );\n\n\t\t}\n\n\t};\n\n};\n\n/* harmony default export */ const
/***/ } ) ,
/***/ "./node_modules/three/src/cameras/ArrayCamera.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / cameras / ArrayCamera . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ArrayCamera\": () => (/* binding */ ArrayCamera)\n/* harmony export */ });\n/* harmony import */ var _PerspectiveCamera_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PerspectiveCamera.js */ \"./node_modules/three/src/cameras/PerspectiveCamera.js\");\n\n\nfunction ArrayCamera( array = [] ) {\n\n\t_PerspectiveCamera_js__WEBPACK_IMPORTED_MODULE_0__.PerspectiveCamera.call( this );\n\n\tthis.cameras = array;\n\n}\n\nArrayCamera.prototype = Object.assign( Object.create( _PerspectiveCamera_js__WEBPACK_IMPORTED_MODULE_0__.PerspectiveCamera.prototype ), {\n\n\tconstructor: ArrayCamera,\n\n\tisArrayCamera: true\n\n} );\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/cameras/ArrayCamera.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/cameras/Camera.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / cameras / Camera . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Camera\": () => (/* binding */ Camera)\n/* harmony export */ });\n/* harmony import */ var _math_Matrix4_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math/Matrix4.js */ \"./node_modules/three/src/math/Matrix4.js\");\n/* harmony import */ var _core_Object3D_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/Object3D.js */ \"./node_modules/three/src/core/Object3D.js\");\n/* harmony import */ var _math_Vector3_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../math/Vector3.js */ \"./node_modules/three/src/math/Vector3.js\");\n\n\n\n\nfunction Camera() {\n\n\t_core_Object3D_js__WEBPACK_IMPORTED_MODULE_0__.Object3D.call( this );\n\n\tthis.type = 'Camera';\n\n\tthis.matrixWorldInverse = new _math_Matrix4_js__WEBPACK_IMPORTED_MODULE_1__.Matrix4();\n\n\tthis.projectionMatrix = new _math_Matrix4_js__WEBPACK_IMPORTED_MODULE_1__.Matrix4();\n\tthis.projectionMatrixInverse = new _math_Matrix4_js__WEBPACK_IMPORTED_MODULE_1__.Matrix4();\n\n}\n\nCamera.prototype = Object.assign( Object.create( _core_Object3D_js__WEBPACK_IMPORTED_MODULE_0__.Object3D.prototype ), {\n\n\tconstructor: Camera,\n\n\tisCamera: true,\n\n\tcopy: function ( source, recursive ) {\n\n\t\t_core_Object3D_js__WEBPACK_IMPORTED_MODULE_0__.Object3D.prototype.copy.call( this, source, recursive );\n\n\t\tthis.matrixWorldInverse.copy( source.matrixWorldInverse );\n\n\t\tthis.projectionMatrix.copy( source.projectionMatrix );\n\t\tthis.projectionMatrixInverse.copy( source.projectionMatrixInverse );\n\n\t\treturn this;\n\n\t},\n\n\tgetWorldDirection: function ( target ) {\n\n\t\tif ( target === undefined ) {\n\n\t\t\tconsole.warn( 'THREE.Camera: .getWorldDirection() target is now required' );\n\t\t\ttarget = new _math_Vector3_js__WEBPACK_IMPORTED_MODULE_2__.Vector3();\n\n\t\t}\n\n\t\tthis.updateWorldMatrix( true, false );\n\n\t\tconst e = this.matrixWorld.elements;\n\n\t\treturn target.set( - e[ 8 ], - e[ 9 ], - e[ 10 ] ).normalize();\n\n\t},\n\n\tupdateMatrixWorld: function ( force ) {\n\n\t\t_core_Object3D_js__WEBPACK_IMPORTED_MODULE_0__.Object3D.prototype.updateMatrixWorld.call( this, force );\n\n\t\tthis.matrixWorldInverse.copy( this.matrixWorld ).invert();\n\n\t},\n\n\tupdateWorldMatrix: function ( updateParents, updateChildren ) {\n\n\t\t_core_Object3D_js__WEBPACK_IMPORTED_MODULE_0__.Object3D.prototype.updateWorldMatrix.call( this, updateParents, updateChildren );\n\n\t\tthis.matrixWorldInverse.copy( this.matrixWorld ).invert();\n\n\t},\n\n\tclone: function () {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n} );\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/cameras/Camera.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/cameras/CubeCamera.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / cameras / CubeCamera . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CubeCamera\": () => (/* binding */ CubeCamera)\n/* harmony export */ });\n/* harmony import */ var _core_Object3D_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/Object3D.js */ \"./node_modules/three/src/core/Object3D.js\");\n/* harmony import */ var _math_Vector3_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../math/Vector3.js */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _PerspectiveCamera_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PerspectiveCamera.js */ \"./node_modules/three/src/cameras/PerspectiveCamera.js\" ) ; \ n \ n \ n \ n \ nconst fov = 90 , aspect = 1 ; \ n \ nclass CubeCamera extends _core _Object3D _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Object3D { \ n \ n \ tconstructor ( near , far , renderTarget ) { \ n \ n \ t \ tsuper ( ) ; \ n \ n \ t \ tthis . type = 'CubeCamera' ; \ n \ n \ t \ tif ( renderTarget . isWebGLCubeRenderTarget !== true ) { \ n \ n \ t \ t \ tconsole . error ( 'THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.' ) ; \ n \ t \ t \ treturn ; \ n \ n \ t \ t } \ n \ n \ t \ tthis . renderTarget = renderTarget ; \ n \ n \ t \ tconst cameraPX = new _PerspectiveCamera _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . PerspectiveCamera ( fov , aspect , near , far ) ; \ n \ t \ tcameraPX . layers = this . layers ; \ n \ t \ tcameraPX . up . set ( 0 , - 1 , 0 ) ; \ n \ t \ tcameraPX . lookAt ( new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Vector3 ( 1 , 0 , 0 ) ) ; \ n \ t \ tthis . add ( cameraPX ) ; \ n \ n \ t \ tconst cameraNX = new _PerspectiveCamera _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . PerspectiveCamera ( fov , aspect , near , far ) ; \ n \ t \ tcameraNX . layers = this . layers ; \ n \ t \ tcameraNX . up . set ( 0 , - 1 , 0 ) ; \ n \ t \ tcameraNX . lookAt ( new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Vector3 ( - 1 , 0 , 0 ) ) ; \ n \ t \ tthis . add ( cameraNX ) ; \ n \ n \ t \ tconst cameraPY = new _PerspectiveCamera _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . PerspectiveCamera ( fov , aspect , near , far ) ; \ n \ t \ tcameraPY . layers = this . layers ; \ n \ t \ tcameraPY . up . set ( 0 , 0 , 1 ) ; \ n \ t \ tcameraPY . lookAt ( new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Vector3 ( 0 , 1 , 0 ) ) ; \ n \ t \ tthis . add ( cameraPY ) ; \ n \ n \ t \ tconst cameraNY = new _PerspectiveCamera _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . PerspectiveCamera ( fov , aspect , near , far ) ; \ n \ t \ tcameraNY . layers = this . layers ; \ n \ t \ tcameraNY . up . set ( 0 , 0 , - 1 ) ; \ n \ t \ tcameraNY . lookAt ( new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Vector3 ( 0 , - 1 , 0 ) ) ; \ n \ t \ tthis . add ( cameraNY ) ; \ n \ n \ t \ tconst cameraPZ = new _PerspectiveCamera _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . PerspectiveCamera ( fov , aspect , near , far ) ; \ n \ t \ tcameraPZ . layers = this . layers ; \ n \ t \ tcameraPZ . up . set ( 0 , - 1 , 0 ) ; \ n \ t \ tcameraPZ . lookAt ( new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Vector3 ( 0 , 0 , 1 ) ) ; \ n \ t \ tthis . add ( cameraPZ ) ; \ n \ n \ t \ tconst cameraNZ = new _PerspectiveCamera _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . PerspectiveCamera ( fov , aspect , near , far ) ; \ n \ t \ tcameraNZ . layers = this . layers ; \ n \ t \ tcameraNZ . up . set ( 0 , - 1 , 0 ) ; \ n \ t \ tcameraNZ . lookAt ( new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Vector3 ( 0 , 0 , - 1 ) ) ; \ n \ t \ tthis . add ( cameraNZ ) ; \ n \ n \ t } \ n \ n \ tupdate ( renderer , scene ) { \ n \ n \ t \ tif ( this . parent === null ) this . updateMatrixWorld ( ) ; \ n \ n \ t \ tconst renderTarget = this . renderTarget ; \ n \ n \ t \ tconst [ cameraPX , cameraNX , cameraPY , cameraNY , cameraPZ , cameraNZ ] = this . children ; \ n \ n \ t \ tconst currentXrEnabled = renderer . xr . enabled ; \ n \ t \ tconst currentRenderTarget = renderer . getRenderTarget ( ) ; \ n \ n \ t \ trenderer . xr . enabled = false ; \ n \ n \ t \ tconst generateMipmaps = renderTarget . texture . generateMipmaps ; \ n \ n \ t \ trenderTarget . texture . generateMipmaps = false ; \ n \ n \ t \ trenderer . setRenderTarget ( renderTarget , 0 ) ; \ n \ t \ trenderer . render ( scene , cameraPX ) ; \ n \ n \ t \ trenderer . setRenderTarget ( renderTarget , 1 ) ; \ n \ t \ trenderer . render ( scene , cameraNX ) ; \ n \ n \ t \ trenderer . setRenderTarget ( renderTarget , 2 ) ; \ n \ t \ trenderer . render ( scene , cameraPY ) ; \ n \ n \ t \ trenderer . setRenderTarget ( renderTarget , 3 ) ; \ n \ t \ trenderer . render ( scene , cameraNY ) ; \ n \ n \ t \ trenderer . setRenderTarget ( renderTarget , 4 ) ; \ n \ t \ trenderer . render ( scene , cameraPZ )
/***/ } ) ,
/***/ "./node_modules/three/src/cameras/OrthographicCamera.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / cameras / OrthographicCamera . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"OrthographicCamera\": () => (/* binding */ OrthographicCamera)\n/* harmony export */ });\n/* harmony import */ var _Camera_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Camera.js */ \"./node_modules/three/src/cameras/Camera.js\");\n/* harmony import */ var _core_Object3D_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/Object3D.js */ \"./node_modules/three/src/core/Object3D.js\");\n\n\n\nclass OrthographicCamera extends _Camera_js__WEBPACK_IMPORTED_MODULE_0__.Camera {\n\n\tconstructor( left = - 1, right = 1, top = 1, bottom = - 1, near = 0.1, far = 2000 ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'OrthographicCamera';\n\n\t\tthis.zoom = 1;\n\t\tthis.view = null;\n\n\t\tthis.left = left;\n\t\tthis.right = right;\n\t\tthis.top = top;\n\t\tthis.bottom = bottom;\n\n\t\tthis.near = near;\n\t\tthis.far = far;\n\n\t\tthis.updateProjectionMatrix();\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tthis.left = source.left;\n\t\tthis.right = source.right;\n\t\tthis.top = source.top;\n\t\tthis.bottom = source.bottom;\n\t\tthis.near = source.near;\n\t\tthis.far = source.far;\n\n\t\tthis.zoom = source.zoom;\n\t\tthis.view = source.view === null ? null : Object.assign( {}, source.view );\n\n\t\treturn this;\n\n\t}\n\n\tsetViewOffset( fullWidth, fullHeight, x, y, width, height ) {\n\n\t\tif ( this.view === null ) {\n\n\t\t\tthis.view = {\n\t\t\t\tenabled: true,\n\t\t\t\tfullWidth: 1,\n\t\t\t\tfullHeight: 1,\n\t\t\t\toffsetX: 0,\n\t\t\t\toffsetY: 0,\n\t\t\t\twidth: 1,\n\t\t\t\theight: 1\n\t\t\t};\n\n\t\t}\n\n\t\tthis.view.enabled = true;\n\t\tthis.view.fullWidth = fullWidth;\n\t\tthis.view.fullHeight = fullHeight;\n\t\tthis.view.offsetX = x;\n\t\tthis.view.offsetY = y;\n\t\tthis.view.width = width;\n\t\tthis.view.height = height;\n\n\t\tthis.updateProjectionMatrix();\n\n\t}\n\n\tclearViewOffset() {\n\n\t\tif ( this.view !== null ) {\n\n\t\t\tthis.view.enabled = false;\n\n\t\t}\n\n\t\tthis.updateProjectionMatrix();\n\n\t}\n\n\tupdateProjectionMatrix() {\n\n\t\tconst dx = ( this.right - this.left ) / ( 2 * this.zoom );\n\t\tconst dy = ( this.top - this.bottom ) / ( 2 * this.zoom );\n\t\tconst cx = ( this.right + this.left ) / 2;\n\t\tconst cy = ( this.top + this.bottom ) / 2;\n\n\t\tlet left = cx - dx;\n\t\tlet right = cx + dx;\n\t\tlet top = cy + dy;\n\t\tlet bottom = cy - dy;\n\n\t\tif ( this.view !== null && this.view.enabled ) {\n\n\t\t\tconst scaleW = ( this.right - this.left ) / this.view.fullWidth / this.zoom;\n\t\t\tconst scaleH = ( this.top - this.bottom ) / this.view.fullHeight / this.zoom;\n\n\t\t\tleft += scaleW * this.view.offsetX;\n\t\t\tright = left + scaleW * this.view.width;\n\t\t\ttop -= scaleH * this.view.offsetY;\n\t\t\tbottom = top - scaleH * this.view.height;\n\n\t\t}\n\n\t\tthis.projectionMatrix.makeOrthographic( left, right, top, bottom, this.near, this.far );\n\n\t\tthis.projectionMatrixInverse.copy( this.projectionMatrix ).invert();\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\tconst data = _core_Object3D_js__WEBPACK_IMPORTED_MODULE_1__.Object3D.prototype.toJSON.call( this, meta );\n\n\t\tdata.object.zoom = this.zoom;\n\t\tdata.object.left = this.left;\n\t\tdata.object.right = this.right;\n\t\tdata.object.top = this.top;\n\t\tdata.object.bottom = this.bottom;\n\t\tdata.object.near = this.near;\n\t\tdata.object.far = this.far;\n\n\t\tif ( this.view !== null ) data.object.view = Object.assign( {}, this.view );\n\n\t\treturn data;\n\n\t}\n\n}\n\nOrthographicCamera.prototype.isOrthographicCamera = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/cameras/OrthographicCamera.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/cameras/PerspectiveCamera.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / cameras / PerspectiveCamera . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PerspectiveCamera\": () => (/* binding */ PerspectiveCamera)\n/* harmony export */ });\n/* harmony import */ var _Camera_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Camera.js */ \"./node_modules/three/src/cameras/Camera.js\");\n/* harmony import */ var _core_Object3D_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/Object3D.js */ \"./node_modules/three/src/core/Object3D.js\");\n/* harmony import */ var _math_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math/MathUtils.js */ \"./node_modules/three/src/math/MathUtils.js\" ) ; \ n \ n \ n \ n \ nfunction PerspectiveCamera ( fov = 50 , aspect = 1 , near = 0.1 , far = 2000 ) { \ n \ n \ t _Camera _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Camera . call ( this ) ; \ n \ n \ tthis . type = 'PerspectiveCamera' ; \ n \ n \ tthis . fov = fov ; \ n \ tthis . zoom = 1 ; \ n \ n \ tthis . near = near ; \ n \ tthis . far = far ; \ n \ tthis . focus = 10 ; \ n \ n \ tthis . aspect = aspect ; \ n \ tthis . view = null ; \ n \ n \ tthis . filmGauge = 35 ; \ t // width of the film (default in millimeters)\n\tthis.filmOffset = 0;\t// horizontal film offset (same unit as gauge)\n\n\tthis.updateProjectionMatrix();\n\n}\n\nPerspectiveCamera.prototype = Object.assign( Object.create( _Camera_js__WEBPACK_IMPORTED_MODULE_0__.Camera.prototype ), {\n\n\tconstructor: PerspectiveCamera,\n\n\tisPerspectiveCamera: true,\n\n\tcopy: function ( source, recursive ) {\n\n\t\t_Camera_js__WEBPACK_IMPORTED_MODULE_0__.Camera.prototype.copy.call( this, source, recursive );\n\n\t\tthis.fov = source.fov;\n\t\tthis.zoom = source.zoom;\n\n\t\tthis.near = source.near;\n\t\tthis.far = source.far;\n\t\tthis.focus = source.focus;\n\n\t\tthis.aspect = source.aspect;\n\t\tthis.view = source.view === null ? null : Object.assign( {}, source.view );\n\n\t\tthis.filmGauge = source.filmGauge;\n\t\tthis.filmOffset = source.filmOffset;\n\n\t\treturn this;\n\n\t},\n\n\t/**\n\t * Sets the FOV by focal length in respect to the current .filmGauge.\n\t *\n\t * The default film gauge is 35, so that the focal length can be specified for\n\t * a 35mm (full frame) camera.\n\t *\n\t * Values for focal length and film gauge must have the same unit.\n\t */\n\tsetFocalLength: function ( focalLength ) {\n\n\t\t/** see {@link http://www.bobatkins.com/photography/technical/field_of_view.html} */\n\t\tconst vExtentSlope = 0.5 * this.getFilmHeight() / focalLength;\n\n\t\tthis.fov = _math_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.MathUtils.RAD2DEG * 2 * Math.atan( vExtentSlope );\n\t\tthis.updateProjectionMatrix();\n\n\t},\n\n\t/**\n\t * Calculates the focal length from the current .fov and .filmGauge.\n\t */\n\tgetFocalLength: function () {\n\n\t\tconst vExtentSlope = Math.tan( _math_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.MathUtils.DEG2RAD * 0.5 * this.fov );\n\n\t\treturn 0.5 * this.getFilmHeight() / vExtentSlope;\n\n\t},\n\n\tgetEffectiveFOV: function () {\n\n\t\treturn _math_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.MathUtils.RAD2DEG * 2 * Math.atan(\n\t\t\tMath.tan( _math_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.MathUtils.DEG2RAD * 0.5 * this.fov ) / this.zoom );\n\n\t},\n\n\tgetFilmWidth: function () {\n\n\t\t// film not completely covered in portrait format (aspect < 1)\n\t\treturn this.filmGauge * Math.min( this.aspect, 1 );\n\n\t},\n\n\tgetFilmHeight: function () {\n\n\t\t// film not completely covered in landscape format (aspect > 1)\n\t\treturn this.filmGauge / Math.max( this.aspect, 1 );\n\n\t},\n\n\t/**\n\t * Sets an offset in a larger frustum. This is useful for multi-window or\n\t * multi-monitor/multi-machine setups.\n\t *\n\t * For example, if you have 3x2 monitors and each monitor is 1920x1080 and\n\t * the monitors are in grid like this\n\t *\n\t * +---+---+---+\n\t * | A | B | C |\n\t * +---+---+---+\n\t * | D | E | F |\n\t * +---+---+---+\n\t *\n\t * then for each monitor you would call it like this\n\t *\n\t * const w = 1920;\n\t * const h = 1080;\n\t * const fullWidth = w * 3;\n\t * const fullHeight = h * 2;\n\t *\n\
/***/ } ) ,
/***/ "./node_modules/three/src/constants.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / constants . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"REVISION\": () => (/* binding */ REVISION),\n/* harmony export */ \"MOUSE\": () => (/* binding */ MOUSE),\n/* harmony export */ \"TOUCH\": () => (/* binding */ TOUCH),\n/* harmony export */ \"CullFaceNone\": () => (/* binding */ CullFaceNone),\n/* harmony export */ \"CullFaceBack\": () => (/* binding */ CullFaceBack),\n/* harmony export */ \"CullFaceFront\": () => (/* binding */ CullFaceFront),\n/* harmony export */ \"CullFaceFrontBack\": () => (/* binding */ CullFaceFrontBack),\n/* harmony export */ \"BasicShadowMap\": () => (/* binding */ BasicShadowMap),\n/* harmony export */ \"PCFShadowMap\": () => (/* binding */ PCFShadowMap),\n/* harmony export */ \"PCFSoftShadowMap\": () => (/* binding */ PCFSoftShadowMap),\n/* harmony export */ \"VSMShadowMap\": () => (/* binding */ VSMShadowMap),\n/* harmony export */ \"FrontSide\": () => (/* binding */ FrontSide),\n/* harmony export */ \"BackSide\": () => (/* binding */ BackSide),\n/* harmony export */ \"DoubleSide\": () => (/* binding */ DoubleSide),\n/* harmony export */ \"FlatShading\": () => (/* binding */ FlatShading),\n/* harmony export */ \"SmoothShading\": () => (/* binding */ SmoothShading),\n/* harmony export */ \"NoBlending\": () => (/* binding */ NoBlending),\n/* harmony export */ \"NormalBlending\": () => (/* binding */ NormalBlending),\n/* harmony export */ \"AdditiveBlending\": () => (/* binding */ AdditiveBlending),\n/* harmony export */ \"SubtractiveBlending\": () => (/* binding */ SubtractiveBlending),\n/* harmony export */ \"MultiplyBlending\": () => (/* binding */ MultiplyBlending),\n/* harmony export */ \"CustomBlending\": () => (/* binding */ CustomBlending),\n/* harmony export */ \"AddEquation\": () => (/* binding */ AddEquation),\n/* harmony export */ \"SubtractEquation\": () => (/* binding */ SubtractEquation),\n/* harmony export */ \"ReverseSubtractEquation\": () => (/* binding */ ReverseSubtractEquation),\n/* harmony export */ \"MinEquation\": () => (/* binding */ MinEquation),\n/* harmony export */ \"MaxEquation\": () => (/* binding */ MaxEquation),\n/* harmony export */ \"ZeroFactor\": () => (/* binding */ ZeroFactor),\n/* harmony export */ \"OneFactor\": () => (/* binding */ OneFactor),\n/* harmony export */ \"SrcColorFactor\": () => (/* binding */ SrcColorFactor),\n/* harmony export */ \"OneMinusSrcColorFactor\": () => (/* binding */ OneMinusSrcColorFactor),\n/* harmony export */ \"SrcAlphaFactor\": () => (/* binding */ SrcAlphaFactor),\n/* harmony export */ \"OneMinusSrcAlphaFactor\": () => (/* binding */ OneMinusSrcAlphaFactor),\n/* harmony export */ \"DstAlphaFactor\": () => (/* binding */ DstAlphaFactor),\n/* harmony export */ \"OneMinusDstAlphaFactor\": () => (/* binding */ OneMinusDstAlphaFactor),\n/* harmony export */ \"DstColorFactor\": () => (/* binding */ DstColorFactor),\n/* harmony export */ \"OneMinusDstColorFactor\": () => (/* binding */ OneMinusDstColorFactor),\n/* harmony export */ \"SrcAlphaSaturateFactor\": () => (/* binding */ SrcAlphaSaturateFactor),\n/* harmony export */ \"NeverDepth\": () => (/* binding */ NeverDepth),\n/* harmony export */ \"AlwaysDepth\": () => (/* binding */ AlwaysDepth),\n/* harmony export */ \"LessDepth\": () => (/* binding */ LessDepth),\n/* harmony export */ \"LessEqualDepth\": () => (/* binding */ LessEqualDepth),\n/* harmony export */ \"EqualDepth\": () => (/* binding */ EqualDepth),\n/* harmony export */ \"GreaterEqualDepth\": () => (/* binding */ GreaterEqualDepth),\n/* harmony export */ \"GreaterDepth\": () => (/* binding */ GreaterDepth),\n/* harmony export */ \"NotEqualDepth\": () => (/* binding */ NotEqualDepth),\n/* harmony export */ \"MultiplyOperation\": () => (/* binding */ MultiplyOperation),\n/* harmony export */ \"MixOperation\": () => (/* binding */ MixOperation),\n/* harmony export */ \"AddOperation\" : ( ) => ( /* binding */ AddOperation ) , \ n / * harmony
/***/ } ) ,
/***/ "./node_modules/three/src/core/BufferAttribute.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / core / BufferAttribute . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Float64BufferAttribute\": () => (/* binding */ Float64BufferAttribute),\n/* harmony export */ \"Float32BufferAttribute\": () => (/* binding */ Float32BufferAttribute),\n/* harmony export */ \"Float16BufferAttribute\": () => (/* binding */ Float16BufferAttribute),\n/* harmony export */ \"Uint32BufferAttribute\": () => (/* binding */ Uint32BufferAttribute),\n/* harmony export */ \"Int32BufferAttribute\": () => (/* binding */ Int32BufferAttribute),\n/* harmony export */ \"Uint16BufferAttribute\": () => (/* binding */ Uint16BufferAttribute),\n/* harmony export */ \"Int16BufferAttribute\": () => (/* binding */ Int16BufferAttribute),\n/* harmony export */ \"Uint8ClampedBufferAttribute\": () => (/* binding */ Uint8ClampedBufferAttribute),\n/* harmony export */ \"Uint8BufferAttribute\": () => (/* binding */ Uint8BufferAttribute),\n/* harmony export */ \"Int8BufferAttribute\": () => (/* binding */ Int8BufferAttribute),\n/* harmony export */ \"BufferAttribute\": () => (/* binding */ BufferAttribute)\n/* harmony export */ });\n/* harmony import */ var _math_Vector4_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../math/Vector4.js */ \"./node_modules/three/src/math/Vector4.js\");\n/* harmony import */ var _math_Vector3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math/Vector3.js */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _math_Vector2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math/Vector2.js */ \"./node_modules/three/src/math/Vector2.js\");\n/* harmony import */ var _math_Color_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../math/Color.js */ \"./node_modules/three/src/math/Color.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants.js */ \"./node_modules/three/src/constants.js\" ) ; \ n \ n \ n \ n \ n \ n \ nconst _vector = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _vector2 = new _math _Vector2 _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Vector2 ( ) ; \ n \ nfunction BufferAttribute ( array , itemSize , normalized ) { \ n \ n \ tif ( Array . isArray ( array ) ) { \ n \ n \ t \ tthrow new TypeError ( 'THREE.BufferAttribute: array should be a Typed Array.' ) ; \ n \ n \ t } \ n \ n \ tthis . name = '' ; \ n \ n \ tthis . array = array ; \ n \ tthis . itemSize = itemSize ; \ n \ tthis . count = array !== undefined ? array . length / itemSize : 0 ; \ n \ tthis . normalized = normalized === true ; \ n \ n \ tthis . usage = _constants _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . StaticDrawUsage ; \ n \ tthis . updateRange = { offset : 0 , count : - 1 } ; \ n \ n \ tthis . version = 0 ; \ n \ n } \ n \ nObject . defineProperty ( BufferAttribute . prototype , 'needsUpdate' , { \ n \ n \ tset : function ( value ) { \ n \ n \ t \ tif ( value === true ) this . version ++ ; \ n \ n \ t } \ n \ n } ) ; \ n \ nObject . assign ( BufferAttribute . prototype , { \ n \ n \ tisBufferAttribute : true , \ n \ n \ tonUploadCallback : function ( ) { } , \ n \ n \ tsetUsage : function ( value ) { \ n \ n \ t \ tthis . usage = value ; \ n \ n \ t \ treturn this ; \ n \ n \ t } , \ n \ n \ tcopy : function ( source ) { \ n \ n \ t \ tthis . name = source . name ; \ n \ t \ tthis . array = new source . array . constructor ( source . array ) ; \ n \ t \ tthis . itemSize = source . itemSize ; \ n \ t \ tthis . count = source . count ; \ n \ t \ tthis . normalized = source . normalized ; \ n \ n \ t \ tthis . usage = source . usage ; \ n \ n \ t \ treturn this ; \ n \ n \ t } , \ n \ n \ tcopyAt : function ( index1 , attribute , index2 ) { \ n \ n \ t \ tindex1 *= this . itemSize ; \ n \ t \ tindex2 *= attribute . itemSize ; \ n \ n \ t \ tfor ( let i = 0 , l = this . itemSize ; i < l ; i ++ ) { \ n \ n \ t \ t \ tthis . array [ index1 + i ] = attribute . array [ index2 + i ] ; \ n \ n \ t \ t } \ n \ n \ t \ treturn this ; \ n \ n \ t } , \ n \ n \ tcopyArray : function ( array ) { \ n \ n \ t \ tthis . array . set ( array ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } , \ n \ n \ tcopyColorsArray : function ( colors ) { \ n \ n \ t \ tconst array = this . array ; \ n \ t \ tlet offset = 0 ; \ n \ n \ t \ tfor ( let i = 0 , l = colors . length ; i < l ; i ++ ) { \ n \ n \ t \ t \ tlet color = colors [ i ] ; \ n \ n \ t \ t \ tif ( color === undefined ) { \ n \ n \ t \ t \ t \ tconsole . warn ( 'THREE.BufferAttribute.copyColorsArray(): color is undefined' , i ) ; \ n \ t \ t \
/***/ } ) ,
/***/ "./node_modules/three/src/core/BufferGeometry.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / core / BufferGeometry . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BufferGeometry\": () => (/* binding */ BufferGeometry)\n/* harmony export */ });\n/* harmony import */ var _math_Vector3_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../math/Vector3.js */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _math_Vector2_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../math/Vector2.js */ \"./node_modules/three/src/math/Vector2.js\");\n/* harmony import */ var _math_Box3_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../math/Box3.js */ \"./node_modules/three/src/math/Box3.js\");\n/* harmony import */ var _EventDispatcher_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./EventDispatcher.js */ \"./node_modules/three/src/core/EventDispatcher.js\");\n/* harmony import */ var _BufferAttribute_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./BufferAttribute.js */ \"./node_modules/three/src/core/BufferAttribute.js\");\n/* harmony import */ var _math_Sphere_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../math/Sphere.js */ \"./node_modules/three/src/math/Sphere.js\");\n/* harmony import */ var _Object3D_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Object3D.js */ \"./node_modules/three/src/core/Object3D.js\");\n/* harmony import */ var _math_Matrix4_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math/Matrix4.js */ \"./node_modules/three/src/math/Matrix4.js\");\n/* harmony import */ var _math_Matrix3_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../math/Matrix3.js */ \"./node_modules/three/src/math/Matrix3.js\");\n/* harmony import */ var _math_MathUtils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../math/MathUtils.js */ \"./node_modules/three/src/math/MathUtils.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils.js */ \"./node_modules/three/src/utils.js\" ) ; \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ nlet _id = 0 ; \ n \ nconst _m1 = new _math _Matrix4 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Matrix4 ( ) ; \ nconst _obj = new _Object3D _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Object3D ( ) ; \ nconst _offset = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Vector3 ( ) ; \ nconst _box = new _math _Box3 _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Box3 ( ) ; \ nconst _boxMorphTargets = new _math _Box3 _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Box3 ( ) ; \ nconst _vector = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Vector3 ( ) ; \ n \ nfunction BufferGeometry ( ) { \ n \ n \ tObject . defineProperty ( this , 'id' , { value : _id ++ } ) ; \ n \ n \ tthis . uuid = _math _MathUtils _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ . MathUtils . generateUUID ( ) ; \ n \ n \ tthis . name = '' ; \ n \ tthis . type = 'BufferGeometry' ; \ n \ n \ tthis . index = null ; \ n \ tthis . attributes = { } ; \ n \ n \ tthis . morphAttributes = { } ; \ n \ tthis . morphTargetsRelative = false ; \ n \ n \ tthis . groups = [ ] ; \ n \ n \ tthis . boundingBox = null ; \ n \ tthis . boundingSphere = null ; \ n \ n \ tthis . drawRange = { start : 0 , count : Infinity } ; \ n \ n \ tthis . userData = { } ; \ n \ n } \ n \ nBufferGeometry . prototype = Object . assign ( Object . create ( _EventDispatcher _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ . EventDispatcher . prototype ) , { \ n \ n \ tconstructor : BufferGeometry , \ n \ n \ tisBufferGeometry : true , \ n \ n \ tgetIndex : function ( ) { \ n \ n \ t \ treturn this . index ; \ n \ n \ t } , \ n \ n \ tsetIndex : function ( index ) { \ n \ n \ t \ tif ( Array . isArray ( index ) ) { \ n \ n \ t \ t \ tthis . index = new ( ( 0 , _utils _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ . arrayMax ) ( index ) > 65535 ? _BufferAttribute _js _ _WEBPACK _IMPORTED _MODULE _7 _ _ . Uint32BufferAttribute : _BufferAttribute _js _ _WEBPACK _IMPORTED _MODULE _7 _ _ . Uint16BufferAttribute ) ( index , 1 ) ; \ n \ n \ t \ t } else { \ n \ n \ t \ t \ tthis . index = index ; \ n \ n \ t \ t } \ n \ n \ t \ treturn this ; \ n \ n \ t } , \ n \ n \ tgetAttribute : function ( name ) { \ n \ n \ t \ treturn this . attributes [ name ] ; \ n \ n \ t } , \ n \ n \ tsetAttribute : function ( name , attribute ) { \ n \ n \ t \ tthis . attributes [ name ] = attribute ; \ n \ n \ t \ treturn this ; \ n \ n \ t } , \ n \ n \ tdeleteAttribute : function ( name ) { \ n \ n \ t \ tdelete this . attributes [ name ] ; \ n \ n \ t \ treturn this ; \ n \ n \ t } , \ n \ n \ thasAttribute : function (
/***/ } ) ,
/***/ "./node_modules/three/src/core/EventDispatcher.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
2021-03-23 09:13:59 +00:00
! * * * . / node _modules / three / src / core / EventDispatcher . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
2021-03-21 10:42:14 +00:00
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
2021-03-23 09:13:59 +00:00
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"EventDispatcher\": () => (/* binding */ EventDispatcher)\n/* harmony export */ });\n/**\n * https://github.com/mrdoob/eventdispatcher.js/\n */\n\nfunction EventDispatcher() {}\n\nObject.assign( EventDispatcher.prototype, {\n\n\taddEventListener: function ( type, listener ) {\n\n\t\tif ( this._listeners === undefined ) this._listeners = {};\n\n\t\tconst listeners = this._listeners;\n\n\t\tif ( listeners[ type ] === undefined ) {\n\n\t\t\tlisteners[ type ] = [];\n\n\t\t}\n\n\t\tif ( listeners[ type ].indexOf( listener ) === - 1 ) {\n\n\t\t\tlisteners[ type ].push( listener );\n\n\t\t}\n\n\t},\n\n\thasEventListener: function ( type, listener ) {\n\n\t\tif ( this._listeners === undefined ) return false;\n\n\t\tconst listeners = this._listeners;\n\n\t\treturn listeners[ type ] !== undefined && listeners[ type ].indexOf( listener ) !== - 1;\n\n\t},\n\n\tremoveEventListener: function ( type, listener ) {\n\n\t\tif ( this._listeners === undefined ) return;\n\n\t\tconst listeners = this._listeners;\n\t\tconst listenerArray = listeners[ type ];\n\n\t\tif ( listenerArray !== undefined ) {\n\n\t\t\tconst index = listenerArray.indexOf( listener );\n\n\t\t\tif ( index !== - 1 ) {\n\n\t\t\t\tlistenerArray.splice( index, 1 );\n\n\t\t\t}\n\n\t\t}\n\n\t},\n\n\tdispatchEvent: function ( event ) {\n\n\t\tif ( this._listeners === undefined ) return;\n\n\t\tconst listeners = this._listeners;\n\t\tconst listenerArray = listeners[ event.type ];\n\n\t\tif ( listenerArray !== undefined ) {\n\n\t\t\tevent.target = this;\n\n\t\t\t// Make a copy, in case listeners are removed while iterating.\n\t\t\tconst array = listenerArray.slice( 0 );\n\n\t\t\tfor ( let i = 0, l = array.length; i < l; i ++ ) {\n\n\t\t\t\tarray[ i ].call( this, event );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n} );\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/core/EventDispatcher.js?" ) ;
2021-03-20 19:08:15 +00:00
/***/ } ) ,
2021-03-23 09:13:59 +00:00
/***/ "./node_modules/three/src/core/Layers.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / core / Layers . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
2021-03-20 19:08:15 +00:00
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
2021-03-23 09:13:59 +00:00
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Layers\": () => (/* binding */ Layers)\n/* harmony export */ });\nclass Layers {\n\n\tconstructor() {\n\n\t\tthis.mask = 1 | 0;\n\n\t}\n\n\tset( channel ) {\n\n\t\tthis.mask = 1 << channel | 0;\n\n\t}\n\n\tenable( channel ) {\n\n\t\tthis.mask |= 1 << channel | 0;\n\n\t}\n\n\tenableAll() {\n\n\t\tthis.mask = 0xffffffff | 0;\n\n\t}\n\n\ttoggle( channel ) {\n\n\t\tthis.mask ^= 1 << channel | 0;\n\n\t}\n\n\tdisable( channel ) {\n\n\t\tthis.mask &= ~ ( 1 << channel | 0 );\n\n\t}\n\n\tdisableAll() {\n\n\t\tthis.mask = 0;\n\n\t}\n\n\ttest( layers ) {\n\n\t\treturn ( this.mask & layers.mask ) !== 0;\n\n\t}\n\n}\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/core/Layers.js?" ) ;
2021-03-20 19:08:15 +00:00
/***/ } ) ,
2021-03-23 09:13:59 +00:00
/***/ "./node_modules/three/src/core/Object3D.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / core / Object3D . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
2021-03-20 19:08:15 +00:00
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
2021-03-23 09:13:59 +00:00
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Object3D\": () => (/* binding */ Object3D)\n/* harmony export */ });\n/* harmony import */ var _math_Quaternion_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math/Quaternion.js */ \"./node_modules/three/src/math/Quaternion.js\");\n/* harmony import */ var _math_Vector3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math/Vector3.js */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _math_Matrix4_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../math/Matrix4.js */ \"./node_modules/three/src/math/Matrix4.js\");\n/* harmony import */ var _EventDispatcher_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./EventDispatcher.js */ \"./node_modules/three/src/core/EventDispatcher.js\");\n/* harmony import */ var _math_Euler_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../math/Euler.js */ \"./node_modules/three/src/math/Euler.js\");\n/* harmony import */ var _Layers_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Layers.js */ \"./node_modules/three/src/core/Layers.js\");\n/* harmony import */ var _math_Matrix3_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../math/Matrix3.js */ \"./node_modules/three/src/math/Matrix3.js\");\n/* harmony import */ var _math_MathUtils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../math/MathUtils.js */ \"./node_modules/three/src/math/MathUtils.js\" ) ; \ n \ n \ n \ n \ n \ n \ n \ n \ n \ nlet _object3DId = 0 ; \ n \ nconst _v1 = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _q1 = new _math _Quaternion _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Quaternion ( ) ; \ nconst _m1 = new _math _Matrix4 _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Matrix4 ( ) ; \ nconst _target = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ n \ nconst _position = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _scale = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _quaternion = new _math _Quaternion _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Quaternion ( ) ; \ n \ nconst _xAxis = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( 1 , 0 , 0 ) ; \ nconst _yAxis = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( 0 , 1 , 0 ) ; \ nconst _zAxis = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( 0 , 0 , 1 ) ; \ n \ nconst _addedEvent = { type : 'added' } ; \ nconst _removedEvent = { type : 'removed' } ; \ n \ nfunction Object3D ( ) { \ n \ n \ tObject . defineProperty ( this , 'id' , { value : _object3DId ++ } ) ; \ n \ n \ tthis . uuid = _math _MathUtils _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . MathUtils . generateUUID ( ) ; \ n \ n \ tthis . name = '' ; \ n \ tthis . type = 'Object3D' ; \ n \ n \ tthis . parent = null ; \ n \ tthis . children = [ ] ; \ n \ n \ tthis . up = Object3D . DefaultUp . clone ( ) ; \ n \ n \ tconst position = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ n \ tconst rotation = new _math _Euler _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ . Euler ( ) ; \ n \ tconst quaternion = new _math _Quaternion _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Quaternion ( ) ; \ n \ tconst scale = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( 1 , 1 , 1 ) ; \ n \ n \ tfunction onRotationChange ( ) { \ n \ n \ t \ tquaternion . setFromEuler ( rotation , false ) ; \ n \ n \ t } \ n \ n \ tfunction onQuaternionChange ( ) { \ n \ n \ t \ trotation . setFromQuaternion ( quaternion , undefined , false ) ; \ n \ n \ t } \ n \ n \ trotation . _onChange ( onRotationChange ) ; \ n \ tquaternion . _onChange ( onQuaternionChange ) ; \ n \ n \ tObject . defineProperties ( this , { \ n \ t \ tposition : { \ n \ t \ t \ tconfigurable : true , \ n \ t \ t \ tenumerable : true , \ n \ t \ t \ tvalue : position \ n \ t \ t } , \ n \ t \ trotation : { \ n \ t \ t \ tconfigurable : true , \ n \ t \ t \ tenumerable : true , \ n \ t \ t \ tvalue : rotation \ n \ t \ t } , \ n \ t \ tquaternion : { \ n \ t \ t \ tconfigurable : true , \ n \ t \ t \ tenumerable : true , \ n \ t \ t \ tvalue : quaternion \ n \ t \ t } , \ n \ t \ tscale : { \ n \ t \ t \ tconfigurable : true , \ n \ t \ t \ tenumerable : true , \ n \ t \ t \ tvalue : scale \ n \ t \ t } , \ n \ t \ tmodelViewMatrix : { \ n \ t \ t \ tvalue : new _math _Matrix4 _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Matrix4 ( ) \ n \ t \ t } , \ n \ t \ tnormalMatrix : { \ n \ t \ t \ tvalue : new _math _Matrix3 _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ . Matrix3 ( ) \ n \ t \ t
2021-03-20 19:08:15 +00:00
/***/ } ) ,
2021-03-23 09:13:59 +00:00
/***/ "./node_modules/three/src/core/Raycaster.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / core / Raycaster . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
2021-03-20 19:08:15 +00:00
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
2021-03-23 09:13:59 +00:00
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Raycaster\": () => (/* binding */ Raycaster)\n/* harmony export */ });\n/* harmony import */ var _math_Ray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math/Ray.js */ \"./node_modules/three/src/math/Ray.js\");\n/* harmony import */ var _Layers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Layers.js */ \"./node_modules/three/src/core/Layers.js\");\n\n\n\nfunction Raycaster( origin, direction, near = 0, far = Infinity ) {\n\n\tthis.ray = new _math_Ray_js__WEBPACK_IMPORTED_MODULE_0__.Ray( origin, direction );\n\t// direction is assumed to be normalized (for accurate distance calculations)\n\n\tthis.near = near;\n\tthis.far = far;\n\tthis.camera = null;\n\tthis.layers = new _Layers_js__WEBPACK_IMPORTED_MODULE_1__.Layers();\n\n\tthis.params = {\n\t\tMesh: {},\n\t\tLine: { threshold: 1 },\n\t\tLOD: {},\n\t\tPoints: { threshold: 1 },\n\t\tSprite: {}\n\t};\n\n\tObject.defineProperties( this.params, {\n\t\tPointCloud: {\n\t\t\tget: function () {\n\n\t\t\t\tconsole.warn( 'THREE.Raycaster: params.PointCloud has been renamed to params.Points.' );\n\t\t\t\treturn this.Points;\n\n\t\t\t}\n\t\t}\n\t} );\n\n}\n\nfunction ascSort( a, b ) {\n\n\treturn a.distance - b.distance;\n\n}\n\nfunction intersectObject( object, raycaster, intersects, recursive ) {\n\n\tif ( object.layers.test( raycaster.layers ) ) {\n\n\t\tobject.raycast( raycaster, intersects );\n\n\t}\n\n\tif ( recursive === true ) {\n\n\t\tconst children = object.children;\n\n\t\tfor ( let i = 0, l = children.length; i < l; i ++ ) {\n\n\t\t\tintersectObject( children[ i ], raycaster, intersects, true );\n\n\t\t}\n\n\t}\n\n}\n\nObject.assign( Raycaster.prototype, {\n\n\tset: function ( origin, direction ) {\n\n\t\t// direction is assumed to be normalized (for accurate distance calculations)\n\n\t\tthis.ray.set( origin, direction );\n\n\t},\n\n\tsetFromCamera: function ( coords, camera ) {\n\n\t\tif ( camera && camera.isPerspectiveCamera ) {\n\n\t\t\tthis.ray.origin.setFromMatrixPosition( camera.matrixWorld );\n\t\t\tthis.ray.direction.set( coords.x, coords.y, 0.5 ).unproject( camera ).sub( this.ray.origin ).normalize();\n\t\t\tthis.camera = camera;\n\n\t\t} else if ( camera && camera.isOrthographicCamera ) {\n\n\t\t\tthis.ray.origin.set( coords.x, coords.y, ( camera.near + camera.far ) / ( camera.near - camera.far ) ).unproject( camera ); // set origin in plane of camera\n\t\t\tthis.ray.direction.set( 0, 0, - 1 ).transformDirection( camera.matrixWorld );\n\t\t\tthis.camera = camera;\n\n\t\t} else {\n\n\t\t\tconsole.error( 'THREE.Raycaster: Unsupported camera type: ' + camera.type );\n\n\t\t}\n\n\t},\n\n\tintersectObject: function ( object, recursive = false, intersects = [] ) {\n\n\t\tintersectObject( object, this, intersects, recursive );\n\n\t\tintersects.sort( ascSort );\n\n\t\treturn intersects;\n\n\t},\n\n\tintersectObjects: function ( objects, recursive = false, intersects = [] ) {\n\n\t\tfor ( let i = 0, l = objects.length; i < l; i ++ ) {\n\n\t\t\tintersectObject( objects[ i ], this, intersects, recursive );\n\n\t\t}\n\n\t\tintersects.sort( ascSort );\n\n\t\treturn intersects;\n\n\t}\n\n} );\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/core/Raycaster.js?" ) ;
2021-03-20 19:08:15 +00:00
/***/ } ) ,
2021-03-23 09:13:59 +00:00
/***/ "./node_modules/three/src/extras/ImageUtils.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / extras / ImageUtils . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
2021-03-20 19:08:15 +00:00
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
2021-03-23 09:13:59 +00:00
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ImageUtils\": () => (/* binding */ ImageUtils)\n/* harmony export */ });\nlet _canvas;\n\nconst ImageUtils = {\n\n\tgetDataURL: function ( image ) {\n\n\t\tif ( /^data:/i.test( image.src ) ) {\n\n\t\t\treturn image.src;\n\n\t\t}\n\n\t\tif ( typeof HTMLCanvasElement == 'undefined' ) {\n\n\t\t\treturn image.src;\n\n\t\t}\n\n\t\tlet canvas;\n\n\t\tif ( image instanceof HTMLCanvasElement ) {\n\n\t\t\tcanvas = image;\n\n\t\t} else {\n\n\t\t\tif ( _canvas === undefined ) _canvas = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' );\n\n\t\t\t_canvas.width = image.width;\n\t\t\t_canvas.height = image.height;\n\n\t\t\tconst context = _canvas.getContext( '2d' );\n\n\t\t\tif ( image instanceof ImageData ) {\n\n\t\t\t\tcontext.putImageData( image, 0, 0 );\n\n\t\t\t} else {\n\n\t\t\t\tcontext.drawImage( image, 0, 0, image.width, image.height );\n\n\t\t\t}\n\n\t\t\tcanvas = _canvas;\n\n\t\t}\n\n\t\tif ( canvas.width > 2048 || canvas.height > 2048 ) {\n\n\t\t\treturn canvas.toDataURL( 'image/jpeg', 0.6 );\n\n\t\t} else {\n\n\t\t\treturn canvas.toDataURL( 'image/png' );\n\n\t\t}\n\n\t}\n\n};\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/extras/ImageUtils.js?" ) ;
2021-03-20 19:08:15 +00:00
/***/ } ) ,
2021-03-23 09:13:59 +00:00
/***/ "./node_modules/three/src/geometries/BoxGeometry.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / geometries / BoxGeometry . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
2021-03-20 19:08:15 +00:00
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
2021-03-23 09:13:59 +00:00
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BoxGeometry\": () => (/* binding */ BoxGeometry),\n/* harmony export */ \"BoxBufferGeometry\": () => (/* binding */ BoxGeometry)\n/* harmony export */ });\n/* harmony import */ var _core_BufferGeometry_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/BufferGeometry.js */ \"./node_modules/three/src/core/BufferGeometry.js\");\n/* harmony import */ var _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/BufferAttribute.js */ \"./node_modules/three/src/core/BufferAttribute.js\");\n/* harmony import */ var _math_Vector3_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../math/Vector3.js */ \"./node_modules/three/src/math/Vector3.js\" ) ; \ n \ n \ n \ n \ nclass BoxGeometry extends _core _BufferGeometry _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . BufferGeometry { \ n \ n \ tconstructor ( width = 1 , height = 1 , depth = 1 , widthSegments = 1 , heightSegments = 1 , depthSegments = 1 ) { \ n \ n \ t \ tsuper ( ) ; \ n \ n \ t \ tthis . type = 'BoxGeometry' ; \ n \ n \ t \ tthis . parameters = { \ n \ t \ t \ twidth : width , \ n \ t \ t \ theight : height , \ n \ t \ t \ tdepth : depth , \ n \ t \ t \ twidthSegments : widthSegments , \ n \ t \ t \ theightSegments : heightSegments , \ n \ t \ t \ tdepthSegments : depthSegments \ n \ t \ t } ; \ n \ n \ t \ tconst scope = this ; \ n \ n \ t \ t // segments\n\n\t\twidthSegments = Math.floor( widthSegments );\n\t\theightSegments = Math.floor( heightSegments );\n\t\tdepthSegments = Math.floor( depthSegments );\n\n\t\t// buffers\n\n\t\tconst indices = [];\n\t\tconst vertices = [];\n\t\tconst normals = [];\n\t\tconst uvs = [];\n\n\t\t// helper variables\n\n\t\tlet numberOfVertices = 0;\n\t\tlet groupStart = 0;\n\n\t\t// build each side of the box geometry\n\n\t\tbuildPlane( 'z', 'y', 'x', - 1, - 1, depth, height, width, depthSegments, heightSegments, 0 ); // px\n\t\tbuildPlane( 'z', 'y', 'x', 1, - 1, depth, height, - width, depthSegments, heightSegments, 1 ); // nx\n\t\tbuildPlane( 'x', 'z', 'y', 1, 1, width, depth, height, widthSegments, depthSegments, 2 ); // py\n\t\tbuildPlane( 'x', 'z', 'y', 1, - 1, width, depth, - height, widthSegments, depthSegments, 3 ); // ny\n\t\tbuildPlane( 'x', 'y', 'z', 1, - 1, width, height, depth, widthSegments, heightSegments, 4 ); // pz\n\t\tbuildPlane( 'x', 'y', 'z', - 1, - 1, width, height, - depth, widthSegments, heightSegments, 5 ); // nz\n\n\t\t// build geometry\n\n\t\tthis.setIndex( indices );\n\t\tthis.setAttribute( 'position', new _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_1__.Float32BufferAttribute( vertices, 3 ) );\n\t\tthis.setAttribute( 'normal', new _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_1__.Float32BufferAttribute( normals, 3 ) );\n\t\tthis.setAttribute( 'uv', new _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_1__.Float32BufferAttribute( uvs, 2 ) );\n\n\t\tfunction buildPlane( u, v, w, udir, vdir, width, height, depth, gridX, gridY, materialIndex ) {\n\n\t\t\tconst segmentWidth = width / gridX;\n\t\t\tconst segmentHeight = height / gridY;\n\n\t\t\tconst widthHalf = width / 2;\n\t\t\tconst heightHalf = height / 2;\n\t\t\tconst depthHalf = depth / 2;\n\n\t\t\tconst gridX1 = gridX + 1;\n\t\t\tconst gridY1 = gridY + 1;\n\n\t\t\tlet vertexCounter = 0;\n\t\t\tlet groupCount = 0;\n\n\t\t\tconst vector = new _math_Vector3_js__WEBPACK_IMPORTED_MODULE_2__.Vector3();\n\n\t\t\t// generate vertices, normals and uvs\n\n\t\t\tfor ( let iy = 0; iy < gridY1; iy ++ ) {\n\n\t\t\t\tconst y = iy * segmentHeight - heightHalf;\n\n\t\t\t\tfor ( let ix = 0; ix < gridX1; ix ++ ) {\n\n\t\t\t\t\tconst x = ix * segmentWidth - widthHalf;\n\n\t\t\t\t\t// set values to correct vector component\n\n\t\t\t\t\tvector[ u ] = x * udir;\n\t\t\t\t\tvector[ v ] = y * vdir;\n\t\t\t\t\tvector[ w ] = depthHalf;\n\n\t\t\t\t\t// now apply vector to vertex buffer\n\n\t\t\t\t\tvertices.push( vector.x, vector.y, vector.z );\n\n\t\t\t\t\t// set values to correct vector component\n\n\t\t\t\t\tvector[ u ] = 0;\n\t\t\t\t\tvector[ v ] = 0;\n\t\t\t\t\tvector[ w ] = depth > 0 ? 1 : - 1;\n\n\t\t\t\t\t// now apply vector t
2021-03-20 19:08:15 +00:00
/***/ } ) ,
2021-03-23 09:13:59 +00:00
/***/ "./node_modules/three/src/geometries/PlaneGeometry.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / geometries / PlaneGeometry . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
2021-03-20 19:08:15 +00:00
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
2021-03-23 09:13:59 +00:00
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PlaneGeometry\": () => (/* binding */ PlaneGeometry),\n/* harmony export */ \"PlaneBufferGeometry\": () => (/* binding */ PlaneGeometry)\n/* harmony export */ });\n/* harmony import */ var _core_BufferGeometry_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/BufferGeometry.js */ \"./node_modules/three/src/core/BufferGeometry.js\");\n/* harmony import */ var _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/BufferAttribute.js */ \"./node_modules/three/src/core/BufferAttribute.js\");\n\n\n\nclass PlaneGeometry extends _core_BufferGeometry_js__WEBPACK_IMPORTED_MODULE_0__.BufferGeometry {\n\n\tconstructor( width = 1, height = 1, widthSegments = 1, heightSegments = 1 ) {\n\n\t\tsuper();\n\t\tthis.type = 'PlaneGeometry';\n\n\t\tthis.parameters = {\n\t\t\twidth: width,\n\t\t\theight: height,\n\t\t\twidthSegments: widthSegments,\n\t\t\theightSegments: heightSegments\n\t\t};\n\n\t\tconst width_half = width / 2;\n\t\tconst height_half = height / 2;\n\n\t\tconst gridX = Math.floor( widthSegments );\n\t\tconst gridY = Math.floor( heightSegments );\n\n\t\tconst gridX1 = gridX + 1;\n\t\tconst gridY1 = gridY + 1;\n\n\t\tconst segment_width = width / gridX;\n\t\tconst segment_height = height / gridY;\n\n\t\t//\n\n\t\tconst indices = [];\n\t\tconst vertices = [];\n\t\tconst normals = [];\n\t\tconst uvs = [];\n\n\t\tfor ( let iy = 0; iy < gridY1; iy ++ ) {\n\n\t\t\tconst y = iy * segment_height - height_half;\n\n\t\t\tfor ( let ix = 0; ix < gridX1; ix ++ ) {\n\n\t\t\t\tconst x = ix * segment_width - width_half;\n\n\t\t\t\tvertices.push( x, - y, 0 );\n\n\t\t\t\tnormals.push( 0, 0, 1 );\n\n\t\t\t\tuvs.push( ix / gridX );\n\t\t\t\tuvs.push( 1 - ( iy / gridY ) );\n\n\t\t\t}\n\n\t\t}\n\n\t\tfor ( let iy = 0; iy < gridY; iy ++ ) {\n\n\t\t\tfor ( let ix = 0; ix < gridX; ix ++ ) {\n\n\t\t\t\tconst a = ix + gridX1 * iy;\n\t\t\t\tconst b = ix + gridX1 * ( iy + 1 );\n\t\t\t\tconst c = ( ix + 1 ) + gridX1 * ( iy + 1 );\n\t\t\t\tconst d = ( ix + 1 ) + gridX1 * iy;\n\n\t\t\t\tindices.push( a, b, d );\n\t\t\t\tindices.push( b, c, d );\n\n\t\t\t}\n\n\t\t}\n\n\t\tthis.setIndex( indices );\n\t\tthis.setAttribute( 'position', new _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_1__.Float32BufferAttribute( vertices, 3 ) );\n\t\tthis.setAttribute( 'normal', new _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_1__.Float32BufferAttribute( normals, 3 ) );\n\t\tthis.setAttribute( 'uv', new _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_1__.Float32BufferAttribute( uvs, 2 ) );\n\n\t}\n\n}\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/geometries/PlaneGeometry.js?" ) ;
2021-03-20 19:08:15 +00:00
/***/ } ) ,
2021-03-23 09:13:59 +00:00
/***/ "./node_modules/three/src/helpers/AxesHelper.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / helpers / AxesHelper . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
2021-03-20 19:08:15 +00:00
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
2021-03-23 09:13:59 +00:00
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"AxesHelper\": () => (/* binding */ AxesHelper)\n/* harmony export */ });\n/* harmony import */ var _objects_LineSegments_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../objects/LineSegments.js */ \"./node_modules/three/src/objects/LineSegments.js\");\n/* harmony import */ var _materials_LineBasicMaterial_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../materials/LineBasicMaterial.js */ \"./node_modules/three/src/materials/LineBasicMaterial.js\");\n/* harmony import */ var _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/BufferAttribute.js */ \"./node_modules/three/src/core/BufferAttribute.js\");\n/* harmony import */ var _core_BufferGeometry_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/BufferGeometry.js */ \"./node_modules/three/src/core/BufferGeometry.js\");\n\n\n\n\n\nclass AxesHelper extends _objects_LineSegments_js__WEBPACK_IMPORTED_MODULE_0__.LineSegments {\n\n\tconstructor( size = 1 ) {\n\n\t\tconst vertices = [\n\t\t\t0, 0, 0,\tsize, 0, 0,\n\t\t\t0, 0, 0,\t0, size, 0,\n\t\t\t0, 0, 0,\t0, 0, size\n\t\t];\n\n\t\tconst colors = [\n\t\t\t1, 0, 0,\t1, 0.6, 0,\n\t\t\t0, 1, 0,\t0.6, 1, 0,\n\t\t\t0, 0, 1,\t0, 0.6, 1\n\t\t];\n\n\t\tconst geometry = new _core_BufferGeometry_js__WEBPACK_IMPORTED_MODULE_1__.BufferGeometry();\n\t\tgeometry.setAttribute( 'position', new _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_2__.Float32BufferAttribute( vertices, 3 ) );\n\t\tgeometry.setAttribute( 'color', new _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_2__.Float32BufferAttribute( colors, 3 ) );\n\n\t\tconst material = new _materials_LineBasicMaterial_js__WEBPACK_IMPORTED_MODULE_3__.LineBasicMaterial( { vertexColors: true, toneMapped: false } );\n\n\t\tsuper( geometry, material );\n\n\t\tthis.type = 'AxesHelper';\n\n\t}\n\n}\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/helpers/AxesHelper.js?" ) ;
2021-03-20 19:08:15 +00:00
/***/ } ) ,
2021-03-23 09:13:59 +00:00
/***/ "./node_modules/three/src/helpers/CameraHelper.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / helpers / CameraHelper . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
2021-03-20 19:08:15 +00:00
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
2021-03-23 09:13:59 +00:00
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CameraHelper\": () => (/* binding */ CameraHelper)\n/* harmony export */ });\n/* harmony import */ var _cameras_Camera_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../cameras/Camera.js */ \"./node_modules/three/src/cameras/Camera.js\");\n/* harmony import */ var _math_Vector3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math/Vector3.js */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _objects_LineSegments_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/LineSegments.js */ \"./node_modules/three/src/objects/LineSegments.js\");\n/* harmony import */ var _math_Color_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../math/Color.js */ \"./node_modules/three/src/math/Color.js\");\n/* harmony import */ var _materials_LineBasicMaterial_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../materials/LineBasicMaterial.js */ \"./node_modules/three/src/materials/LineBasicMaterial.js\");\n/* harmony import */ var _core_BufferGeometry_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/BufferGeometry.js */ \"./node_modules/three/src/core/BufferGeometry.js\");\n/* harmony import */ var _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../core/BufferAttribute.js */ \"./node_modules/three/src/core/BufferAttribute.js\" ) ; \ n \ n \ n \ n \ n \ n \ n \ n \ nconst _vector = /*@__PURE__*/ new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _camera = /*@__PURE__*/ new _cameras _Camera _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Camera ( ) ; \ n \ n /**\n *\t- shows frustum, line of sight and up of the camera\n *\t- suitable for fast updates\n * \t- based on frustum visualization in lightgl.js shadowmap example\n *\t\thttp://evanw.github.com/lightgl.js/tests/shadowmap.html\n */ \ n \ nclass CameraHelper extends _objects _LineSegments _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . LineSegments { \ n \ n \ tconstructor ( camera ) { \ n \ n \ t \ tconst geometry = new _core _BufferGeometry _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . BufferGeometry ( ) ; \ n \ t \ tconst material = new _materials _LineBasicMaterial _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ . LineBasicMaterial ( { color : 0xffffff , vertexColors : true , toneMapped : false } ) ; \ n \ n \ t \ tconst vertices = [ ] ; \ n \ t \ tconst colors = [ ] ; \ n \ n \ t \ tconst pointMap = { } ; \ n \ n \ t \ t // colors\n\n\t\tconst colorFrustum = new _math_Color_js__WEBPACK_IMPORTED_MODULE_5__.Color( 0xffaa00 );\n\t\tconst colorCone = new _math_Color_js__WEBPACK_IMPORTED_MODULE_5__.Color( 0xff0000 );\n\t\tconst colorUp = new _math_Color_js__WEBPACK_IMPORTED_MODULE_5__.Color( 0x00aaff );\n\t\tconst colorTarget = new _math_Color_js__WEBPACK_IMPORTED_MODULE_5__.Color( 0xffffff );\n\t\tconst colorCross = new _math_Color_js__WEBPACK_IMPORTED_MODULE_5__.Color( 0x333333 );\n\n\t\t// near\n\n\t\taddLine( 'n1', 'n2', colorFrustum );\n\t\taddLine( 'n2', 'n4', colorFrustum );\n\t\taddLine( 'n4', 'n3', colorFrustum );\n\t\taddLine( 'n3', 'n1', colorFrustum );\n\n\t\t// far\n\n\t\taddLine( 'f1', 'f2', colorFrustum );\n\t\taddLine( 'f2', 'f4', colorFrustum );\n\t\taddLine( 'f4', 'f3', colorFrustum );\n\t\taddLine( 'f3', 'f1', colorFrustum );\n\n\t\t// sides\n\n\t\taddLine( 'n1', 'f1', colorFrustum );\n\t\taddLine( 'n2', 'f2', colorFrustum );\n\t\taddLine( 'n3', 'f3', colorFrustum );\n\t\taddLine( 'n4', 'f4', colorFrustum );\n\n\t\t// cone\n\n\t\taddLine( 'p', 'n1', colorCone );\n\t\taddLine( 'p', 'n2', colorCone );\n\t\taddLine( 'p', 'n3', colorCone );\n\t\taddLine( 'p', 'n4', colorCone );\n\n\t\t// up\n\n\t\taddLine( 'u1', 'u2', colorUp );\n\t\taddLine( 'u2', 'u3', colorUp );\n\t\taddLine( 'u3', 'u1', colorUp );\n\n\t\t// target\n\n\t\taddLine( 'c', 't', colorTarget );\n\t\taddLine( 'p', 'c', colorCross );\n\n\t\t// cross\n\n\t\taddLine( 'cn1', 'cn2', colorCross );\n\t\taddLine( 'cn3', 'cn4', colorCross );\n\n\t\taddLine( 'cf1', 'cf2', colorCross );\n\t\taddLine( 'cf3', 'cf4', colorCross );\n\n\t\tfunction addLine( a, b, color ) {\n\n\t\t\taddPoint( a, color );\n
2021-03-20 19:08:15 +00:00
/***/ } ) ,
2021-03-23 09:13:59 +00:00
/***/ "./node_modules/three/src/helpers/PlaneHelper.js" :
2021-03-20 19:08:15 +00:00
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
2021-03-23 09:13:59 +00:00
! * * * . / node _modules / three / src / helpers / PlaneHelper . js * * * !
2021-03-20 19:08:15 +00:00
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
2021-03-23 09:13:59 +00:00
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PlaneHelper\": () => (/* binding */ PlaneHelper)\n/* harmony export */ });\n/* harmony import */ var _objects_Line_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../objects/Line.js */ \"./node_modules/three/src/objects/Line.js\");\n/* harmony import */ var _objects_Mesh_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/Mesh.js */ \"./node_modules/three/src/objects/Mesh.js\");\n/* harmony import */ var _materials_LineBasicMaterial_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../materials/LineBasicMaterial.js */ \"./node_modules/three/src/materials/LineBasicMaterial.js\");\n/* harmony import */ var _materials_MeshBasicMaterial_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../materials/MeshBasicMaterial.js */ \"./node_modules/three/src/materials/MeshBasicMaterial.js\");\n/* harmony import */ var _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/BufferAttribute.js */ \"./node_modules/three/src/core/BufferAttribute.js\");\n/* harmony import */ var _core_BufferGeometry_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/BufferGeometry.js */ \"./node_modules/three/src/core/BufferGeometry.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../constants.js */ \"./node_modules/three/src/constants.js\");\n\n\n\n\n\n\n\n\nclass PlaneHelper extends _objects_Line_js__WEBPACK_IMPORTED_MODULE_0__.Line {\n\n\tconstructor( plane, size = 1, hex = 0xffff00 ) {\n\n\t\tconst color = hex;\n\n\t\tconst positions = [ 1, - 1, 1, - 1, 1, 1, - 1, - 1, 1, 1, 1, 1, - 1, 1, 1, - 1, - 1, 1, 1, - 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0 ];\n\n\t\tconst geometry = new _core_BufferGeometry_js__WEBPACK_IMPORTED_MODULE_1__.BufferGeometry();\n\t\tgeometry.setAttribute( 'position', new _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_2__.Float32BufferAttribute( positions, 3 ) );\n\t\tgeometry.computeBoundingSphere();\n\n\t\tsuper( geometry, new _materials_LineBasicMaterial_js__WEBPACK_IMPORTED_MODULE_3__.LineBasicMaterial( { color: color, toneMapped: false } ) );\n\n\t\tthis.type = 'PlaneHelper';\n\n\t\tthis.plane = plane;\n\n\t\tthis.size = size;\n\n\t\tconst positions2 = [ 1, 1, 1, - 1, 1, 1, - 1, - 1, 1, 1, 1, 1, - 1, - 1, 1, 1, - 1, 1 ];\n\n\t\tconst geometry2 = new _core_BufferGeometry_js__WEBPACK_IMPORTED_MODULE_1__.BufferGeometry();\n\t\tgeometry2.setAttribute( 'position', new _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_2__.Float32BufferAttribute( positions2, 3 ) );\n\t\tgeometry2.computeBoundingSphere();\n\n\t\tthis.add( new _objects_Mesh_js__WEBPACK_IMPORTED_MODULE_4__.Mesh( geometry2, new _materials_MeshBasicMaterial_js__WEBPACK_IMPORTED_MODULE_5__.MeshBasicMaterial( { color: color, opacity: 0.2, transparent: true, depthWrite: false, toneMapped: false } ) ) );\n\n\t}\n\n\tupdateMatrixWorld( force ) {\n\n\t\tlet scale = - this.plane.constant;\n\n\t\tif ( Math.abs( scale ) < 1e-8 ) scale = 1e-8; // sign does not matter\n\n\t\tthis.scale.set( 0.5 * this.size, 0.5 * this.size, scale );\n\n\t\tthis.children[ 0 ].material.side = ( scale < 0 ) ? _constants_js__WEBPACK_IMPORTED_MODULE_6__.BackSide : _constants_js__WEBPACK_IMPORTED_MODULE_6__.FrontSide; // renderer flips side when determinant < 0; flipping not wanted here\n\n\t\tthis.lookAt( this.plane.normal );\n\n\t\tsuper.updateMatrixWorld( force );\n\n\t}\n\n}\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/helpers/PlaneHelper.js?" ) ;
2021-03-20 19:08:15 +00:00
/***/ } ) ,
2021-03-23 09:13:59 +00:00
/***/ "./node_modules/three/src/lights/DirectionalLight.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / lights / DirectionalLight . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
2021-03-20 19:08:15 +00:00
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
2021-03-23 09:13:59 +00:00
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"DirectionalLight\": () => (/* binding */ DirectionalLight)\n/* harmony export */ });\n/* harmony import */ var _Light_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Light.js */ \"./node_modules/three/src/lights/Light.js\");\n/* harmony import */ var _DirectionalLightShadow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./DirectionalLightShadow.js */ \"./node_modules/three/src/lights/DirectionalLightShadow.js\");\n/* harmony import */ var _core_Object3D_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/Object3D.js */ \"./node_modules/three/src/core/Object3D.js\");\n\n\n\n\nclass DirectionalLight extends _Light_js__WEBPACK_IMPORTED_MODULE_0__.Light {\n\n\tconstructor( color, intensity ) {\n\n\t\tsuper( color, intensity );\n\n\t\tthis.type = 'DirectionalLight';\n\n\t\tthis.position.copy( _core_Object3D_js__WEBPACK_IMPORTED_MODULE_1__.Object3D.DefaultUp );\n\t\tthis.updateMatrix();\n\n\t\tthis.target = new _core_Object3D_js__WEBPACK_IMPORTED_MODULE_1__.Object3D();\n\n\t\tthis.shadow = new _DirectionalLightShadow_js__WEBPACK_IMPORTED_MODULE_2__.DirectionalLightShadow();\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.target = source.target.clone();\n\t\tthis.shadow = source.shadow.clone();\n\n\t\treturn this;\n\n\t}\n\n}\n\nDirectionalLight.prototype.isDirectionalLight = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/lights/DirectionalLight.js?" ) ;
2021-03-20 19:08:15 +00:00
/***/ } ) ,
2021-03-23 09:13:59 +00:00
/***/ "./node_modules/three/src/lights/DirectionalLightShadow.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / lights / DirectionalLightShadow . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
2021-03-20 19:08:15 +00:00
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
2021-03-23 09:13:59 +00:00
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"DirectionalLightShadow\": () => (/* binding */ DirectionalLightShadow)\n/* harmony export */ });\n/* harmony import */ var _LightShadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./LightShadow.js */ \"./node_modules/three/src/lights/LightShadow.js\");\n/* harmony import */ var _cameras_OrthographicCamera_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../cameras/OrthographicCamera.js */ \"./node_modules/three/src/cameras/OrthographicCamera.js\");\n\n\n\nclass DirectionalLightShadow extends _LightShadow_js__WEBPACK_IMPORTED_MODULE_0__.LightShadow {\n\n\tconstructor() {\n\n\t\tsuper( new _cameras_OrthographicCamera_js__WEBPACK_IMPORTED_MODULE_1__.OrthographicCamera( - 5, 5, 5, - 5, 0.5, 500 ) );\n\n\t}\n\n}\n\nDirectionalLightShadow.prototype.isDirectionalLightShadow = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/lights/DirectionalLightShadow.js?" ) ;
2021-03-20 19:08:15 +00:00
/***/ } ) ,
2021-03-23 09:13:59 +00:00
/***/ "./node_modules/three/src/lights/Light.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / lights / Light . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
2021-03-20 19:08:15 +00:00
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
2021-03-23 09:13:59 +00:00
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Light\": () => (/* binding */ Light)\n/* harmony export */ });\n/* harmony import */ var _core_Object3D_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/Object3D.js */ \"./node_modules/three/src/core/Object3D.js\");\n/* harmony import */ var _math_Color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math/Color.js */ \"./node_modules/three/src/math/Color.js\");\n\n\n\nclass Light extends _core_Object3D_js__WEBPACK_IMPORTED_MODULE_0__.Object3D {\n\n\tconstructor( color, intensity = 1 ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'Light';\n\n\t\tthis.color = new _math_Color_js__WEBPACK_IMPORTED_MODULE_1__.Color( color );\n\t\tthis.intensity = intensity;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\t\tthis.intensity = source.intensity;\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\tconst data = super.toJSON( meta );\n\n\t\tdata.object.color = this.color.getHex();\n\t\tdata.object.intensity = this.intensity;\n\n\t\tif ( this.groundColor !== undefined ) data.object.groundColor = this.groundColor.getHex();\n\n\t\tif ( this.distance !== undefined ) data.object.distance = this.distance;\n\t\tif ( this.angle !== undefined ) data.object.angle = this.angle;\n\t\tif ( this.decay !== undefined ) data.object.decay = this.decay;\n\t\tif ( this.penumbra !== undefined ) data.object.penumbra = this.penumbra;\n\n\t\tif ( this.shadow !== undefined ) data.object.shadow = this.shadow.toJSON();\n\n\t\treturn data;\n\n\t}\n\n}\n\nLight.prototype.isLight = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/lights/Light.js?" ) ;
2021-03-20 19:08:15 +00:00
/***/ } ) ,
2021-03-23 09:13:59 +00:00
/***/ "./node_modules/three/src/lights/LightShadow.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / lights / LightShadow . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
2021-03-20 19:08:15 +00:00
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
2021-03-23 09:13:59 +00:00
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"LightShadow\": () => (/* binding */ LightShadow)\n/* harmony export */ });\n/* harmony import */ var _math_Matrix4_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math/Matrix4.js */ \"./node_modules/three/src/math/Matrix4.js\");\n/* harmony import */ var _math_Vector2_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../math/Vector2.js */ \"./node_modules/three/src/math/Vector2.js\");\n/* harmony import */ var _math_Vector3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math/Vector3.js */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _math_Vector4_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../math/Vector4.js */ \"./node_modules/three/src/math/Vector4.js\");\n/* harmony import */ var _math_Frustum_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../math/Frustum.js */ \"./node_modules/three/src/math/Frustum.js\");\n\n\n\n\n\n\nconst _projScreenMatrix = /*@__PURE__*/ new _math_Matrix4_js__WEBPACK_IMPORTED_MODULE_0__.Matrix4();\nconst _lightPositionWorld = /*@__PURE__*/ new _math_Vector3_js__WEBPACK_IMPORTED_MODULE_1__.Vector3();\nconst _lookTarget = /*@__PURE__*/ new _math_Vector3_js__WEBPACK_IMPORTED_MODULE_1__.Vector3();\n\nclass LightShadow {\n\n\tconstructor( camera ) {\n\n\t\tthis.camera = camera;\n\n\t\tthis.bias = 0;\n\t\tthis.normalBias = 0;\n\t\tthis.radius = 1;\n\n\t\tthis.mapSize = new _math_Vector2_js__WEBPACK_IMPORTED_MODULE_2__.Vector2( 512, 512 );\n\n\t\tthis.map = null;\n\t\tthis.mapPass = null;\n\t\tthis.matrix = new _math_Matrix4_js__WEBPACK_IMPORTED_MODULE_0__.Matrix4();\n\n\t\tthis.autoUpdate = true;\n\t\tthis.needsUpdate = false;\n\n\t\tthis._frustum = new _math_Frustum_js__WEBPACK_IMPORTED_MODULE_3__.Frustum();\n\t\tthis._frameExtents = new _math_Vector2_js__WEBPACK_IMPORTED_MODULE_2__.Vector2( 1, 1 );\n\n\t\tthis._viewportCount = 1;\n\n\t\tthis._viewports = [\n\n\t\t\tnew _math_Vector4_js__WEBPACK_IMPORTED_MODULE_4__.Vector4( 0, 0, 1, 1 )\n\n\t\t];\n\n\t}\n\n\tgetViewportCount() {\n\n\t\treturn this._viewportCount;\n\n\t}\n\n\tgetFrustum() {\n\n\t\treturn this._frustum;\n\n\t}\n\n\tupdateMatrices( light ) {\n\n\t\tconst shadowCamera = this.camera;\n\t\tconst shadowMatrix = this.matrix;\n\n\t\t_lightPositionWorld.setFromMatrixPosition( light.matrixWorld );\n\t\tshadowCamera.position.copy( _lightPositionWorld );\n\n\t\t_lookTarget.setFromMatrixPosition( light.target.matrixWorld );\n\t\tshadowCamera.lookAt( _lookTarget );\n\t\tshadowCamera.updateMatrixWorld();\n\n\t\t_projScreenMatrix.multiplyMatrices( shadowCamera.projectionMatrix, shadowCamera.matrixWorldInverse );\n\t\tthis._frustum.setFromProjectionMatrix( _projScreenMatrix );\n\n\t\tshadowMatrix.set(\n\t\t\t0.5, 0.0, 0.0, 0.5,\n\t\t\t0.0, 0.5, 0.0, 0.5,\n\t\t\t0.0, 0.0, 0.5, 0.5,\n\t\t\t0.0, 0.0, 0.0, 1.0\n\t\t);\n\n\t\tshadowMatrix.multiply( shadowCamera.projectionMatrix );\n\t\tshadowMatrix.multiply( shadowCamera.matrixWorldInverse );\n\n\t}\n\n\tgetViewport( viewportIndex ) {\n\n\t\treturn this._viewports[ viewportIndex ];\n\n\t}\n\n\tgetFrameExtents() {\n\n\t\treturn this._frameExtents;\n\n\t}\n\n\tcopy( source ) {\n\n\t\tthis.camera = source.camera.clone();\n\n\t\tthis.bias = source.bias;\n\t\tthis.radius = source.radius;\n\n\t\tthis.mapSize.copy( source.mapSize );\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\ttoJSON() {\n\n\t\tconst object = {};\n\n\t\tif ( this.bias !== 0 ) object.bias = this.bias;\n\t\tif ( this.normalBias !== 0 ) object.normalBias = this.normalBias;\n\t\tif ( this.radius !== 1 ) object.radius = this.radius;\n\t\tif ( this.mapSize.x !== 512 || this.mapSize.y !== 512 ) object.mapSize = this.mapSize.toArray();\n\n\t\tobject.camera = this.camera.toJSON( false ).object;\n\t\tdelete object.camera.matrix;\n\n\t\treturn object;\n\n\t}\n\n}\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/lights/LightShadow.js?" ) ;
2021-03-20 19:08:15 +00:00
/***/ } ) ,
/***/ "./node_modules/three/src/materials/LineBasicMaterial.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / materials / LineBasicMaterial . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"LineBasicMaterial\": () => (/* binding */ LineBasicMaterial)\n/* harmony export */ });\n/* harmony import */ var _Material_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Material.js */ \"./node_modules/three/src/materials/Material.js\");\n/* harmony import */ var _math_Color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math/Color.js */ \"./node_modules/three/src/math/Color.js\");\n\n\n\n/**\n * parameters = {\n * color: <hex>,\n * opacity: <float>,\n *\n * linewidth: <float>,\n * linecap: \"round\",\n * linejoin: \"round\"\n * }\n */\n\nclass LineBasicMaterial extends _Material_js__WEBPACK_IMPORTED_MODULE_0__.Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'LineBasicMaterial';\n\n\t\tthis.color = new _math_Color_js__WEBPACK_IMPORTED_MODULE_1__.Color( 0xffffff );\n\n\t\tthis.linewidth = 1;\n\t\tthis.linecap = 'round';\n\t\tthis.linejoin = 'round';\n\n\t\tthis.morphTargets = false;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.linewidth = source.linewidth;\n\t\tthis.linecap = source.linecap;\n\t\tthis.linejoin = source.linejoin;\n\n\t\tthis.morphTargets = source.morphTargets;\n\n\t\treturn this;\n\n\t}\n\n}\n\nLineBasicMaterial.prototype.isLineBasicMaterial = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/materials/LineBasicMaterial.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/materials/LineDashedMaterial.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / materials / LineDashedMaterial . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"LineDashedMaterial\": () => (/* binding */ LineDashedMaterial)\n/* harmony export */ });\n/* harmony import */ var _LineBasicMaterial_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./LineBasicMaterial.js */ \"./node_modules/three/src/materials/LineBasicMaterial.js\");\n\n\n/**\n * parameters = {\n * color: <hex>,\n * opacity: <float>,\n *\n * linewidth: <float>,\n *\n * scale: <float>,\n * dashSize: <float>,\n * gapSize: <float>\n * }\n */\n\nclass LineDashedMaterial extends _LineBasicMaterial_js__WEBPACK_IMPORTED_MODULE_0__.LineBasicMaterial {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'LineDashedMaterial';\n\n\t\tthis.scale = 1;\n\t\tthis.dashSize = 3;\n\t\tthis.gapSize = 1;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.scale = source.scale;\n\t\tthis.dashSize = source.dashSize;\n\t\tthis.gapSize = source.gapSize;\n\n\t\treturn this;\n\n\t}\n\n}\n\nLineDashedMaterial.prototype.isLineDashedMaterial = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/materials/LineDashedMaterial.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/materials/Material.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / materials / Material . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Material\": () => (/* binding */ Material)\n/* harmony export */ });\n/* harmony import */ var _core_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/EventDispatcher.js */ \"./node_modules/three/src/core/EventDispatcher.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants.js */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _math_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math/MathUtils.js */ \"./node_modules/three/src/math/MathUtils.js\" ) ; \ n \ n \ n \ n \ nlet materialId = 0 ; \ n \ nfunction Material ( ) { \ n \ n \ tObject . defineProperty ( this , 'id' , { value : materialId ++ } ) ; \ n \ n \ tthis . uuid = _math _MathUtils _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . MathUtils . generateUUID ( ) ; \ n \ n \ tthis . name = '' ; \ n \ tthis . type = 'Material' ; \ n \ n \ tthis . fog = true ; \ n \ n \ tthis . blending = _constants _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . NormalBlending ; \ n \ tthis . side = _constants _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . FrontSide ; \ n \ tthis . vertexColors = false ; \ n \ n \ tthis . opacity = 1 ; \ n \ tthis . transparent = false ; \ n \ n \ tthis . blendSrc = _constants _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . SrcAlphaFactor ; \ n \ tthis . blendDst = _constants _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . OneMinusSrcAlphaFactor ; \ n \ tthis . blendEquation = _constants _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . AddEquation ; \ n \ tthis . blendSrcAlpha = null ; \ n \ tthis . blendDstAlpha = null ; \ n \ tthis . blendEquationAlpha = null ; \ n \ n \ tthis . depthFunc = _constants _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . LessEqualDepth ; \ n \ tthis . depthTest = true ; \ n \ tthis . depthWrite = true ; \ n \ n \ tthis . stencilWriteMask = 0xff ; \ n \ tthis . stencilFunc = _constants _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . AlwaysStencilFunc ; \ n \ tthis . stencilRef = 0 ; \ n \ tthis . stencilFuncMask = 0xff ; \ n \ tthis . stencilFail = _constants _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . KeepStencilOp ; \ n \ tthis . stencilZFail = _constants _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . KeepStencilOp ; \ n \ tthis . stencilZPass = _constants _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . KeepStencilOp ; \ n \ tthis . stencilWrite = false ; \ n \ n \ tthis . clippingPlanes = null ; \ n \ tthis . clipIntersection = false ; \ n \ tthis . clipShadows = false ; \ n \ n \ tthis . shadowSide = null ; \ n \ n \ tthis . colorWrite = true ; \ n \ n \ tthis . precision = null ; // override the renderer's default precision for this material\n\n\tthis.polygonOffset = false;\n\tthis.polygonOffsetFactor = 0;\n\tthis.polygonOffsetUnits = 0;\n\n\tthis.dithering = false;\n\n\tthis.alphaTest = 0;\n\tthis.premultipliedAlpha = false;\n\n\tthis.visible = true;\n\n\tthis.toneMapped = true;\n\n\tthis.userData = {};\n\n\tthis.version = 0;\n\n}\n\nMaterial.prototype = Object.assign( Object.create( _core_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_2__.EventDispatcher.prototype ), {\n\n\tconstructor: Material,\n\n\tisMaterial: true,\n\n\tonBeforeCompile: function ( /* shaderobject, renderer */ ) {},\n\n\tcustomProgramCacheKey: function () {\n\n\t\treturn this.onBeforeCompile.toString();\n\n\t},\n\n\tsetValues: function ( values ) {\n\n\t\tif ( values === undefined ) return;\n\n\t\tfor ( const key in values ) {\n\n\t\t\tconst newValue = values[ key ];\n\n\t\t\tif ( newValue === undefined ) {\n\n\t\t\t\tconsole.warn( 'THREE.Material: \\'' + key + '\\' parameter is undefined.' );\n\t\t\t\tcontinue;\n\n\t\t\t}\n\n\t\t\t// for backward compatability if shading is set in the constructor\n\t\t\tif ( key === 'shading' ) {\n\n\t\t\t\tconsole.warn( 'THREE.' + this.type + ': .shading has been removed. Use the boolean .flatShading instead.' );\n\t\t\t\tthis.flatShading = ( newValue === _constants_js__WEBPACK_IMPORTED_MODULE_1__.FlatShading ) ? true : false;\n\t\t\t\tcontinue;\n\n\t\t\t}\n\n\t\t\tconst currentValue = this[ key ];\n\n\t\t\tif ( currentValue === undefined ) {\n\n\t\t\t\tconsole.warn( 'THREE.' + this.type + ': \\'' + key + '\\' is not a property of this material.' );\n\t\t\t\tcontinue;\n\n\t\t\t}\n\n\t\t\tif ( currentValue && currentValue.isColor ) {\n\n\t\t\t\tcurrentValue.set( newValue );\n\n\t\t\t} e
/***/ } ) ,
/***/ "./node_modules/three/src/materials/Materials.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / materials / Materials . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ShadowMaterial\": () => (/* reexport safe */ _ShadowMaterial_js__WEBPACK_IMPORTED_MODULE_0__.ShadowMaterial),\n/* harmony export */ \"SpriteMaterial\": () => (/* reexport safe */ _SpriteMaterial_js__WEBPACK_IMPORTED_MODULE_1__.SpriteMaterial),\n/* harmony export */ \"RawShaderMaterial\": () => (/* reexport safe */ _RawShaderMaterial_js__WEBPACK_IMPORTED_MODULE_2__.RawShaderMaterial),\n/* harmony export */ \"ShaderMaterial\": () => (/* reexport safe */ _ShaderMaterial_js__WEBPACK_IMPORTED_MODULE_3__.ShaderMaterial),\n/* harmony export */ \"PointsMaterial\": () => (/* reexport safe */ _PointsMaterial_js__WEBPACK_IMPORTED_MODULE_4__.PointsMaterial),\n/* harmony export */ \"MeshPhysicalMaterial\": () => (/* reexport safe */ _MeshPhysicalMaterial_js__WEBPACK_IMPORTED_MODULE_5__.MeshPhysicalMaterial),\n/* harmony export */ \"MeshStandardMaterial\": () => (/* reexport safe */ _MeshStandardMaterial_js__WEBPACK_IMPORTED_MODULE_6__.MeshStandardMaterial),\n/* harmony export */ \"MeshPhongMaterial\": () => (/* reexport safe */ _MeshPhongMaterial_js__WEBPACK_IMPORTED_MODULE_7__.MeshPhongMaterial),\n/* harmony export */ \"MeshToonMaterial\": () => (/* reexport safe */ _MeshToonMaterial_js__WEBPACK_IMPORTED_MODULE_8__.MeshToonMaterial),\n/* harmony export */ \"MeshNormalMaterial\": () => (/* reexport safe */ _MeshNormalMaterial_js__WEBPACK_IMPORTED_MODULE_9__.MeshNormalMaterial),\n/* harmony export */ \"MeshLambertMaterial\": () => (/* reexport safe */ _MeshLambertMaterial_js__WEBPACK_IMPORTED_MODULE_10__.MeshLambertMaterial),\n/* harmony export */ \"MeshDepthMaterial\": () => (/* reexport safe */ _MeshDepthMaterial_js__WEBPACK_IMPORTED_MODULE_11__.MeshDepthMaterial),\n/* harmony export */ \"MeshDistanceMaterial\": () => (/* reexport safe */ _MeshDistanceMaterial_js__WEBPACK_IMPORTED_MODULE_12__.MeshDistanceMaterial),\n/* harmony export */ \"MeshBasicMaterial\": () => (/* reexport safe */ _MeshBasicMaterial_js__WEBPACK_IMPORTED_MODULE_13__.MeshBasicMaterial),\n/* harmony export */ \"MeshMatcapMaterial\": () => (/* reexport safe */ _MeshMatcapMaterial_js__WEBPACK_IMPORTED_MODULE_14__.MeshMatcapMaterial),\n/* harmony export */ \"LineDashedMaterial\": () => (/* reexport safe */ _LineDashedMaterial_js__WEBPACK_IMPORTED_MODULE_15__.LineDashedMaterial),\n/* harmony export */ \"LineBasicMaterial\": () => (/* reexport safe */ _LineBasicMaterial_js__WEBPACK_IMPORTED_MODULE_16__.LineBasicMaterial),\n/* harmony export */ \"Material\": () => (/* reexport safe */ _Material_js__WEBPACK_IMPORTED_MODULE_17__.Material)\n/* harmony export */ });\n/* harmony import */ var _ShadowMaterial_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ShadowMaterial.js */ \"./node_modules/three/src/materials/ShadowMaterial.js\");\n/* harmony import */ var _SpriteMaterial_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SpriteMaterial.js */ \"./node_modules/three/src/materials/SpriteMaterial.js\");\n/* harmony import */ var _RawShaderMaterial_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./RawShaderMaterial.js */ \"./node_modules/three/src/materials/RawShaderMaterial.js\");\n/* harmony import */ var _ShaderMaterial_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ShaderMaterial.js */ \"./node_modules/three/src/materials/ShaderMaterial.js\");\n/* harmony import */ var _PointsMaterial_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PointsMaterial.js */ \"./node_modules/three/src/materials/PointsMaterial.js\");\n/* harmony import */ var _MeshPhysicalMaterial_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./MeshPhysicalMaterial.js */ \"./node_modules/three/src/materials/MeshPhysicalMaterial.js\");\n/* harmony import */ var _MeshStandardMaterial_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./MeshStandardMaterial.js */ \"./node_modules/three/src/materials/MeshStandardMaterial.js\" ) ; \ n /* harmony import */ var _MeshPhongMate
/***/ } ) ,
/***/ "./node_modules/three/src/materials/MeshBasicMaterial.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / materials / MeshBasicMaterial . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MeshBasicMaterial\": () => (/* binding */ MeshBasicMaterial)\n/* harmony export */ });\n/* harmony import */ var _Material_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Material.js */ \"./node_modules/three/src/materials/Material.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants.js */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _math_Color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math/Color.js */ \"./node_modules/three/src/math/Color.js\");\n\n\n\n\n/**\n * parameters = {\n * color: <hex>,\n * opacity: <float>,\n * map: new THREE.Texture( <Image> ),\n *\n * lightMap: new THREE.Texture( <Image> ),\n * lightMapIntensity: <float>\n *\n * aoMap: new THREE.Texture( <Image> ),\n * aoMapIntensity: <float>\n *\n * specularMap: new THREE.Texture( <Image> ),\n *\n * alphaMap: new THREE.Texture( <Image> ),\n *\n * envMap: new THREE.CubeTexture( [posx, negx, posy, negy, posz, negz] ),\n * combine: THREE.Multiply,\n * reflectivity: <float>,\n * refractionRatio: <float>,\n *\n * depthTest: <bool>,\n * depthWrite: <bool>,\n *\n * wireframe: <boolean>,\n * wireframeLinewidth: <float>,\n *\n * skinning: <bool>,\n * morphTargets: <bool>\n * }\n */\n\nclass MeshBasicMaterial extends _Material_js__WEBPACK_IMPORTED_MODULE_0__.Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'MeshBasicMaterial';\n\n\t\tthis.color = new _math_Color_js__WEBPACK_IMPORTED_MODULE_1__.Color( 0xffffff ); // emissive\n\n\t\tthis.map = null;\n\n\t\tthis.lightMap = null;\n\t\tthis.lightMapIntensity = 1.0;\n\n\t\tthis.aoMap = null;\n\t\tthis.aoMapIntensity = 1.0;\n\n\t\tthis.specularMap = null;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.envMap = null;\n\t\tthis.combine = _constants_js__WEBPACK_IMPORTED_MODULE_2__.MultiplyOperation;\n\t\tthis.reflectivity = 1;\n\t\tthis.refractionRatio = 0.98;\n\n\t\tthis.wireframe = false;\n\t\tthis.wireframeLinewidth = 1;\n\t\tthis.wireframeLinecap = 'round';\n\t\tthis.wireframeLinejoin = 'round';\n\n\t\tthis.skinning = false;\n\t\tthis.morphTargets = false;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.map = source.map;\n\n\t\tthis.lightMap = source.lightMap;\n\t\tthis.lightMapIntensity = source.lightMapIntensity;\n\n\t\tthis.aoMap = source.aoMap;\n\t\tthis.aoMapIntensity = source.aoMapIntensity;\n\n\t\tthis.specularMap = source.specularMap;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.envMap = source.envMap;\n\t\tthis.combine = source.combine;\n\t\tthis.reflectivity = source.reflectivity;\n\t\tthis.refractionRatio = source.refractionRatio;\n\n\t\tthis.wireframe = source.wireframe;\n\t\tthis.wireframeLinewidth = source.wireframeLinewidth;\n\t\tthis.wireframeLinecap = source.wireframeLinecap;\n\t\tthis.wireframeLinejoin = source.wireframeLinejoin;\n\n\t\tthis.skinning = source.skinning;\n\t\tthis.morphTargets = source.morphTargets;\n\n\t\treturn this;\n\n\t}\n\n}\n\nMeshBasicMaterial.prototype.isMeshBasicMaterial = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/materials/MeshBasicMaterial.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/materials/MeshDepthMaterial.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / materials / MeshDepthMaterial . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MeshDepthMaterial\": () => (/* binding */ MeshDepthMaterial)\n/* harmony export */ });\n/* harmony import */ var _Material_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Material.js */ \"./node_modules/three/src/materials/Material.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants.js */ \"./node_modules/three/src/constants.js\");\n\n\n\n/**\n * parameters = {\n *\n * opacity: <float>,\n *\n * map: new THREE.Texture( <Image> ),\n *\n * alphaMap: new THREE.Texture( <Image> ),\n *\n * displacementMap: new THREE.Texture( <Image> ),\n * displacementScale: <float>,\n * displacementBias: <float>,\n *\n * wireframe: <boolean>,\n * wireframeLinewidth: <float>\n * }\n */\n\nclass MeshDepthMaterial extends _Material_js__WEBPACK_IMPORTED_MODULE_0__.Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'MeshDepthMaterial';\n\n\t\tthis.depthPacking = _constants_js__WEBPACK_IMPORTED_MODULE_1__.BasicDepthPacking;\n\n\t\tthis.skinning = false;\n\t\tthis.morphTargets = false;\n\n\t\tthis.map = null;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.displacementMap = null;\n\t\tthis.displacementScale = 1;\n\t\tthis.displacementBias = 0;\n\n\t\tthis.wireframe = false;\n\t\tthis.wireframeLinewidth = 1;\n\n\t\tthis.fog = false;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.depthPacking = source.depthPacking;\n\n\t\tthis.skinning = source.skinning;\n\t\tthis.morphTargets = source.morphTargets;\n\n\t\tthis.map = source.map;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.displacementMap = source.displacementMap;\n\t\tthis.displacementScale = source.displacementScale;\n\t\tthis.displacementBias = source.displacementBias;\n\n\t\tthis.wireframe = source.wireframe;\n\t\tthis.wireframeLinewidth = source.wireframeLinewidth;\n\n\t\treturn this;\n\n\t}\n\n}\n\nMeshDepthMaterial.prototype.isMeshDepthMaterial = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/materials/MeshDepthMaterial.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/materials/MeshDistanceMaterial.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / materials / MeshDistanceMaterial . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MeshDistanceMaterial\": () => (/* binding */ MeshDistanceMaterial)\n/* harmony export */ });\n/* harmony import */ var _Material_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Material.js */ \"./node_modules/three/src/materials/Material.js\");\n/* harmony import */ var _math_Vector3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math/Vector3.js */ \"./node_modules/three/src/math/Vector3.js\");\n\n\n\n/**\n * parameters = {\n *\n * referencePosition: <float>,\n * nearDistance: <float>,\n * farDistance: <float>,\n *\n * skinning: <bool>,\n * morphTargets: <bool>,\n *\n * map: new THREE.Texture( <Image> ),\n *\n * alphaMap: new THREE.Texture( <Image> ),\n *\n * displacementMap: new THREE.Texture( <Image> ),\n * displacementScale: <float>,\n * displacementBias: <float>\n *\n * }\n */\n\nclass MeshDistanceMaterial extends _Material_js__WEBPACK_IMPORTED_MODULE_0__.Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'MeshDistanceMaterial';\n\n\t\tthis.referencePosition = new _math_Vector3_js__WEBPACK_IMPORTED_MODULE_1__.Vector3();\n\t\tthis.nearDistance = 1;\n\t\tthis.farDistance = 1000;\n\n\t\tthis.skinning = false;\n\t\tthis.morphTargets = false;\n\n\t\tthis.map = null;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.displacementMap = null;\n\t\tthis.displacementScale = 1;\n\t\tthis.displacementBias = 0;\n\n\t\tthis.fog = false;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.referencePosition.copy( source.referencePosition );\n\t\tthis.nearDistance = source.nearDistance;\n\t\tthis.farDistance = source.farDistance;\n\n\t\tthis.skinning = source.skinning;\n\t\tthis.morphTargets = source.morphTargets;\n\n\t\tthis.map = source.map;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.displacementMap = source.displacementMap;\n\t\tthis.displacementScale = source.displacementScale;\n\t\tthis.displacementBias = source.displacementBias;\n\n\t\treturn this;\n\n\t}\n\n}\n\nMeshDistanceMaterial.prototype.isMeshDistanceMaterial = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/materials/MeshDistanceMaterial.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/materials/MeshLambertMaterial.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / materials / MeshLambertMaterial . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MeshLambertMaterial\": () => (/* binding */ MeshLambertMaterial)\n/* harmony export */ });\n/* harmony import */ var _Material_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Material.js */ \"./node_modules/three/src/materials/Material.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants.js */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _math_Color_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../math/Color.js */ \"./node_modules/three/src/math/Color.js\");\n\n\n\n\n/**\n * parameters = {\n * color: <hex>,\n * opacity: <float>,\n *\n * map: new THREE.Texture( <Image> ),\n *\n * lightMap: new THREE.Texture( <Image> ),\n * lightMapIntensity: <float>\n *\n * aoMap: new THREE.Texture( <Image> ),\n * aoMapIntensity: <float>\n *\n * emissive: <hex>,\n * emissiveIntensity: <float>\n * emissiveMap: new THREE.Texture( <Image> ),\n *\n * specularMap: new THREE.Texture( <Image> ),\n *\n * alphaMap: new THREE.Texture( <Image> ),\n *\n * envMap: new THREE.CubeTexture( [posx, negx, posy, negy, posz, negz] ),\n * combine: THREE.Multiply,\n * reflectivity: <float>,\n * refractionRatio: <float>,\n *\n * wireframe: <boolean>,\n * wireframeLinewidth: <float>,\n *\n * skinning: <bool>,\n * morphTargets: <bool>,\n * morphNormals: <bool>\n * }\n */\n\nclass MeshLambertMaterial extends _Material_js__WEBPACK_IMPORTED_MODULE_0__.Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'MeshLambertMaterial';\n\n\t\tthis.color = new _math_Color_js__WEBPACK_IMPORTED_MODULE_2__.Color( 0xffffff ); // diffuse\n\n\t\tthis.map = null;\n\n\t\tthis.lightMap = null;\n\t\tthis.lightMapIntensity = 1.0;\n\n\t\tthis.aoMap = null;\n\t\tthis.aoMapIntensity = 1.0;\n\n\t\tthis.emissive = new _math_Color_js__WEBPACK_IMPORTED_MODULE_2__.Color( 0x000000 );\n\t\tthis.emissiveIntensity = 1.0;\n\t\tthis.emissiveMap = null;\n\n\t\tthis.specularMap = null;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.envMap = null;\n\t\tthis.combine = _constants_js__WEBPACK_IMPORTED_MODULE_1__.MultiplyOperation;\n\t\tthis.reflectivity = 1;\n\t\tthis.refractionRatio = 0.98;\n\n\t\tthis.wireframe = false;\n\t\tthis.wireframeLinewidth = 1;\n\t\tthis.wireframeLinecap = 'round';\n\t\tthis.wireframeLinejoin = 'round';\n\n\t\tthis.skinning = false;\n\t\tthis.morphTargets = false;\n\t\tthis.morphNormals = false;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.map = source.map;\n\n\t\tthis.lightMap = source.lightMap;\n\t\tthis.lightMapIntensity = source.lightMapIntensity;\n\n\t\tthis.aoMap = source.aoMap;\n\t\tthis.aoMapIntensity = source.aoMapIntensity;\n\n\t\tthis.emissive.copy( source.emissive );\n\t\tthis.emissiveMap = source.emissiveMap;\n\t\tthis.emissiveIntensity = source.emissiveIntensity;\n\n\t\tthis.specularMap = source.specularMap;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.envMap = source.envMap;\n\t\tthis.combine = source.combine;\n\t\tthis.reflectivity = source.reflectivity;\n\t\tthis.refractionRatio = source.refractionRatio;\n\n\t\tthis.wireframe = source.wireframe;\n\t\tthis.wireframeLinewidth = source.wireframeLinewidth;\n\t\tthis.wireframeLinecap = source.wireframeLinecap;\n\t\tthis.wireframeLinejoin = source.wireframeLinejoin;\n\n\t\tthis.skinning = source.skinning;\n\t\tthis.morphTargets = source.morphTargets;\n\t\tthis.morphNormals = source.morphNormals;\n\n\t\treturn this;\n\n\t}\n\n}\n\nMeshLambertMaterial.prototype.isMeshLambertMaterial = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/materials/MeshLambertMaterial.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/materials/MeshMatcapMaterial.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / materials / MeshMatcapMaterial . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MeshMatcapMaterial\": () => (/* binding */ MeshMatcapMaterial)\n/* harmony export */ });\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants.js */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _Material_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Material.js */ \"./node_modules/three/src/materials/Material.js\");\n/* harmony import */ var _math_Vector2_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../math/Vector2.js */ \"./node_modules/three/src/math/Vector2.js\");\n/* harmony import */ var _math_Color_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../math/Color.js */ \"./node_modules/three/src/math/Color.js\");\n\n\n\n\n\n/**\n * parameters = {\n * color: <hex>,\n * opacity: <float>,\n *\n * matcap: new THREE.Texture( <Image> ),\n *\n * map: new THREE.Texture( <Image> ),\n *\n * bumpMap: new THREE.Texture( <Image> ),\n * bumpScale: <float>,\n *\n * normalMap: new THREE.Texture( <Image> ),\n * normalMapType: THREE.TangentSpaceNormalMap,\n * normalScale: <Vector2>,\n *\n * displacementMap: new THREE.Texture( <Image> ),\n * displacementScale: <float>,\n * displacementBias: <float>,\n *\n * alphaMap: new THREE.Texture( <Image> ),\n *\n * skinning: <bool>,\n * morphTargets: <bool>,\n * morphNormals: <bool>\n *\n * flatShading: <bool>\n * }\n */\n\nclass MeshMatcapMaterial extends _Material_js__WEBPACK_IMPORTED_MODULE_1__.Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.defines = { 'MATCAP': '' };\n\n\t\tthis.type = 'MeshMatcapMaterial';\n\n\t\tthis.color = new _math_Color_js__WEBPACK_IMPORTED_MODULE_3__.Color( 0xffffff ); // diffuse\n\n\t\tthis.matcap = null;\n\n\t\tthis.map = null;\n\n\t\tthis.bumpMap = null;\n\t\tthis.bumpScale = 1;\n\n\t\tthis.normalMap = null;\n\t\tthis.normalMapType = _constants_js__WEBPACK_IMPORTED_MODULE_0__.TangentSpaceNormalMap;\n\t\tthis.normalScale = new _math_Vector2_js__WEBPACK_IMPORTED_MODULE_2__.Vector2( 1, 1 );\n\n\t\tthis.displacementMap = null;\n\t\tthis.displacementScale = 1;\n\t\tthis.displacementBias = 0;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.skinning = false;\n\t\tthis.morphTargets = false;\n\t\tthis.morphNormals = false;\n\n\t\tthis.flatShading = false;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.defines = { 'MATCAP': '' };\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.matcap = source.matcap;\n\n\t\tthis.map = source.map;\n\n\t\tthis.bumpMap = source.bumpMap;\n\t\tthis.bumpScale = source.bumpScale;\n\n\t\tthis.normalMap = source.normalMap;\n\t\tthis.normalMapType = source.normalMapType;\n\t\tthis.normalScale.copy( source.normalScale );\n\n\t\tthis.displacementMap = source.displacementMap;\n\t\tthis.displacementScale = source.displacementScale;\n\t\tthis.displacementBias = source.displacementBias;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.skinning = source.skinning;\n\t\tthis.morphTargets = source.morphTargets;\n\t\tthis.morphNormals = source.morphNormals;\n\n\t\tthis.flatShading = source.flatShading;\n\n\t\treturn this;\n\n\t}\n\n}\n\nMeshMatcapMaterial.prototype.isMeshMatcapMaterial = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/materials/MeshMatcapMaterial.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/materials/MeshNormalMaterial.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / materials / MeshNormalMaterial . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MeshNormalMaterial\": () => (/* binding */ MeshNormalMaterial)\n/* harmony export */ });\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants.js */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _Material_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Material.js */ \"./node_modules/three/src/materials/Material.js\");\n/* harmony import */ var _math_Vector2_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../math/Vector2.js */ \"./node_modules/three/src/math/Vector2.js\");\n\n\n\n\n/**\n * parameters = {\n * opacity: <float>,\n *\n * bumpMap: new THREE.Texture( <Image> ),\n * bumpScale: <float>,\n *\n * normalMap: new THREE.Texture( <Image> ),\n * normalMapType: THREE.TangentSpaceNormalMap,\n * normalScale: <Vector2>,\n *\n * displacementMap: new THREE.Texture( <Image> ),\n * displacementScale: <float>,\n * displacementBias: <float>,\n *\n * wireframe: <boolean>,\n * wireframeLinewidth: <float>\n *\n * skinning: <bool>,\n * morphTargets: <bool>,\n * morphNormals: <bool>,\n *\n * flatShading: <bool>\n * }\n */\n\nclass MeshNormalMaterial extends _Material_js__WEBPACK_IMPORTED_MODULE_1__.Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'MeshNormalMaterial';\n\n\t\tthis.bumpMap = null;\n\t\tthis.bumpScale = 1;\n\n\t\tthis.normalMap = null;\n\t\tthis.normalMapType = _constants_js__WEBPACK_IMPORTED_MODULE_0__.TangentSpaceNormalMap;\n\t\tthis.normalScale = new _math_Vector2_js__WEBPACK_IMPORTED_MODULE_2__.Vector2( 1, 1 );\n\n\t\tthis.displacementMap = null;\n\t\tthis.displacementScale = 1;\n\t\tthis.displacementBias = 0;\n\n\t\tthis.wireframe = false;\n\t\tthis.wireframeLinewidth = 1;\n\n\t\tthis.fog = false;\n\n\t\tthis.skinning = false;\n\t\tthis.morphTargets = false;\n\t\tthis.morphNormals = false;\n\n\t\tthis.flatShading = false;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.bumpMap = source.bumpMap;\n\t\tthis.bumpScale = source.bumpScale;\n\n\t\tthis.normalMap = source.normalMap;\n\t\tthis.normalMapType = source.normalMapType;\n\t\tthis.normalScale.copy( source.normalScale );\n\n\t\tthis.displacementMap = source.displacementMap;\n\t\tthis.displacementScale = source.displacementScale;\n\t\tthis.displacementBias = source.displacementBias;\n\n\t\tthis.wireframe = source.wireframe;\n\t\tthis.wireframeLinewidth = source.wireframeLinewidth;\n\n\t\tthis.skinning = source.skinning;\n\t\tthis.morphTargets = source.morphTargets;\n\t\tthis.morphNormals = source.morphNormals;\n\n\t\tthis.flatShading = source.flatShading;\n\n\t\treturn this;\n\n\t}\n\n}\n\nMeshNormalMaterial.prototype.isMeshNormalMaterial = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/materials/MeshNormalMaterial.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/materials/MeshPhongMaterial.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / materials / MeshPhongMaterial . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MeshPhongMaterial\": () => (/* binding */ MeshPhongMaterial)\n/* harmony export */ });\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants.js */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _Material_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Material.js */ \"./node_modules/three/src/materials/Material.js\");\n/* harmony import */ var _math_Vector2_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../math/Vector2.js */ \"./node_modules/three/src/math/Vector2.js\");\n/* harmony import */ var _math_Color_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../math/Color.js */ \"./node_modules/three/src/math/Color.js\" ) ; \ n \ n \ n \ n \ n \ n /**\n * parameters = {\n * color: <hex>,\n * specular: <hex>,\n * shininess: <float>,\n * opacity: <float>,\n *\n * map: new THREE.Texture( <Image> ),\n *\n * lightMap: new THREE.Texture( <Image> ),\n * lightMapIntensity: <float>\n *\n * aoMap: new THREE.Texture( <Image> ),\n * aoMapIntensity: <float>\n *\n * emissive: <hex>,\n * emissiveIntensity: <float>\n * emissiveMap: new THREE.Texture( <Image> ),\n *\n * bumpMap: new THREE.Texture( <Image> ),\n * bumpScale: <float>,\n *\n * normalMap: new THREE.Texture( <Image> ),\n * normalMapType: THREE.TangentSpaceNormalMap,\n * normalScale: <Vector2>,\n *\n * displacementMap: new THREE.Texture( <Image> ),\n * displacementScale: <float>,\n * displacementBias: <float>,\n *\n * specularMap: new THREE.Texture( <Image> ),\n *\n * alphaMap: new THREE.Texture( <Image> ),\n *\n * envMap: new THREE.CubeTexture( [posx, negx, posy, negy, posz, negz] ),\n * combine: THREE.MultiplyOperation,\n * reflectivity: <float>,\n * refractionRatio: <float>,\n *\n * wireframe: <boolean>,\n * wireframeLinewidth: <float>,\n *\n * skinning: <bool>,\n * morphTargets: <bool>,\n * morphNormals: <bool>,\n *\n * flatShading: <bool>\n * }\n */ \ n \ nclass MeshPhongMaterial extends _Material _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Material { \ n \ n \ tconstructor ( parameters ) { \ n \ n \ t \ tsuper ( ) ; \ n \ n \ t \ tthis . type = 'MeshPhongMaterial' ; \ n \ n \ t \ tthis . color = new _math _Color _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Color ( 0xffffff ) ; // diffuse\n\t\tthis.specular = new _math_Color_js__WEBPACK_IMPORTED_MODULE_3__.Color( 0x111111 );\n\t\tthis.shininess = 30;\n\n\t\tthis.map = null;\n\n\t\tthis.lightMap = null;\n\t\tthis.lightMapIntensity = 1.0;\n\n\t\tthis.aoMap = null;\n\t\tthis.aoMapIntensity = 1.0;\n\n\t\tthis.emissive = new _math_Color_js__WEBPACK_IMPORTED_MODULE_3__.Color( 0x000000 );\n\t\tthis.emissiveIntensity = 1.0;\n\t\tthis.emissiveMap = null;\n\n\t\tthis.bumpMap = null;\n\t\tthis.bumpScale = 1;\n\n\t\tthis.normalMap = null;\n\t\tthis.normalMapType = _constants_js__WEBPACK_IMPORTED_MODULE_0__.TangentSpaceNormalMap;\n\t\tthis.normalScale = new _math_Vector2_js__WEBPACK_IMPORTED_MODULE_2__.Vector2( 1, 1 );\n\n\t\tthis.displacementMap = null;\n\t\tthis.displacementScale = 1;\n\t\tthis.displacementBias = 0;\n\n\t\tthis.specularMap = null;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.envMap = null;\n\t\tthis.combine = _constants_js__WEBPACK_IMPORTED_MODULE_0__.MultiplyOperation;\n\t\tthis.reflectivity = 1;\n\t\tthis.refractionRatio = 0.98;\n\n\t\tthis.wireframe = false;\n\t\tthis.wireframeLinewidth = 1;\n\t\tthis.wireframeLinecap = 'round';\n\t\tthis.wireframeLinejoin = 'round';\n\n\t\tthis.skinning = false;\n\t\tthis.morphTargets = false;\n\t\tthis.morphNormals = false;\n\n\t\tthis.flatShading = false;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\t\tthis.specular.copy( source.specular );\n\t\tthis.shininess = source.shininess;\n\n\t\tthis.map = source.map;\n\n\t\tthis.lightMap = source.lightMap;\n\t\tthis.lightMapIntensity = source.lightMapIntensity;\n\n\t\tthis.aoMap = source.aoMap;\n\t\tthis.aoMapIntensity = source.aoMapIntensity;\n\n\t\tthis.
/***/ } ) ,
/***/ "./node_modules/three/src/materials/MeshPhysicalMaterial.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / materials / MeshPhysicalMaterial . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MeshPhysicalMaterial\": () => (/* binding */ MeshPhysicalMaterial)\n/* harmony export */ });\n/* harmony import */ var _math_Vector2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math/Vector2.js */ \"./node_modules/three/src/math/Vector2.js\");\n/* harmony import */ var _MeshStandardMaterial_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MeshStandardMaterial.js */ \"./node_modules/three/src/materials/MeshStandardMaterial.js\");\n/* harmony import */ var _math_Color_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../math/Color.js */ \"./node_modules/three/src/math/Color.js\");\n/* harmony import */ var _math_MathUtils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../math/MathUtils.js */ \"./node_modules/three/src/math/MathUtils.js\");\n\n\n\n\n\n/**\n * parameters = {\n * clearcoat: <float>,\n * clearcoatMap: new THREE.Texture( <Image> ),\n * clearcoatRoughness: <float>,\n * clearcoatRoughnessMap: new THREE.Texture( <Image> ),\n * clearcoatNormalScale: <Vector2>,\n * clearcoatNormalMap: new THREE.Texture( <Image> ),\n *\n * reflectivity: <float>,\n * ior: <float>,\n *\n * sheen: <Color>,\n *\n * transmission: <float>,\n * transmissionMap: new THREE.Texture( <Image> )\n * }\n */\n\nfunction MeshPhysicalMaterial( parameters ) {\n\n\t_MeshStandardMaterial_js__WEBPACK_IMPORTED_MODULE_1__.MeshStandardMaterial.call( this );\n\n\tthis.defines = {\n\n\t\t'STANDARD': '',\n\t\t'PHYSICAL': ''\n\n\t};\n\n\tthis.type = 'MeshPhysicalMaterial';\n\n\tthis.clearcoat = 0.0;\n\tthis.clearcoatMap = null;\n\tthis.clearcoatRoughness = 0.0;\n\tthis.clearcoatRoughnessMap = null;\n\tthis.clearcoatNormalScale = new _math_Vector2_js__WEBPACK_IMPORTED_MODULE_0__.Vector2( 1, 1 );\n\tthis.clearcoatNormalMap = null;\n\n\tthis.reflectivity = 0.5; // maps to F0 = 0.04\n\n\tObject.defineProperty( this, 'ior', {\n\t\tget: function () {\n\n\t\t\treturn ( 1 + 0.4 * this.reflectivity ) / ( 1 - 0.4 * this.reflectivity );\n\n\t\t},\n\t\tset: function ( ior ) {\n\n\t\t\tthis.reflectivity = _math_MathUtils_js__WEBPACK_IMPORTED_MODULE_3__.MathUtils.clamp( 2.5 * ( ior - 1 ) / ( ior + 1 ), 0, 1 );\n\n\t\t}\n\t} );\n\n\tthis.sheen = null; // null will disable sheen bsdf\n\n\tthis.transmission = 0.0;\n\tthis.transmissionMap = null;\n\n\tthis.setValues( parameters );\n\n}\n\nMeshPhysicalMaterial.prototype = Object.create( _MeshStandardMaterial_js__WEBPACK_IMPORTED_MODULE_1__.MeshStandardMaterial.prototype );\nMeshPhysicalMaterial.prototype.constructor = MeshPhysicalMaterial;\n\nMeshPhysicalMaterial.prototype.isMeshPhysicalMaterial = true;\n\nMeshPhysicalMaterial.prototype.copy = function ( source ) {\n\n\t_MeshStandardMaterial_js__WEBPACK_IMPORTED_MODULE_1__.MeshStandardMaterial.prototype.copy.call( this, source );\n\n\tthis.defines = {\n\n\t\t'STANDARD': '',\n\t\t'PHYSICAL': ''\n\n\t};\n\n\tthis.clearcoat = source.clearcoat;\n\tthis.clearcoatMap = source.clearcoatMap;\n\tthis.clearcoatRoughness = source.clearcoatRoughness;\n\tthis.clearcoatRoughnessMap = source.clearcoatRoughnessMap;\n\tthis.clearcoatNormalMap = source.clearcoatNormalMap;\n\tthis.clearcoatNormalScale.copy( source.clearcoatNormalScale );\n\n\tthis.reflectivity = source.reflectivity;\n\n\tif ( source.sheen ) {\n\n\t\tthis.sheen = ( this.sheen || new _math_Color_js__WEBPACK_IMPORTED_MODULE_2__.Color() ).copy( source.sheen );\n\n\t} else {\n\n\t\tthis.sheen = null;\n\n\t}\n\n\tthis.transmission = source.transmission;\n\tthis.transmissionMap = source.transmissionMap;\n\n\treturn this;\n\n};\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/materials/MeshPhysicalMaterial.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/materials/MeshStandardMaterial.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / materials / MeshStandardMaterial . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MeshStandardMaterial\": () => (/* binding */ MeshStandardMaterial)\n/* harmony export */ });\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants.js */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _Material_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Material.js */ \"./node_modules/three/src/materials/Material.js\");\n/* harmony import */ var _math_Vector2_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../math/Vector2.js */ \"./node_modules/three/src/math/Vector2.js\");\n/* harmony import */ var _math_Color_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../math/Color.js */ \"./node_modules/three/src/math/Color.js\" ) ; \ n \ n \ n \ n \ n \ n /**\n * parameters = {\n * color: <hex>,\n * roughness: <float>,\n * metalness: <float>,\n * opacity: <float>,\n *\n * map: new THREE.Texture( <Image> ),\n *\n * lightMap: new THREE.Texture( <Image> ),\n * lightMapIntensity: <float>\n *\n * aoMap: new THREE.Texture( <Image> ),\n * aoMapIntensity: <float>\n *\n * emissive: <hex>,\n * emissiveIntensity: <float>\n * emissiveMap: new THREE.Texture( <Image> ),\n *\n * bumpMap: new THREE.Texture( <Image> ),\n * bumpScale: <float>,\n *\n * normalMap: new THREE.Texture( <Image> ),\n * normalMapType: THREE.TangentSpaceNormalMap,\n * normalScale: <Vector2>,\n *\n * displacementMap: new THREE.Texture( <Image> ),\n * displacementScale: <float>,\n * displacementBias: <float>,\n *\n * roughnessMap: new THREE.Texture( <Image> ),\n *\n * metalnessMap: new THREE.Texture( <Image> ),\n *\n * alphaMap: new THREE.Texture( <Image> ),\n *\n * envMap: new THREE.CubeTexture( [posx, negx, posy, negy, posz, negz] ),\n * envMapIntensity: <float>\n *\n * refractionRatio: <float>,\n *\n * wireframe: <boolean>,\n * wireframeLinewidth: <float>,\n *\n * skinning: <bool>,\n * morphTargets: <bool>,\n * morphNormals: <bool>,\n *\n * flatShading: <bool>\n * }\n */ \ n \ nfunction MeshStandardMaterial ( parameters ) { \ n \ n \ t _Material _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Material . call ( this ) ; \ n \ n \ tthis . defines = { 'STANDARD' : '' } ; \ n \ n \ tthis . type = 'MeshStandardMaterial' ; \ n \ n \ tthis . color = new _math _Color _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Color ( 0xffffff ) ; // diffuse\n\tthis.roughness = 1.0;\n\tthis.metalness = 0.0;\n\n\tthis.map = null;\n\n\tthis.lightMap = null;\n\tthis.lightMapIntensity = 1.0;\n\n\tthis.aoMap = null;\n\tthis.aoMapIntensity = 1.0;\n\n\tthis.emissive = new _math_Color_js__WEBPACK_IMPORTED_MODULE_3__.Color( 0x000000 );\n\tthis.emissiveIntensity = 1.0;\n\tthis.emissiveMap = null;\n\n\tthis.bumpMap = null;\n\tthis.bumpScale = 1;\n\n\tthis.normalMap = null;\n\tthis.normalMapType = _constants_js__WEBPACK_IMPORTED_MODULE_0__.TangentSpaceNormalMap;\n\tthis.normalScale = new _math_Vector2_js__WEBPACK_IMPORTED_MODULE_2__.Vector2( 1, 1 );\n\n\tthis.displacementMap = null;\n\tthis.displacementScale = 1;\n\tthis.displacementBias = 0;\n\n\tthis.roughnessMap = null;\n\n\tthis.metalnessMap = null;\n\n\tthis.alphaMap = null;\n\n\tthis.envMap = null;\n\tthis.envMapIntensity = 1.0;\n\n\tthis.refractionRatio = 0.98;\n\n\tthis.wireframe = false;\n\tthis.wireframeLinewidth = 1;\n\tthis.wireframeLinecap = 'round';\n\tthis.wireframeLinejoin = 'round';\n\n\tthis.skinning = false;\n\tthis.morphTargets = false;\n\tthis.morphNormals = false;\n\n\tthis.flatShading = false;\n\n\tthis.vertexTangents = false;\n\n\tthis.setValues( parameters );\n\n}\n\nMeshStandardMaterial.prototype = Object.create( _Material_js__WEBPACK_IMPORTED_MODULE_1__.Material.prototype );\nMeshStandardMaterial.prototype.constructor = MeshStandardMaterial;\n\nMeshStandardMaterial.prototype.isMeshStandardMaterial = true;\n\nMeshStandardMaterial.prototype.copy = function ( source ) {\n\n\t_Material_js__WEBPACK_IMPORTED_MODULE_1__.Material.prototype.copy.call( this, source );\n\n\tthis.defines = { 'STANDARD': '' };\n\n\tthis.color.copy( source.color );
/***/ } ) ,
/***/ "./node_modules/three/src/materials/MeshToonMaterial.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / materials / MeshToonMaterial . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MeshToonMaterial\": () => (/* binding */ MeshToonMaterial)\n/* harmony export */ });\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants.js */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _Material_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Material.js */ \"./node_modules/three/src/materials/Material.js\");\n/* harmony import */ var _math_Vector2_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../math/Vector2.js */ \"./node_modules/three/src/math/Vector2.js\");\n/* harmony import */ var _math_Color_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../math/Color.js */ \"./node_modules/three/src/math/Color.js\" ) ; \ n \ n \ n \ n \ n \ n /**\n * parameters = {\n * color: <hex>,\n *\n * map: new THREE.Texture( <Image> ),\n * gradientMap: new THREE.Texture( <Image> ),\n *\n * lightMap: new THREE.Texture( <Image> ),\n * lightMapIntensity: <float>\n *\n * aoMap: new THREE.Texture( <Image> ),\n * aoMapIntensity: <float>\n *\n * emissive: <hex>,\n * emissiveIntensity: <float>\n * emissiveMap: new THREE.Texture( <Image> ),\n *\n * bumpMap: new THREE.Texture( <Image> ),\n * bumpScale: <float>,\n *\n * normalMap: new THREE.Texture( <Image> ),\n * normalMapType: THREE.TangentSpaceNormalMap,\n * normalScale: <Vector2>,\n *\n * displacementMap: new THREE.Texture( <Image> ),\n * displacementScale: <float>,\n * displacementBias: <float>,\n *\n * alphaMap: new THREE.Texture( <Image> ),\n *\n * wireframe: <boolean>,\n * wireframeLinewidth: <float>,\n *\n * skinning: <bool>,\n * morphTargets: <bool>,\n * morphNormals: <bool>\n * }\n */ \ n \ nclass MeshToonMaterial extends _Material _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Material { \ n \ n \ tconstructor ( parameters ) { \ n \ n \ t \ tsuper ( ) ; \ n \ n \ t \ tthis . defines = { 'TOON' : '' } ; \ n \ n \ t \ tthis . type = 'MeshToonMaterial' ; \ n \ n \ t \ tthis . color = new _math _Color _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Color ( 0xffffff ) ; \ n \ n \ t \ tthis . map = null ; \ n \ t \ tthis . gradientMap = null ; \ n \ n \ t \ tthis . lightMap = null ; \ n \ t \ tthis . lightMapIntensity = 1.0 ; \ n \ n \ t \ tthis . aoMap = null ; \ n \ t \ tthis . aoMapIntensity = 1.0 ; \ n \ n \ t \ tthis . emissive = new _math _Color _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Color ( 0x000000 ) ; \ n \ t \ tthis . emissiveIntensity = 1.0 ; \ n \ t \ tthis . emissiveMap = null ; \ n \ n \ t \ tthis . bumpMap = null ; \ n \ t \ tthis . bumpScale = 1 ; \ n \ n \ t \ tthis . normalMap = null ; \ n \ t \ tthis . normalMapType = _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . TangentSpaceNormalMap ; \ n \ t \ tthis . normalScale = new _math _Vector2 _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Vector2 ( 1 , 1 ) ; \ n \ n \ t \ tthis . displacementMap = null ; \ n \ t \ tthis . displacementScale = 1 ; \ n \ t \ tthis . displacementBias = 0 ; \ n \ n \ t \ tthis . alphaMap = null ; \ n \ n \ t \ tthis . wireframe = false ; \ n \ t \ tthis . wireframeLinewidth = 1 ; \ n \ t \ tthis . wireframeLinecap = 'round' ; \ n \ t \ tthis . wireframeLinejoin = 'round' ; \ n \ n \ t \ tthis . skinning = false ; \ n \ t \ tthis . morphTargets = false ; \ n \ t \ tthis . morphNormals = false ; \ n \ n \ t \ tthis . setValues ( parameters ) ; \ n \ n \ t } \ n \ n \ tcopy ( source ) { \ n \ n \ t \ tsuper . copy ( source ) ; \ n \ n \ t \ tthis . color . copy ( source . color ) ; \ n \ n \ t \ tthis . map = source . map ; \ n \ t \ tthis . gradientMap = source . gradientMap ; \ n \ n \ t \ tthis . lightMap = source . lightMap ; \ n \ t \ tthis . lightMapIntensity = source . lightMapIntensity ; \ n \ n \ t \ tthis . aoMap = source . aoMap ; \ n \ t \ tthis . aoMapIntensity = source . aoMapIntensity ; \ n \ n \ t \ tthis . emissive . copy ( source . emissive ) ; \ n \ t \ tthis . emissiveMap = source . emissiveMap ; \ n \ t \ tthis . emissiveIntensity = source . emissiveIntensity ; \ n \ n \ t \ tthis . bumpMap = source . bumpMap ; \ n \ t \ tthis . bumpScale = source . bumpScale ; \ n \ n \ t \ tthis . normalMap = source . normalMap ; \ n \ t \ tthis . normalMapType = source . normalMapType ; \ n \ t \ tthis . normalScale . copy ( source . normalScale ) ; \ n \ n \ t \ tthis . displacementMap = source . displacementMap ; \ n \ t \ tthis . displacementScale = source . displacementScale ; \ n \ t \ tthis . displacementBias = source . displacementBias ; \ n \ n \ t \ tthis . alphaMap = source . alphaMap ; \ n \ n \ t \ tthis . wireframe = source . wireframe ; \ n \ t \ tthis . wireframeLi
/***/ } ) ,
/***/ "./node_modules/three/src/materials/PointsMaterial.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / materials / PointsMaterial . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PointsMaterial\": () => (/* binding */ PointsMaterial)\n/* harmony export */ });\n/* harmony import */ var _Material_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Material.js */ \"./node_modules/three/src/materials/Material.js\");\n/* harmony import */ var _math_Color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math/Color.js */ \"./node_modules/three/src/math/Color.js\");\n\n\n\n/**\n * parameters = {\n * color: <hex>,\n * opacity: <float>,\n * map: new THREE.Texture( <Image> ),\n * alphaMap: new THREE.Texture( <Image> ),\n *\n * size: <float>,\n * sizeAttenuation: <bool>\n *\n * morphTargets: <bool>\n * }\n */\n\nclass PointsMaterial extends _Material_js__WEBPACK_IMPORTED_MODULE_0__.Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'PointsMaterial';\n\n\t\tthis.color = new _math_Color_js__WEBPACK_IMPORTED_MODULE_1__.Color( 0xffffff );\n\n\t\tthis.map = null;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.size = 1;\n\t\tthis.sizeAttenuation = true;\n\n\t\tthis.morphTargets = false;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.map = source.map;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.size = source.size;\n\t\tthis.sizeAttenuation = source.sizeAttenuation;\n\n\t\tthis.morphTargets = source.morphTargets;\n\n\t\treturn this;\n\n\t}\n\n}\n\nPointsMaterial.prototype.isPointsMaterial = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/materials/PointsMaterial.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/materials/RawShaderMaterial.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / materials / RawShaderMaterial . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"RawShaderMaterial\": () => (/* binding */ RawShaderMaterial)\n/* harmony export */ });\n/* harmony import */ var _ShaderMaterial_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ShaderMaterial.js */ \"./node_modules/three/src/materials/ShaderMaterial.js\");\n\n\nclass RawShaderMaterial extends _ShaderMaterial_js__WEBPACK_IMPORTED_MODULE_0__.ShaderMaterial {\n\n\tconstructor( parameters ) {\n\n\t\tsuper( parameters );\n\n\t\tthis.type = 'RawShaderMaterial';\n\n\t}\n\n}\n\nRawShaderMaterial.prototype.isRawShaderMaterial = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/materials/RawShaderMaterial.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/materials/ShaderMaterial.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / materials / ShaderMaterial . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ShaderMaterial\": () => (/* binding */ ShaderMaterial)\n/* harmony export */ });\n/* harmony import */ var _Material_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Material.js */ \"./node_modules/three/src/materials/Material.js\");\n/* harmony import */ var _renderers_shaders_UniformsUtils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../renderers/shaders/UniformsUtils.js */ \"./node_modules/three/src/renderers/shaders/UniformsUtils.js\");\n/* harmony import */ var _renderers_shaders_ShaderChunk_default_vertex_glsl_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../renderers/shaders/ShaderChunk/default_vertex.glsl.js */ \"./node_modules/three/src/renderers/shaders/ShaderChunk/default_vertex.glsl.js\");\n/* harmony import */ var _renderers_shaders_ShaderChunk_default_fragment_glsl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../renderers/shaders/ShaderChunk/default_fragment.glsl.js */ \"./node_modules/three/src/renderers/shaders/ShaderChunk/default_fragment.glsl.js\");\n\n\n\n\n\n\n/**\n * parameters = {\n * defines: { \"label\" : \"value\" },\n * uniforms: { \"parameter1\": { value: 1.0 }, \"parameter2\" : { value2 : 2 } } , \ n * \ n * fragmentShader : < string > , \ n * vertexShader : < string > , \ n * \ n * wireframe : < boolean > , \ n * wireframeLinewidth : < float > , \ n * \ n * lights : < bool > , \ n * \ n * skinning : < bool > , \ n * morphTargets : < bool > , \ n * morphNormals : < bool > \ n * } \ n * /\n\nfunction ShaderMaterial( parameters ) {\n\n\t_Material_js__WEBPACK_IMPORTED_MODULE_0__.Material.call( this );\n\n\tthis.type = 'ShaderMaterial';\n\n\tthis.defines = {};\n\tthis.uniforms = {};\n\n\tthis.vertexShader = _renderers_shaders_ShaderChunk_default_vertex_glsl_js__WEBPACK_IMPORTED_MODULE_1__.default;\n\tthis.fragmentShader = _renderers_shaders_ShaderChunk_default_fragment_glsl_js__WEBPACK_IMPORTED_MODULE_2__.default;\n\n\tthis.linewidth = 1;\n\n\tthis.wireframe = false;\n\tthis.wireframeLinewidth = 1;\n\n\tthis.fog = false; / / set to use scene fog \ n \ tthis . lights = false ; // set to use scene lights\n\tthis.clipping = false; // set to use user-defined clipping planes\n\n\tthis.skinning = false; // set to use skinning attribute streams\n\tthis.morphTargets = false; // set to use morph targets\n\tthis.morphNormals = false; // set to use morph normals\n\n\tthis.extensions = {\n\t\tderivatives: false, // set to use derivatives\n\t\tfragDepth: false, // set to use fragment depth values\n\t\tdrawBuffers: false, // set to use draw buffers\n\t\tshaderTextureLOD: false // set to use shader texture LOD\n\t};\n\n\t// When rendered geometry doesn't include these attributes but the material does,\n\t// use these default values in WebGL. This avoids errors when buffer data is missing.\n\tthis.defaultAttributeValues = {\n\t\t'color': [ 1, 1, 1 ],\n\t\t'uv': [ 0, 0 ],\n\t\t'uv2': [ 0, 0 ]\n\t};\n\n\tthis.index0AttributeName = undefined;\n\tthis.uniformsNeedUpdate = false;\n\n\tthis.glslVersion = null;\n\n\tif ( parameters !== undefined ) {\n\n\t\tif ( parameters.attributes !== undefined ) {\n\n\t\t\tconsole.error( 'THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead.' );\n\n\t\t}\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n}\n\nShaderMaterial.prototype = Object.create( _Material_js__WEBPACK_IMPORTED_MODULE_0__.Material.prototype );\nShaderMaterial.prototype.constructor = ShaderMaterial;\n\nShaderMaterial.prototype.isShaderMaterial = true;\n\nShaderMaterial.prototype.copy = function ( source ) {\n\n\t_Material_js__WEBPACK_IMPORTED_MODULE_0__.Material.prototype.copy.call( this, source );\n\n\tthis.fragmentShader = source.fragmentShader;\n\tthis.vertexShader = source.vertexShader;\n\n\tthis.uniforms = (0,_renderers_shaders_UniformsUtils_js__WEBPACK_IMPORTED_MODULE_3__.cloneUniforms)( source.uniforms );\n\n\tthis.defines = Object.assign( {}, source.defines );\n\n\tthis.wireframe = source.wireframe;\n\tthis.wireframeLinewidth = source.wireframeLine
/***/ } ) ,
/***/ "./node_modules/three/src/materials/ShadowMaterial.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / materials / ShadowMaterial . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ShadowMaterial\": () => (/* binding */ ShadowMaterial)\n/* harmony export */ });\n/* harmony import */ var _Material_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Material.js */ \"./node_modules/three/src/materials/Material.js\");\n/* harmony import */ var _math_Color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math/Color.js */ \"./node_modules/three/src/math/Color.js\");\n\n\n\n/**\n * parameters = {\n * color: <THREE.Color>\n * }\n */\n\nclass ShadowMaterial extends _Material_js__WEBPACK_IMPORTED_MODULE_0__.Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'ShadowMaterial';\n\n\t\tthis.color = new _math_Color_js__WEBPACK_IMPORTED_MODULE_1__.Color( 0x000000 );\n\t\tthis.transparent = true;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\n\t\treturn this;\n\n\t}\n\n}\n\nShadowMaterial.prototype.isShadowMaterial = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/materials/ShadowMaterial.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/materials/SpriteMaterial.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / materials / SpriteMaterial . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SpriteMaterial\": () => (/* binding */ SpriteMaterial)\n/* harmony export */ });\n/* harmony import */ var _Material_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Material.js */ \"./node_modules/three/src/materials/Material.js\");\n/* harmony import */ var _math_Color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math/Color.js */ \"./node_modules/three/src/math/Color.js\");\n\n\n\n/**\n * parameters = {\n * color: <hex>,\n * map: new THREE.Texture( <Image> ),\n * alphaMap: new THREE.Texture( <Image> ),\n * rotation: <float>,\n * sizeAttenuation: <bool>\n * }\n */\n\nclass SpriteMaterial extends _Material_js__WEBPACK_IMPORTED_MODULE_0__.Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'SpriteMaterial';\n\n\t\tthis.color = new _math_Color_js__WEBPACK_IMPORTED_MODULE_1__.Color( 0xffffff );\n\n\t\tthis.map = null;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.rotation = 0;\n\n\t\tthis.sizeAttenuation = true;\n\n\t\tthis.transparent = true;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.map = source.map;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.rotation = source.rotation;\n\n\t\tthis.sizeAttenuation = source.sizeAttenuation;\n\n\t\treturn this;\n\n\t}\n\n}\n\nSpriteMaterial.prototype.isSpriteMaterial = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/materials/SpriteMaterial.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/math/Box3.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / math / Box3 . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Box3\": () => (/* binding */ Box3)\n/* harmony export */ });\n/* harmony import */ var _Vector3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Vector3.js */ \"./node_modules/three/src/math/Vector3.js\" ) ; \ n \ n \ nclass Box3 { \ n \ n \ tconstructor ( min = new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( + Infinity , + Infinity , + Infinity ) , max = new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( - Infinity , - Infinity , - Infinity ) ) { \ n \ n \ t \ tthis . min = min ; \ n \ t \ tthis . max = max ; \ n \ n \ t } \ n \ n \ tset ( min , max ) { \ n \ n \ t \ tthis . min . copy ( min ) ; \ n \ t \ tthis . max . copy ( max ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsetFromArray ( array ) { \ n \ n \ t \ tlet minX = + Infinity ; \ n \ t \ tlet minY = + Infinity ; \ n \ t \ tlet minZ = + Infinity ; \ n \ n \ t \ tlet maxX = - Infinity ; \ n \ t \ tlet maxY = - Infinity ; \ n \ t \ tlet maxZ = - Infinity ; \ n \ n \ t \ tfor ( let i = 0 , l = array . length ; i < l ; i += 3 ) { \ n \ n \ t \ t \ tconst x = array [ i ] ; \ n \ t \ t \ tconst y = array [ i + 1 ] ; \ n \ t \ t \ tconst z = array [ i + 2 ] ; \ n \ n \ t \ t \ tif ( x < minX ) minX = x ; \ n \ t \ t \ tif ( y < minY ) minY = y ; \ n \ t \ t \ tif ( z < minZ ) minZ = z ; \ n \ n \ t \ t \ tif ( x > maxX ) maxX = x ; \ n \ t \ t \ tif ( y > maxY ) maxY = y ; \ n \ t \ t \ tif ( z > maxZ ) maxZ = z ; \ n \ n \ t \ t } \ n \ n \ t \ tthis . min . set ( minX , minY , minZ ) ; \ n \ t \ tthis . max . set ( maxX , maxY , maxZ ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsetFromBufferAttribute ( attribute ) { \ n \ n \ t \ tlet minX = + Infinity ; \ n \ t \ tlet minY = + Infinity ; \ n \ t \ tlet minZ = + Infinity ; \ n \ n \ t \ tlet maxX = - Infinity ; \ n \ t \ tlet maxY = - Infinity ; \ n \ t \ tlet maxZ = - Infinity ; \ n \ n \ t \ tfor ( let i = 0 , l = attribute . count ; i < l ; i ++ ) { \ n \ n \ t \ t \ tconst x = attribute . getX ( i ) ; \ n \ t \ t \ tconst y = attribute . getY ( i ) ; \ n \ t \ t \ tconst z = attribute . getZ ( i ) ; \ n \ n \ t \ t \ tif ( x < minX ) minX = x ; \ n \ t \ t \ tif ( y < minY ) minY = y ; \ n \ t \ t \ tif ( z < minZ ) minZ = z ; \ n \ n \ t \ t \ tif ( x > maxX ) maxX = x ; \ n \ t \ t \ tif ( y > maxY ) maxY = y ; \ n \ t \ t \ tif ( z > maxZ ) maxZ = z ; \ n \ n \ t \ t } \ n \ n \ t \ tthis . min . set ( minX , minY , minZ ) ; \ n \ t \ tthis . max . set ( maxX , maxY , maxZ ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsetFromPoints ( points ) { \ n \ n \ t \ tthis . makeEmpty ( ) ; \ n \ n \ t \ tfor ( let i = 0 , il = points . length ; i < il ; i ++ ) { \ n \ n \ t \ t \ tthis . expandByPoint ( points [ i ] ) ; \ n \ n \ t \ t } \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsetFromCenterAndSize ( center , size ) { \ n \ n \ t \ tconst halfSize = _vector . copy ( size ) . multiplyScalar ( 0.5 ) ; \ n \ n \ t \ tthis . min . copy ( center ) . sub ( halfSize ) ; \ n \ t \ tthis . max . copy ( center ) . add ( halfSize ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsetFromObject ( object ) { \ n \ n \ t \ tthis . makeEmpty ( ) ; \ n \ n \ t \ treturn this . expandByObject ( object ) ; \ n \ n \ t } \ n \ n \ tclone ( ) { \ n \ n \ t \ treturn new this . constructor ( ) . copy ( this ) ; \ n \ n \ t } \ n \ n \ tcopy ( box ) { \ n \ n \ t \ tthis . min . copy ( box . min ) ; \ n \ t \ tthis . max . copy ( box . max ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tmakeEmpty ( ) { \ n \ n \ t \ tthis . min . x = this . min . y = this . min . z = + Infinity ; \ n \ t \ tthis . max . x = this . max . y = this . max . z = - Infinity ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tisEmpty ( ) { \ n \ n \ t \ t // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes\n\n\t\treturn ( this.max.x < this.min.x ) || ( this.max.y < this.min.y ) || ( this.max.z < this.min.z );\n\n\t}\n\n\tgetCenter( target ) {\n\n\t\tif ( target === undefined ) {\n\n\t\t\tconsole.warn( 'THREE.Box3: .getCenter() target is now required' );\n\t\t\ttarget = new _Vector3_js__WEBPACK_IMPORTED_MODULE_0__.Vector3();\n\n\t\t}\n\n\t\treturn this.isEmpty() ? target.set( 0, 0, 0 ) : target.addVectors( this.min, this.max ).multiplyScalar( 0.5 );\n\n\t}\n\n\tgetSize( target ) {\n\n\t\tif ( target === undefined ) {\n\n\t\t\tconsole.warn( 'THREE.Box3: .getSize() target is now required' );\n\t\t\ttarget = new _Vector3_js__WEBPACK_IMPORTED_MODULE_0__.Vector3();\n\n\t\t}\n\n\t\treturn this.isEmpty() ? target.set( 0, 0, 0 ) : target.subVectors( this.max, this.min );\n\n\t}\n\n\texpandByPoint( point ) {\n\n\t\tthis.min.min( point );\n\t\tthis.max.max( point );\n\n\t\treturn this;\n\n\t}\n\n\texpandByVector( vector ) {\n\n\t\tthi
/***/ } ) ,
/***/ "./node_modules/three/src/math/Color.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / math / Color . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Color\": () => (/* binding */ Color)\n/* harmony export */ });\n/* harmony import */ var _MathUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MathUtils.js */ \"./node_modules/three/src/math/MathUtils.js\" ) ; \ n \ n \ nconst _colorKeywords = { 'aliceblue' : 0xF0F8FF , 'antiquewhite' : 0xFAEBD7 , 'aqua' : 0x00FFFF , 'aquamarine' : 0x7FFFD4 , 'azure' : 0xF0FFFF , \ n \ t 'beige' : 0xF5F5DC , 'bisque' : 0xFFE4C4 , 'black' : 0x000000 , 'blanchedalmond' : 0xFFEBCD , 'blue' : 0x0000FF , 'blueviolet' : 0x8A2BE2 , \ n \ t 'brown' : 0xA52A2A , 'burlywood' : 0xDEB887 , 'cadetblue' : 0x5F9EA0 , 'chartreuse' : 0x7FFF00 , 'chocolate' : 0xD2691E , 'coral' : 0xFF7F50 , \ n \ t 'cornflowerblue' : 0x6495ED , 'cornsilk' : 0xFFF8DC , 'crimson' : 0xDC143C , 'cyan' : 0x00FFFF , 'darkblue' : 0x00008B , 'darkcyan' : 0x008B8B , \ n \ t 'darkgoldenrod' : 0xB8860B , 'darkgray' : 0xA9A9A9 , 'darkgreen' : 0x006400 , 'darkgrey' : 0xA9A9A9 , 'darkkhaki' : 0xBDB76B , 'darkmagenta' : 0x8B008B , \ n \ t 'darkolivegreen' : 0x556B2F , 'darkorange' : 0xFF8C00 , 'darkorchid' : 0x9932CC , 'darkred' : 0x8B0000 , 'darksalmon' : 0xE9967A , 'darkseagreen' : 0x8FBC8F , \ n \ t 'darkslateblue' : 0x483D8B , 'darkslategray' : 0x2F4F4F , 'darkslategrey' : 0x2F4F4F , 'darkturquoise' : 0x00CED1 , 'darkviolet' : 0x9400D3 , \ n \ t 'deeppink' : 0xFF1493 , 'deepskyblue' : 0x00BFFF , 'dimgray' : 0x696969 , 'dimgrey' : 0x696969 , 'dodgerblue' : 0x1E90FF , 'firebrick' : 0xB22222 , \ n \ t 'floralwhite' : 0xFFFAF0 , 'forestgreen' : 0x228B22 , 'fuchsia' : 0xFF00FF , 'gainsboro' : 0xDCDCDC , 'ghostwhite' : 0xF8F8FF , 'gold' : 0xFFD700 , \ n \ t 'goldenrod' : 0xDAA520 , 'gray' : 0x808080 , 'green' : 0x008000 , 'greenyellow' : 0xADFF2F , 'grey' : 0x808080 , 'honeydew' : 0xF0FFF0 , 'hotpink' : 0xFF69B4 , \ n \ t 'indianred' : 0xCD5C5C , 'indigo' : 0x4B0082 , 'ivory' : 0xFFFFF0 , 'khaki' : 0xF0E68C , 'lavender' : 0xE6E6FA , 'lavenderblush' : 0xFFF0F5 , 'lawngreen' : 0x7CFC00 , \ n \ t 'lemonchiffon' : 0xFFFACD , 'lightblue' : 0xADD8E6 , 'lightcoral' : 0xF08080 , 'lightcyan' : 0xE0FFFF , 'lightgoldenrodyellow' : 0xFAFAD2 , 'lightgray' : 0xD3D3D3 , \ n \ t 'lightgreen' : 0x90EE90 , 'lightgrey' : 0xD3D3D3 , 'lightpink' : 0xFFB6C1 , 'lightsalmon' : 0xFFA07A , 'lightseagreen' : 0x20B2AA , 'lightskyblue' : 0x87CEFA , \ n \ t 'lightslategray' : 0x778899 , 'lightslategrey' : 0x778899 , 'lightsteelblue' : 0xB0C4DE , 'lightyellow' : 0xFFFFE0 , 'lime' : 0x00FF00 , 'limegreen' : 0x32CD32 , \ n \ t 'linen' : 0xFAF0E6 , 'magenta' : 0xFF00FF , 'maroon' : 0x800000 , 'mediumaquamarine' : 0x66CDAA , 'mediumblue' : 0x0000CD , 'mediumorchid' : 0xBA55D3 , \ n \ t 'mediumpurple' : 0x9370DB , 'mediumseagreen' : 0x3CB371 , 'mediumslateblue' : 0x7B68EE , 'mediumspringgreen' : 0x00FA9A , 'mediumturquoise' : 0x48D1CC , \ n \ t 'mediumvioletred' : 0xC71585 , 'midnightblue' : 0x191970 , 'mintcream' : 0xF5FFFA , 'mistyrose' : 0xFFE4E1 , 'moccasin' : 0xFFE4B5 , 'navajowhite' : 0xFFDEAD , \ n \ t 'navy' : 0x000080 , 'oldlace' : 0xFDF5E6 , 'olive' : 0x808000 , 'olivedrab' : 0x6B8E23 , 'orange' : 0xFFA500 , 'orangered' : 0xFF4500 , 'orchid' : 0xDA70D6 , \ n \ t 'palegoldenrod' : 0xEEE8AA , 'palegreen' : 0x98FB98 , 'paleturquoise' : 0xAFEEEE , 'palevioletred' : 0xDB7093 , 'papayawhip' : 0xFFEFD5 , 'peachpuff' : 0xFFDAB9 , \ n \ t 'peru' : 0xCD853F , 'pink' : 0xFFC0CB , 'plum' : 0xDDA0DD , 'powderblue' : 0xB0E0E6 , 'purple' : 0x800080 , 'rebeccapurple' : 0x663399 , 'red' : 0xFF0000 , 'rosybrown' : 0xBC8F8F , \ n \ t 'royalblue' : 0x4169E1 , 'saddlebrown' : 0x8B4513 , 'salmon' : 0xFA8072 , 'sandybrown' : 0xF4A460 , 'seagreen' : 0x2E8B57 , 'seashell' : 0xFFF5EE , \ n \ t 'sienna' : 0xA0522D , 'silver' : 0xC0C0C0 , 'skyblue' : 0x87CEEB , 'slateblue' : 0x6A5ACD , 'slategray' : 0x708090 , 'slategrey' : 0x708090 , 'snow' : 0xFFFAFA , \ n \ t 'springgreen' : 0x00FF7F , 'steelblue' : 0x4682B4 , 'tan' : 0xD2B48C , 'teal' : 0x008080 , 'thistle' : 0xD8BFD8 , 'tomato' : 0xFF6347 , 'turquoise' : 0x40E0D0 , \ n \ t 'violet' : 0xEE82EE , 'wheat' : 0xF5DEB3 , 'white' : 0xFFFFFF , 'whitesmoke' : 0xF5F5F5 , 'yellow' : 0xFFFF00 , 'yellowgreen' : 0x9ACD32 } ; \ n \ nconst _hslA = { h : 0 , s : 0 , l : 0 } ; \ nconst _hslB = { h : 0 , s : 0 , l : 0 } ; \ n \ nfunction hue2rgb ( p , q , t ) { \ n \ n \ tif ( t < 0 ) t += 1 ; \ n \ tif ( t > 1 ) t -= 1 ; \ n \ tif ( t < 1 / 6 ) return p + ( q - p ) * 6 * t ; \ n \ tif ( t < 1 / 2 ) ret
/***/ } ) ,
/***/ "./node_modules/three/src/math/Euler.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / math / Euler . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Euler\": () => (/* binding */ Euler)\n/* harmony export */ });\n/* harmony import */ var _Quaternion_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Quaternion.js */ \"./node_modules/three/src/math/Quaternion.js\");\n/* harmony import */ var _Vector3_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Vector3.js */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _Matrix4_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Matrix4.js */ \"./node_modules/three/src/math/Matrix4.js\");\n/* harmony import */ var _MathUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MathUtils.js */ \"./node_modules/three/src/math/MathUtils.js\" ) ; \ n \ n \ n \ n \ n \ nconst _matrix = /*@__PURE__*/ new _Matrix4 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Matrix4 ( ) ; \ nconst _quaternion = /*@__PURE__*/ new _Quaternion _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Quaternion ( ) ; \ n \ nclass Euler { \ n \ n \ tconstructor ( x = 0 , y = 0 , z = 0 , order = Euler . DefaultOrder ) { \ n \ n \ t \ tthis . _x = x ; \ n \ t \ tthis . _y = y ; \ n \ t \ tthis . _z = z ; \ n \ t \ tthis . _order = order ; \ n \ n \ t } \ n \ n \ tget x ( ) { \ n \ n \ t \ treturn this . _x ; \ n \ n \ t } \ n \ n \ tset x ( value ) { \ n \ n \ t \ tthis . _x = value ; \ n \ t \ tthis . _onChangeCallback ( ) ; \ n \ n \ t } \ n \ n \ tget y ( ) { \ n \ n \ t \ treturn this . _y ; \ n \ n \ t } \ n \ n \ tset y ( value ) { \ n \ n \ t \ tthis . _y = value ; \ n \ t \ tthis . _onChangeCallback ( ) ; \ n \ n \ t } \ n \ n \ tget z ( ) { \ n \ n \ t \ treturn this . _z ; \ n \ n \ t } \ n \ n \ tset z ( value ) { \ n \ n \ t \ tthis . _z = value ; \ n \ t \ tthis . _onChangeCallback ( ) ; \ n \ n \ t } \ n \ n \ tget order ( ) { \ n \ n \ t \ treturn this . _order ; \ n \ n \ t } \ n \ n \ tset order ( value ) { \ n \ n \ t \ tthis . _order = value ; \ n \ t \ tthis . _onChangeCallback ( ) ; \ n \ n \ t } \ n \ n \ tset ( x , y , z , order ) { \ n \ n \ t \ tthis . _x = x ; \ n \ t \ tthis . _y = y ; \ n \ t \ tthis . _z = z ; \ n \ t \ tthis . _order = order || this . _order ; \ n \ n \ t \ tthis . _onChangeCallback ( ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tclone ( ) { \ n \ n \ t \ treturn new this . constructor ( this . _x , this . _y , this . _z , this . _order ) ; \ n \ n \ t } \ n \ n \ tcopy ( euler ) { \ n \ n \ t \ tthis . _x = euler . _x ; \ n \ t \ tthis . _y = euler . _y ; \ n \ t \ tthis . _z = euler . _z ; \ n \ t \ tthis . _order = euler . _order ; \ n \ n \ t \ tthis . _onChangeCallback ( ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsetFromRotationMatrix ( m , order , update ) { \ n \ n \ t \ tconst clamp = _MathUtils _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . MathUtils . clamp ; \ n \ n \ t \ t // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)\n\n\t\tconst te = m.elements;\n\t\tconst m11 = te[ 0 ], m12 = te[ 4 ], m13 = te[ 8 ];\n\t\tconst m21 = te[ 1 ], m22 = te[ 5 ], m23 = te[ 9 ];\n\t\tconst m31 = te[ 2 ], m32 = te[ 6 ], m33 = te[ 10 ];\n\n\t\torder = order || this._order;\n\n\t\tswitch ( order ) {\n\n\t\t\tcase 'XYZ':\n\n\t\t\t\tthis._y = Math.asin( clamp( m13, - 1, 1 ) );\n\n\t\t\t\tif ( Math.abs( m13 ) < 0.9999999 ) {\n\n\t\t\t\t\tthis._x = Math.atan2( - m23, m33 );\n\t\t\t\t\tthis._z = Math.atan2( - m12, m11 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis._x = Math.atan2( m32, m22 );\n\t\t\t\t\tthis._z = 0;\n\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'YXZ':\n\n\t\t\t\tthis._x = Math.asin( - clamp( m23, - 1, 1 ) );\n\n\t\t\t\tif ( Math.abs( m23 ) < 0.9999999 ) {\n\n\t\t\t\t\tthis._y = Math.atan2( m13, m33 );\n\t\t\t\t\tthis._z = Math.atan2( m21, m22 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis._y = Math.atan2( - m31, m11 );\n\t\t\t\t\tthis._z = 0;\n\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'ZXY':\n\n\t\t\t\tthis._x = Math.asin( clamp( m32, - 1, 1 ) );\n\n\t\t\t\tif ( Math.abs( m32 ) < 0.9999999 ) {\n\n\t\t\t\t\tthis._y = Math.atan2( - m31, m33 );\n\t\t\t\t\tthis._z = Math.atan2( - m12, m22 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis._y = 0;\n\t\t\t\t\tthis._z = Math.atan2( m21, m11 );\n\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'ZYX':\n\n\t\t\t\tthis._y = Math.asin( - clamp( m31, - 1, 1 ) );\n\n\t\t\t\tif ( Math.abs( m31 ) < 0.9999999 ) {\n\n\t\t\t\t\tthis._x = Math.atan2( m32, m33 );\n\t\t\t\t\tthis._z = Math.atan2( m21, m11 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis._x = 0;\n\t\t\t\t\tthis._z = Math.atan2( - m12, m22 );\n\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'YZX':\n\n\t\t
/***/ } ) ,
/***/ "./node_modules/three/src/math/Frustum.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / math / Frustum . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Frustum\": () => (/* binding */ Frustum)\n/* harmony export */ });\n/* harmony import */ var _Vector3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Vector3.js */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _Sphere_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Sphere.js */ \"./node_modules/three/src/math/Sphere.js\");\n/* harmony import */ var _Plane_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Plane.js */ \"./node_modules/three/src/math/Plane.js\" ) ; \ n \ n \ n \ n \ nconst _sphere = /*@__PURE__*/ new _Sphere _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Sphere ( ) ; \ nconst _vector = /*@__PURE__*/ new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Vector3 ( ) ; \ n \ nclass Frustum { \ n \ n \ tconstructor ( p0 = new _Plane _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Plane ( ) , p1 = new _Plane _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Plane ( ) , p2 = new _Plane _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Plane ( ) , p3 = new _Plane _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Plane ( ) , p4 = new _Plane _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Plane ( ) , p5 = new _Plane _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Plane ( ) ) { \ n \ n \ t \ tthis . planes = [ p0 , p1 , p2 , p3 , p4 , p5 ] ; \ n \ n \ t } \ n \ n \ tset ( p0 , p1 , p2 , p3 , p4 , p5 ) { \ n \ n \ t \ tconst planes = this . planes ; \ n \ n \ t \ tplanes [ 0 ] . copy ( p0 ) ; \ n \ t \ tplanes [ 1 ] . copy ( p1 ) ; \ n \ t \ tplanes [ 2 ] . copy ( p2 ) ; \ n \ t \ tplanes [ 3 ] . copy ( p3 ) ; \ n \ t \ tplanes [ 4 ] . copy ( p4 ) ; \ n \ t \ tplanes [ 5 ] . copy ( p5 ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tcopy ( frustum ) { \ n \ n \ t \ tconst planes = this . planes ; \ n \ n \ t \ tfor ( let i = 0 ; i < 6 ; i ++ ) { \ n \ n \ t \ t \ tplanes [ i ] . copy ( frustum . planes [ i ] ) ; \ n \ n \ t \ t } \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsetFromProjectionMatrix ( m ) { \ n \ n \ t \ tconst planes = this . planes ; \ n \ t \ tconst me = m . elements ; \ n \ t \ tconst me0 = me [ 0 ] , me1 = me [ 1 ] , me2 = me [ 2 ] , me3 = me [ 3 ] ; \ n \ t \ tconst me4 = me [ 4 ] , me5 = me [ 5 ] , me6 = me [ 6 ] , me7 = me [ 7 ] ; \ n \ t \ tconst me8 = me [ 8 ] , me9 = me [ 9 ] , me10 = me [ 10 ] , me11 = me [ 11 ] ; \ n \ t \ tconst me12 = me [ 12 ] , me13 = me [ 13 ] , me14 = me [ 14 ] , me15 = me [ 15 ] ; \ n \ n \ t \ tplanes [ 0 ] . setComponents ( me3 - me0 , me7 - me4 , me11 - me8 , me15 - me12 ) . normalize ( ) ; \ n \ t \ tplanes [ 1 ] . setComponents ( me3 + me0 , me7 + me4 , me11 + me8 , me15 + me12 ) . normalize ( ) ; \ n \ t \ tplanes [ 2 ] . setComponents ( me3 + me1 , me7 + me5 , me11 + me9 , me15 + me13 ) . normalize ( ) ; \ n \ t \ tplanes [ 3 ] . setComponents ( me3 - me1 , me7 - me5 , me11 - me9 , me15 - me13 ) . normalize ( ) ; \ n \ t \ tplanes [ 4 ] . setComponents ( me3 - me2 , me7 - me6 , me11 - me10 , me15 - me14 ) . normalize ( ) ; \ n \ t \ tplanes [ 5 ] . setComponents ( me3 + me2 , me7 + me6 , me11 + me10 , me15 + me14 ) . normalize ( ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tintersectsObject ( object ) { \ n \ n \ t \ tconst geometry = object . geometry ; \ n \ n \ t \ tif ( geometry . boundingSphere === null ) geometry . computeBoundingSphere ( ) ; \ n \ n \ t \ t _sphere . copy ( geometry . boundingSphere ) . applyMatrix4 ( object . matrixWorld ) ; \ n \ n \ t \ treturn this . intersectsSphere ( _sphere ) ; \ n \ n \ t } \ n \ n \ tintersectsSprite ( sprite ) { \ n \ n \ t \ t _sphere . center . set ( 0 , 0 , 0 ) ; \ n \ t \ t _sphere . radius = 0.7071067811865476 ; \ n \ t \ t _sphere . applyMatrix4 ( sprite . matrixWorld ) ; \ n \ n \ t \ treturn this . intersectsSphere ( _sphere ) ; \ n \ n \ t } \ n \ n \ tintersectsSphere ( sphere ) { \ n \ n \ t \ tconst planes = this . planes ; \ n \ t \ tconst center = sphere . center ; \ n \ t \ tconst negRadius = - sphere . radius ; \ n \ n \ t \ tfor ( let i = 0 ; i < 6 ; i ++ ) { \ n \ n \ t \ t \ tconst distance = planes [ i ] . distanceToPoint ( center ) ; \ n \ n \ t \ t \ tif ( distance < negRadius ) { \ n \ n \ t \ t \ t \ treturn false ; \ n \ n \ t \ t \ t } \ n \ n \ t \ t } \ n \ n \ t \ treturn true ; \ n \ n \ t } \ n \ n \ tintersectsBox ( box ) { \ n \ n \ t \ tconst planes = this . planes ; \ n \ n \ t \ tfor ( let i = 0 ; i < 6 ; i ++ ) { \ n \ n \ t \ t \ tconst plane = planes [ i ] ; \ n \ n \ t \ t \ t // corner at max distance\n\n\t\t\t_vector.x = plane.normal.x > 0 ? box.max.x : box.min.x;\n\t\t\t_vector.y = plane.normal.y > 0 ? box.max.y : box.min.y;\n\t\t\t_vector.z = plane.normal.z > 0 ? box.max.z : box.min.z;\n\n\t\t\tif ( plane.distanceToPoint( _vector ) < 0 ) {\n\n\t\t\t\treturn false;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn true;\n\n\t}\n
/***/ } ) ,
/***/ "./node_modules/three/src/math/MathUtils.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / math / MathUtils . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MathUtils\" : ( ) => ( /* binding */ MathUtils ) \ n /* harmony export */ } ) ; \ nconst _lut = [ ] ; \ n \ nfor ( let i = 0 ; i < 256 ; i ++ ) { \ n \ n \ t _lut [ i ] = ( i < 16 ? '0' : '' ) + ( i ) . toString ( 16 ) ; \ n \ n } \ n \ nlet _seed = 1234567 ; \ n \ nconst MathUtils = { \ n \ n \ tDEG2RAD : Math . PI / 180 , \ n \ tRAD2DEG : 180 / Math . PI , \ n \ n \ tgenerateUUID : function ( ) { \ n \ n \ t \ t // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136\n\n\t\tconst d0 = Math.random() * 0xffffffff | 0;\n\t\tconst d1 = Math.random() * 0xffffffff | 0;\n\t\tconst d2 = Math.random() * 0xffffffff | 0;\n\t\tconst d3 = Math.random() * 0xffffffff | 0;\n\t\tconst uuid = _lut[ d0 & 0xff ] + _lut[ d0 >> 8 & 0xff ] + _lut[ d0 >> 16 & 0xff ] + _lut[ d0 >> 24 & 0xff ] + '-' +\n\t\t\t_lut[ d1 & 0xff ] + _lut[ d1 >> 8 & 0xff ] + '-' + _lut[ d1 >> 16 & 0x0f | 0x40 ] + _lut[ d1 >> 24 & 0xff ] + '-' +\n\t\t\t_lut[ d2 & 0x3f | 0x80 ] + _lut[ d2 >> 8 & 0xff ] + '-' + _lut[ d2 >> 16 & 0xff ] + _lut[ d2 >> 24 & 0xff ] +\n\t\t\t_lut[ d3 & 0xff ] + _lut[ d3 >> 8 & 0xff ] + _lut[ d3 >> 16 & 0xff ] + _lut[ d3 >> 24 & 0xff ];\n\n\t\t// .toUpperCase() here flattens concatenated strings to save heap memory space.\n\t\treturn uuid.toUpperCase();\n\n\t},\n\n\tclamp: function ( value, min, max ) {\n\n\t\treturn Math.max( min, Math.min( max, value ) );\n\n\t},\n\n\t// compute euclidian modulo of m % n\n\t// https://en.wikipedia.org/wiki/Modulo_operation\n\n\teuclideanModulo: function ( n, m ) {\n\n\t\treturn ( ( n % m ) + m ) % m;\n\n\t},\n\n\t// Linear mapping from range <a1, a2> to range <b1, b2>\n\n\tmapLinear: function ( x, a1, a2, b1, b2 ) {\n\n\t\treturn b1 + ( x - a1 ) * ( b2 - b1 ) / ( a2 - a1 );\n\n\t},\n\n\t// https://en.wikipedia.org/wiki/Linear_interpolation\n\n\tlerp: function ( x, y, t ) {\n\n\t\treturn ( 1 - t ) * x + t * y;\n\n\t},\n\n\t// http://www.rorydriscoll.com/2016/03/07/frame-rate-independent-damping-using-lerp/\n\n\tdamp: function ( x, y, lambda, dt ) {\n\n\t\treturn MathUtils.lerp( x, y, 1 - Math.exp( - lambda * dt ) );\n\n\t},\n\n\t// https://www.desmos.com/calculator/vcsjnyz7x4\n\n\tpingpong: function ( x, length = 1 ) {\n\n\t\treturn length - Math.abs( MathUtils.euclideanModulo( x, length * 2 ) - length );\n\n\t},\n\n\t// http://en.wikipedia.org/wiki/Smoothstep\n\n\tsmoothstep: function ( x, min, max ) {\n\n\t\tif ( x <= min ) return 0;\n\t\tif ( x >= max ) return 1;\n\n\t\tx = ( x - min ) / ( max - min );\n\n\t\treturn x * x * ( 3 - 2 * x );\n\n\t},\n\n\tsmootherstep: function ( x, min, max ) {\n\n\t\tif ( x <= min ) return 0;\n\t\tif ( x >= max ) return 1;\n\n\t\tx = ( x - min ) / ( max - min );\n\n\t\treturn x * x * x * ( x * ( x * 6 - 15 ) + 10 );\n\n\t},\n\n\t// Random integer from <low, high> interval\n\n\trandInt: function ( low, high ) {\n\n\t\treturn low + Math.floor( Math.random() * ( high - low + 1 ) );\n\n\t},\n\n\t// Random float from <low, high> interval\n\n\trandFloat: function ( low, high ) {\n\n\t\treturn low + Math.random() * ( high - low );\n\n\t},\n\n\t// Random float from <-range/2, range/2> interval\n\n\trandFloatSpread: function ( range ) {\n\n\t\treturn range * ( 0.5 - Math.random() );\n\n\t},\n\n\t// Deterministic pseudo-random float in the interval [ 0, 1 ]\n\n\tseededRandom: function ( s ) {\n\n\t\tif ( s !== undefined ) _seed = s % 2147483647;\n\n\t\t// Park-Miller algorithm\n\n\t\t_seed = _seed * 16807 % 2147483647;\n\n\t\treturn ( _seed - 1 ) / 2147483646;\n\n\t},\n\n\tdegToRad: function ( degrees ) {\n\n\t\treturn degrees * MathUtils.DEG2RAD;\n\n\t},\n\n\tradToDeg: function ( radians ) {\n\n\t\treturn radians * MathUtils.RAD2DEG;\n\n\t},\n\n\tisPowerOfTwo: function ( value ) {\n\n\t\treturn ( value & ( value - 1 ) ) === 0 && value !== 0;\n\n\t},\n\n\tceilPowerOfTwo: function ( value ) {\n\n\t\treturn Math.pow( 2, Math.ceil( Math.log( value ) / Math.LN2 ) );\n\n\t},\n\n\tfloorPowerOfTwo: function ( value ) {\n\n\t\treturn Math.pow( 2, Math.floor( Math.log( value ) / Math.
/***/ } ) ,
/***/ "./node_modules/three/src/math/Matrix3.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / math / Matrix3 . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Matrix3\" : ( ) => ( /* binding */ Matrix3 ) \ n /* harmony export */ } ) ; \ nclass Matrix3 { \ n \ n \ tconstructor ( ) { \ n \ n \ t \ tthis . elements = [ \ n \ n \ t \ t \ t1 , 0 , 0 , \ n \ t \ t \ t0 , 1 , 0 , \ n \ t \ t \ t0 , 0 , 1 \ n \ n \ t \ t ] ; \ n \ n \ t \ tif ( arguments . length > 0 ) { \ n \ n \ t \ t \ tconsole . error ( 'THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.' ) ; \ n \ n \ t \ t } \ n \ n \ t } \ n \ n \ tset ( n11 , n12 , n13 , n21 , n22 , n23 , n31 , n32 , n33 ) { \ n \ n \ t \ tconst te = this . elements ; \ n \ n \ t \ tte [ 0 ] = n11 ; te [ 1 ] = n21 ; te [ 2 ] = n31 ; \ n \ t \ tte [ 3 ] = n12 ; te [ 4 ] = n22 ; te [ 5 ] = n32 ; \ n \ t \ tte [ 6 ] = n13 ; te [ 7 ] = n23 ; te [ 8 ] = n33 ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tidentity ( ) { \ n \ n \ t \ tthis . set ( \ n \ n \ t \ t \ t1 , 0 , 0 , \ n \ t \ t \ t0 , 1 , 0 , \ n \ t \ t \ t0 , 0 , 1 \ n \ n \ t \ t ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tcopy ( m ) { \ n \ n \ t \ tconst te = this . elements ; \ n \ t \ tconst me = m . elements ; \ n \ n \ t \ tte [ 0 ] = me [ 0 ] ; te [ 1 ] = me [ 1 ] ; te [ 2 ] = me [ 2 ] ; \ n \ t \ tte [ 3 ] = me [ 3 ] ; te [ 4 ] = me [ 4 ] ; te [ 5 ] = me [ 5 ] ; \ n \ t \ tte [ 6 ] = me [ 6 ] ; te [ 7 ] = me [ 7 ] ; te [ 8 ] = me [ 8 ] ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ textractBasis ( xAxis , yAxis , zAxis ) { \ n \ n \ t \ txAxis . setFromMatrix3Column ( this , 0 ) ; \ n \ t \ tyAxis . setFromMatrix3Column ( this , 1 ) ; \ n \ t \ tzAxis . setFromMatrix3Column ( this , 2 ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsetFromMatrix4 ( m ) { \ n \ n \ t \ tconst me = m . elements ; \ n \ n \ t \ tthis . set ( \ n \ n \ t \ t \ tme [ 0 ] , me [ 4 ] , me [ 8 ] , \ n \ t \ t \ tme [ 1 ] , me [ 5 ] , me [ 9 ] , \ n \ t \ t \ tme [ 2 ] , me [ 6 ] , me [ 10 ] \ n \ n \ t \ t ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tmultiply ( m ) { \ n \ n \ t \ treturn this . multiplyMatrices ( this , m ) ; \ n \ n \ t } \ n \ n \ tpremultiply ( m ) { \ n \ n \ t \ treturn this . multiplyMatrices ( m , this ) ; \ n \ n \ t } \ n \ n \ tmultiplyMatrices ( a , b ) { \ n \ n \ t \ tconst ae = a . elements ; \ n \ t \ tconst be = b . elements ; \ n \ t \ tconst te = this . elements ; \ n \ n \ t \ tconst a11 = ae [ 0 ] , a12 = ae [ 3 ] , a13 = ae [ 6 ] ; \ n \ t \ tconst a21 = ae [ 1 ] , a22 = ae [ 4 ] , a23 = ae [ 7 ] ; \ n \ t \ tconst a31 = ae [ 2 ] , a32 = ae [ 5 ] , a33 = ae [ 8 ] ; \ n \ n \ t \ tconst b11 = be [ 0 ] , b12 = be [ 3 ] , b13 = be [ 6 ] ; \ n \ t \ tconst b21 = be [ 1 ] , b22 = be [ 4 ] , b23 = be [ 7 ] ; \ n \ t \ tconst b31 = be [ 2 ] , b32 = be [ 5 ] , b33 = be [ 8 ] ; \ n \ n \ t \ tte [ 0 ] = a11 * b11 + a12 * b21 + a13 * b31 ; \ n \ t \ tte [ 3 ] = a11 * b12 + a12 * b22 + a13 * b32 ; \ n \ t \ tte [ 6 ] = a11 * b13 + a12 * b23 + a13 * b33 ; \ n \ n \ t \ tte [ 1 ] = a21 * b11 + a22 * b21 + a23 * b31 ; \ n \ t \ tte [ 4 ] = a21 * b12 + a22 * b22 + a23 * b32 ; \ n \ t \ tte [ 7 ] = a21 * b13 + a22 * b23 + a23 * b33 ; \ n \ n \ t \ tte [ 2 ] = a31 * b11 + a32 * b21 + a33 * b31 ; \ n \ t \ tte [ 5 ] = a31 * b12 + a32 * b22 + a33 * b32 ; \ n \ t \ tte [ 8 ] = a31 * b13 + a32 * b23 + a33 * b33 ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tmultiplyScalar ( s ) { \ n \ n \ t \ tconst te = this . elements ; \ n \ n \ t \ tte [ 0 ] *= s ; te [ 3 ] *= s ; te [ 6 ] *= s ; \ n \ t \ tte [ 1 ] *= s ; te [ 4 ] *= s ; te [ 7 ] *= s ; \ n \ t \ tte [ 2 ] *= s ; te [ 5 ] *= s ; te [ 8 ] *= s ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tdeterminant ( ) { \ n \ n \ t \ tconst te = this . elements ; \ n \ n \ t \ tconst a = te [ 0 ] , b = te [ 1 ] , c = te [ 2 ] , \ n \ t \ t \ td = te [ 3 ] , e = te [ 4 ] , f = te [ 5 ] , \ n \ t \ t \ tg = te [ 6 ] , h = te [ 7 ] , i = te [ 8 ] ; \ n \ n \ t \ treturn a * e * i - a * f * h - b * d * i + b * f * g + c * d * h - c * e * g ; \ n \ n \ t } \ n \ n \ tinvert ( ) { \ n \ n \ t \ tconst te = this . elements , \ n \ n \ t \ t \ tn11 = te [ 0 ] , n21 = te [ 1 ] , n31 = te [ 2 ] , \ n \ t \ t \ tn12 = te [ 3 ] , n22 = te [ 4 ] , n32 = te [ 5 ] , \ n \ t \ t \ tn13 = te [ 6 ] , n23 = te [ 7 ] , n33 = te [ 8 ] , \ n \ n \ t \ t \ tt11 = n33 * n22 - n32 * n23 , \ n \ t \ t \ tt12 = n32 * n13 - n33 * n12 , \ n \ t \ t \ tt13 = n23 * n12 - n22 * n13 , \ n \ n \ t \ t \ tdet = n11 * t11 + n21 * t12 + n31 * t13 ; \ n \ n \ t \ tif ( det === 0 ) return this . set ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ) ; \ n \ n \ t \ tconst detInv = 1 / det ; \ n \ n \ t \ tte [ 0 ] = t11 * detInv ; \ n \ t \ tte [ 1 ] = ( n31 * n23 - n33 * n21 ) * detInv ; \ n \ t \ tte [ 2 ] = ( n32 * n21 - n31 * n22 ) * detInv ; \ n \ n \ t \ tte [ 3 ] = t12 * detInv ; \ n \ t \ tte [ 4 ] = ( n33 * n11 - n31 * n13 ) * detInv ; \ n \ t \ tte [ 5 ] = ( n31 * n12 - n32 * n11 ) * detInv ; \ n \ n \ t \ tte [ 6 ] = t13 * detInv ; \ n \ t \ tte [ 7 ] = ( n21 * n13 - n23 * n11 ) * detInv ; \ n \ t \ tte [ 8 ] = ( n22 * n11 - n21 * n12 ) * detInv ; \ n \ n \ t \ treturn
/***/ } ) ,
/***/ "./node_modules/three/src/math/Matrix4.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / math / Matrix4 . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Matrix4\": () => (/* binding */ Matrix4)\n/* harmony export */ });\n/* harmony import */ var _Vector3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Vector3.js */ \"./node_modules/three/src/math/Vector3.js\" ) ; \ n \ n \ nclass Matrix4 { \ n \ n \ tconstructor ( ) { \ n \ n \ t \ tthis . elements = [ \ n \ n \ t \ t \ t1 , 0 , 0 , 0 , \ n \ t \ t \ t0 , 1 , 0 , 0 , \ n \ t \ t \ t0 , 0 , 1 , 0 , \ n \ t \ t \ t0 , 0 , 0 , 1 \ n \ n \ t \ t ] ; \ n \ n \ t \ tif ( arguments . length > 0 ) { \ n \ n \ t \ t \ tconsole . error ( 'THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.' ) ; \ n \ n \ t \ t } \ n \ n \ t } \ n \ n \ tset ( n11 , n12 , n13 , n14 , n21 , n22 , n23 , n24 , n31 , n32 , n33 , n34 , n41 , n42 , n43 , n44 ) { \ n \ n \ t \ tconst te = this . elements ; \ n \ n \ t \ tte [ 0 ] = n11 ; te [ 4 ] = n12 ; te [ 8 ] = n13 ; te [ 12 ] = n14 ; \ n \ t \ tte [ 1 ] = n21 ; te [ 5 ] = n22 ; te [ 9 ] = n23 ; te [ 13 ] = n24 ; \ n \ t \ tte [ 2 ] = n31 ; te [ 6 ] = n32 ; te [ 10 ] = n33 ; te [ 14 ] = n34 ; \ n \ t \ tte [ 3 ] = n41 ; te [ 7 ] = n42 ; te [ 11 ] = n43 ; te [ 15 ] = n44 ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tidentity ( ) { \ n \ n \ t \ tthis . set ( \ n \ n \ t \ t \ t1 , 0 , 0 , 0 , \ n \ t \ t \ t0 , 1 , 0 , 0 , \ n \ t \ t \ t0 , 0 , 1 , 0 , \ n \ t \ t \ t0 , 0 , 0 , 1 \ n \ n \ t \ t ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tclone ( ) { \ n \ n \ t \ treturn new Matrix4 ( ) . fromArray ( this . elements ) ; \ n \ n \ t } \ n \ n \ tcopy ( m ) { \ n \ n \ t \ tconst te = this . elements ; \ n \ t \ tconst me = m . elements ; \ n \ n \ t \ tte [ 0 ] = me [ 0 ] ; te [ 1 ] = me [ 1 ] ; te [ 2 ] = me [ 2 ] ; te [ 3 ] = me [ 3 ] ; \ n \ t \ tte [ 4 ] = me [ 4 ] ; te [ 5 ] = me [ 5 ] ; te [ 6 ] = me [ 6 ] ; te [ 7 ] = me [ 7 ] ; \ n \ t \ tte [ 8 ] = me [ 8 ] ; te [ 9 ] = me [ 9 ] ; te [ 10 ] = me [ 10 ] ; te [ 11 ] = me [ 11 ] ; \ n \ t \ tte [ 12 ] = me [ 12 ] ; te [ 13 ] = me [ 13 ] ; te [ 14 ] = me [ 14 ] ; te [ 15 ] = me [ 15 ] ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tcopyPosition ( m ) { \ n \ n \ t \ tconst te = this . elements , me = m . elements ; \ n \ n \ t \ tte [ 12 ] = me [ 12 ] ; \ n \ t \ tte [ 13 ] = me [ 13 ] ; \ n \ t \ tte [ 14 ] = me [ 14 ] ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsetFromMatrix3 ( m ) { \ n \ n \ t \ tconst me = m . elements ; \ n \ n \ t \ tthis . set ( \ n \ n \ t \ t \ tme [ 0 ] , me [ 3 ] , me [ 6 ] , 0 , \ n \ t \ t \ tme [ 1 ] , me [ 4 ] , me [ 7 ] , 0 , \ n \ t \ t \ tme [ 2 ] , me [ 5 ] , me [ 8 ] , 0 , \ n \ t \ t \ t0 , 0 , 0 , 1 \ n \ n \ t \ t ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ textractBasis ( xAxis , yAxis , zAxis ) { \ n \ n \ t \ txAxis . setFromMatrixColumn ( this , 0 ) ; \ n \ t \ tyAxis . setFromMatrixColumn ( this , 1 ) ; \ n \ t \ tzAxis . setFromMatrixColumn ( this , 2 ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tmakeBasis ( xAxis , yAxis , zAxis ) { \ n \ n \ t \ tthis . set ( \ n \ t \ t \ txAxis . x , yAxis . x , zAxis . x , 0 , \ n \ t \ t \ txAxis . y , yAxis . y , zAxis . y , 0 , \ n \ t \ t \ txAxis . z , yAxis . z , zAxis . z , 0 , \ n \ t \ t \ t0 , 0 , 0 , 1 \ n \ t \ t ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ textractRotation ( m ) { \ n \ n \ t \ t // this method does not support reflection matrices\n\n\t\tconst te = this.elements;\n\t\tconst me = m.elements;\n\n\t\tconst scaleX = 1 / _v1.setFromMatrixColumn( m, 0 ).length();\n\t\tconst scaleY = 1 / _v1.setFromMatrixColumn( m, 1 ).length();\n\t\tconst scaleZ = 1 / _v1.setFromMatrixColumn( m, 2 ).length();\n\n\t\tte[ 0 ] = me[ 0 ] * scaleX;\n\t\tte[ 1 ] = me[ 1 ] * scaleX;\n\t\tte[ 2 ] = me[ 2 ] * scaleX;\n\t\tte[ 3 ] = 0;\n\n\t\tte[ 4 ] = me[ 4 ] * scaleY;\n\t\tte[ 5 ] = me[ 5 ] * scaleY;\n\t\tte[ 6 ] = me[ 6 ] * scaleY;\n\t\tte[ 7 ] = 0;\n\n\t\tte[ 8 ] = me[ 8 ] * scaleZ;\n\t\tte[ 9 ] = me[ 9 ] * scaleZ;\n\t\tte[ 10 ] = me[ 10 ] * scaleZ;\n\t\tte[ 11 ] = 0;\n\n\t\tte[ 12 ] = 0;\n\t\tte[ 13 ] = 0;\n\t\tte[ 14 ] = 0;\n\t\tte[ 15 ] = 1;\n\n\t\treturn this;\n\n\t}\n\n\tmakeRotationFromEuler( euler ) {\n\n\t\tif ( ! ( euler && euler.isEuler ) ) {\n\n\t\t\tconsole.error( 'THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.' );\n\n\t\t}\n\n\t\tconst te = this.elements;\n\n\t\tconst x = euler.x, y = euler.y, z = euler.z;\n\t\tconst a = Math.cos( x ), b = Math.sin( x );\n\t\tconst c = Math.cos( y ), d = Math.sin( y );\n\t\tconst e = Math.cos( z ), f = Math.sin( z );\n\n\t\tif ( euler.order === 'XYZ' ) {\n\n\t\t\tconst ae = a * e, af = a * f, be = b * e, bf = b * f;\n\n\t\t\tte[ 0 ] = c * e;\n\t\t\tte[ 4 ] = - c * f;\n\t\t\tte[ 8 ] = d;\n\n\t\t\tte[ 1 ] = af + be * d;\n\t\t
/***/ } ) ,
/***/ "./node_modules/three/src/math/Plane.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / math / Plane . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Plane\": () => (/* binding */ Plane)\n/* harmony export */ });\n/* harmony import */ var _Matrix3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Matrix3.js */ \"./node_modules/three/src/math/Matrix3.js\");\n/* harmony import */ var _Vector3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Vector3.js */ \"./node_modules/three/src/math/Vector3.js\" ) ; \ n \ n \ n \ nconst _vector1 = /*@__PURE__*/ new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _vector2 = /*@__PURE__*/ new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _normalMatrix = /*@__PURE__*/ new _Matrix3 _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Matrix3 ( ) ; \ n \ nclass Plane { \ n \ n \ tconstructor ( normal = new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( 1 , 0 , 0 ) , constant = 0 ) { \ n \ n \ t \ t // normal is assumed to be normalized\n\n\t\tthis.normal = normal;\n\t\tthis.constant = constant;\n\n\t}\n\n\tset( normal, constant ) {\n\n\t\tthis.normal.copy( normal );\n\t\tthis.constant = constant;\n\n\t\treturn this;\n\n\t}\n\n\tsetComponents( x, y, z, w ) {\n\n\t\tthis.normal.set( x, y, z );\n\t\tthis.constant = w;\n\n\t\treturn this;\n\n\t}\n\n\tsetFromNormalAndCoplanarPoint( normal, point ) {\n\n\t\tthis.normal.copy( normal );\n\t\tthis.constant = - point.dot( this.normal );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromCoplanarPoints( a, b, c ) {\n\n\t\tconst normal = _vector1.subVectors( c, b ).cross( _vector2.subVectors( a, b ) ).normalize();\n\n\t\t// Q: should an error be thrown if normal is zero (e.g. degenerate plane)?\n\n\t\tthis.setFromNormalAndCoplanarPoint( normal, a );\n\n\t\treturn this;\n\n\t}\n\n\tcopy( plane ) {\n\n\t\tthis.normal.copy( plane.normal );\n\t\tthis.constant = plane.constant;\n\n\t\treturn this;\n\n\t}\n\n\tnormalize() {\n\n\t\t// Note: will lead to a divide by zero if the plane is invalid.\n\n\t\tconst inverseNormalLength = 1.0 / this.normal.length();\n\t\tthis.normal.multiplyScalar( inverseNormalLength );\n\t\tthis.constant *= inverseNormalLength;\n\n\t\treturn this;\n\n\t}\n\n\tnegate() {\n\n\t\tthis.constant *= - 1;\n\t\tthis.normal.negate();\n\n\t\treturn this;\n\n\t}\n\n\tdistanceToPoint( point ) {\n\n\t\treturn this.normal.dot( point ) + this.constant;\n\n\t}\n\n\tdistanceToSphere( sphere ) {\n\n\t\treturn this.distanceToPoint( sphere.center ) - sphere.radius;\n\n\t}\n\n\tprojectPoint( point, target ) {\n\n\t\tif ( target === undefined ) {\n\n\t\t\tconsole.warn( 'THREE.Plane: .projectPoint() target is now required' );\n\t\t\ttarget = new _Vector3_js__WEBPACK_IMPORTED_MODULE_0__.Vector3();\n\n\t\t}\n\n\t\treturn target.copy( this.normal ).multiplyScalar( - this.distanceToPoint( point ) ).add( point );\n\n\t}\n\n\tintersectLine( line, target ) {\n\n\t\tif ( target === undefined ) {\n\n\t\t\tconsole.warn( 'THREE.Plane: .intersectLine() target is now required' );\n\t\t\ttarget = new _Vector3_js__WEBPACK_IMPORTED_MODULE_0__.Vector3();\n\n\t\t}\n\n\t\tconst direction = line.delta( _vector1 );\n\n\t\tconst denominator = this.normal.dot( direction );\n\n\t\tif ( denominator === 0 ) {\n\n\t\t\t// line is coplanar, return origin\n\t\t\tif ( this.distanceToPoint( line.start ) === 0 ) {\n\n\t\t\t\treturn target.copy( line.start );\n\n\t\t\t}\n\n\t\t\t// Unsure if this is the correct method to handle this case.\n\t\t\treturn undefined;\n\n\t\t}\n\n\t\tconst t = - ( line.start.dot( this.normal ) + this.constant ) / denominator;\n\n\t\tif ( t < 0 || t > 1 ) {\n\n\t\t\treturn undefined;\n\n\t\t}\n\n\t\treturn target.copy( direction ).multiplyScalar( t ).add( line.start );\n\n\t}\n\n\tintersectsLine( line ) {\n\n\t\t// Note: this tests if a line intersects the plane, not whether it (or its end-points) are coplanar with it.\n\n\t\tconst startSign = this.distanceToPoint( line.start );\n\t\tconst endSign = this.distanceToPoint( line.end );\n\n\t\treturn ( startSign < 0 && endSign > 0 ) || ( endSign < 0 && startSign > 0 );\n\n\t}\n\n\tintersectsBox( box ) {\n\n\t\treturn box.intersectsPlane( this
/***/ } ) ,
/***/ "./node_modules/three/src/math/Quaternion.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / math / Quaternion . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Quaternion\": () => (/* binding */ Quaternion)\n/* harmony export */ });\n/* harmony import */ var _MathUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MathUtils.js */ \"./node_modules/three/src/math/MathUtils.js\" ) ; \ n \ n \ nclass Quaternion { \ n \ n \ tconstructor ( x = 0 , y = 0 , z = 0 , w = 1 ) { \ n \ n \ t \ tthis . _x = x ; \ n \ t \ tthis . _y = y ; \ n \ t \ tthis . _z = z ; \ n \ t \ tthis . _w = w ; \ n \ n \ t } \ n \ n \ tstatic slerp ( qa , qb , qm , t ) { \ n \ n \ t \ treturn qm . copy ( qa ) . slerp ( qb , t ) ; \ n \ n \ t } \ n \ n \ tstatic slerpFlat ( dst , dstOffset , src0 , srcOffset0 , src1 , srcOffset1 , t ) { \ n \ n \ t \ t // fuzz-free, array-based Quaternion SLERP operation\n\n\t\tlet x0 = src0[ srcOffset0 + 0 ],\n\t\t\ty0 = src0[ srcOffset0 + 1 ],\n\t\t\tz0 = src0[ srcOffset0 + 2 ],\n\t\t\tw0 = src0[ srcOffset0 + 3 ];\n\n\t\tconst x1 = src1[ srcOffset1 + 0 ],\n\t\t\ty1 = src1[ srcOffset1 + 1 ],\n\t\t\tz1 = src1[ srcOffset1 + 2 ],\n\t\t\tw1 = src1[ srcOffset1 + 3 ];\n\n\t\tif ( t === 0 ) {\n\n\t\t\tdst[ dstOffset + 0 ] = x0;\n\t\t\tdst[ dstOffset + 1 ] = y0;\n\t\t\tdst[ dstOffset + 2 ] = z0;\n\t\t\tdst[ dstOffset + 3 ] = w0;\n\t\t\treturn;\n\n\t\t}\n\n\t\tif ( t === 1 ) {\n\n\t\t\tdst[ dstOffset + 0 ] = x1;\n\t\t\tdst[ dstOffset + 1 ] = y1;\n\t\t\tdst[ dstOffset + 2 ] = z1;\n\t\t\tdst[ dstOffset + 3 ] = w1;\n\t\t\treturn;\n\n\t\t}\n\n\t\tif ( w0 !== w1 || x0 !== x1 || y0 !== y1 || z0 !== z1 ) {\n\n\t\t\tlet s = 1 - t;\n\t\t\tconst cos = x0 * x1 + y0 * y1 + z0 * z1 + w0 * w1,\n\t\t\t\tdir = ( cos >= 0 ? 1 : - 1 ),\n\t\t\t\tsqrSin = 1 - cos * cos;\n\n\t\t\t// Skip the Slerp for tiny steps to avoid numeric problems:\n\t\t\tif ( sqrSin > Number.EPSILON ) {\n\n\t\t\t\tconst sin = Math.sqrt( sqrSin ),\n\t\t\t\t\tlen = Math.atan2( sin, cos * dir );\n\n\t\t\t\ts = Math.sin( s * len ) / sin;\n\t\t\t\tt = Math.sin( t * len ) / sin;\n\n\t\t\t}\n\n\t\t\tconst tDir = t * dir;\n\n\t\t\tx0 = x0 * s + x1 * tDir;\n\t\t\ty0 = y0 * s + y1 * tDir;\n\t\t\tz0 = z0 * s + z1 * tDir;\n\t\t\tw0 = w0 * s + w1 * tDir;\n\n\t\t\t// Normalize in case we just did a lerp:\n\t\t\tif ( s === 1 - t ) {\n\n\t\t\t\tconst f = 1 / Math.sqrt( x0 * x0 + y0 * y0 + z0 * z0 + w0 * w0 );\n\n\t\t\t\tx0 *= f;\n\t\t\t\ty0 *= f;\n\t\t\t\tz0 *= f;\n\t\t\t\tw0 *= f;\n\n\t\t\t}\n\n\t\t}\n\n\t\tdst[ dstOffset ] = x0;\n\t\tdst[ dstOffset + 1 ] = y0;\n\t\tdst[ dstOffset + 2 ] = z0;\n\t\tdst[ dstOffset + 3 ] = w0;\n\n\t}\n\n\tstatic multiplyQuaternionsFlat( dst, dstOffset, src0, srcOffset0, src1, srcOffset1 ) {\n\n\t\tconst x0 = src0[ srcOffset0 ];\n\t\tconst y0 = src0[ srcOffset0 + 1 ];\n\t\tconst z0 = src0[ srcOffset0 + 2 ];\n\t\tconst w0 = src0[ srcOffset0 + 3 ];\n\n\t\tconst x1 = src1[ srcOffset1 ];\n\t\tconst y1 = src1[ srcOffset1 + 1 ];\n\t\tconst z1 = src1[ srcOffset1 + 2 ];\n\t\tconst w1 = src1[ srcOffset1 + 3 ];\n\n\t\tdst[ dstOffset ] = x0 * w1 + w0 * x1 + y0 * z1 - z0 * y1;\n\t\tdst[ dstOffset + 1 ] = y0 * w1 + w0 * y1 + z0 * x1 - x0 * z1;\n\t\tdst[ dstOffset + 2 ] = z0 * w1 + w0 * z1 + x0 * y1 - y0 * x1;\n\t\tdst[ dstOffset + 3 ] = w0 * w1 - x0 * x1 - y0 * y1 - z0 * z1;\n\n\t\treturn dst;\n\n\t}\n\n\tget x() {\n\n\t\treturn this._x;\n\n\t}\n\n\tset x( value ) {\n\n\t\tthis._x = value;\n\t\tthis._onChangeCallback();\n\n\t}\n\n\tget y() {\n\n\t\treturn this._y;\n\n\t}\n\n\tset y( value ) {\n\n\t\tthis._y = value;\n\t\tthis._onChangeCallback();\n\n\t}\n\n\tget z() {\n\n\t\treturn this._z;\n\n\t}\n\n\tset z( value ) {\n\n\t\tthis._z = value;\n\t\tthis._onChangeCallback();\n\n\t}\n\n\tget w() {\n\n\t\treturn this._w;\n\n\t}\n\n\tset w( value ) {\n\n\t\tthis._w = value;\n\t\tthis._onChangeCallback();\n\n\t}\n\n\tset( x, y, z, w ) {\n\n\t\tthis._x = x;\n\t\tthis._y = y;\n\t\tthis._z = z;\n\t\tthis._w = w;\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor( this._x, this._y, this._z, this._w );\n\n\t}\n\n\tcopy( quaternion ) {\n\n\t\tthis._x = quaternion.x;\n\t\tthis._y = quaternion.y;\n\t\tthis._z = quaternion.z;\n\t\tthis._w = quaterni
/***/ } ) ,
/***/ "./node_modules/three/src/math/Ray.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / math / Ray . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Ray\": () => (/* binding */ Ray)\n/* harmony export */ });\n/* harmony import */ var _Vector3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Vector3.js */ \"./node_modules/three/src/math/Vector3.js\" ) ; \ n \ n \ nconst _vector = /*@__PURE__*/ new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _segCenter = /*@__PURE__*/ new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _segDir = /*@__PURE__*/ new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _diff = /*@__PURE__*/ new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ n \ nconst _edge1 = /*@__PURE__*/ new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _edge2 = /*@__PURE__*/ new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _normal = /*@__PURE__*/ new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ n \ nclass Ray { \ n \ n \ tconstructor ( origin = new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) , direction = new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( 0 , 0 , - 1 ) ) { \ n \ n \ t \ tthis . origin = origin ; \ n \ t \ tthis . direction = direction ; \ n \ n \ t } \ n \ n \ tset ( origin , direction ) { \ n \ n \ t \ tthis . origin . copy ( origin ) ; \ n \ t \ tthis . direction . copy ( direction ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tcopy ( ray ) { \ n \ n \ t \ tthis . origin . copy ( ray . origin ) ; \ n \ t \ tthis . direction . copy ( ray . direction ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tat ( t , target ) { \ n \ n \ t \ tif ( target === undefined ) { \ n \ n \ t \ t \ tconsole . warn ( 'THREE.Ray: .at() target is now required' ) ; \ n \ t \ t \ ttarget = new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ n \ n \ t \ t } \ n \ n \ t \ treturn target . copy ( this . direction ) . multiplyScalar ( t ) . add ( this . origin ) ; \ n \ n \ t } \ n \ n \ tlookAt ( v ) { \ n \ n \ t \ tthis . direction . copy ( v ) . sub ( this . origin ) . normalize ( ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ trecast ( t ) { \ n \ n \ t \ tthis . origin . copy ( this . at ( t , _vector ) ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tclosestPointToPoint ( point , target ) { \ n \ n \ t \ tif ( target === undefined ) { \ n \ n \ t \ t \ tconsole . warn ( 'THREE.Ray: .closestPointToPoint() target is now required' ) ; \ n \ t \ t \ ttarget = new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ n \ n \ t \ t } \ n \ n \ t \ ttarget . subVectors ( point , this . origin ) ; \ n \ n \ t \ tconst directionDistance = target . dot ( this . direction ) ; \ n \ n \ t \ tif ( directionDistance < 0 ) { \ n \ n \ t \ t \ treturn target . copy ( this . origin ) ; \ n \ n \ t \ t } \ n \ n \ t \ treturn target . copy ( this . direction ) . multiplyScalar ( directionDistance ) . add ( this . origin ) ; \ n \ n \ t } \ n \ n \ tdistanceToPoint ( point ) { \ n \ n \ t \ treturn Math . sqrt ( this . distanceSqToPoint ( point ) ) ; \ n \ n \ t } \ n \ n \ tdistanceSqToPoint ( point ) { \ n \ n \ t \ tconst directionDistance = _vector . subVectors ( point , this . origin ) . dot ( this . direction ) ; \ n \ n \ t \ t // point behind the ray\n\n\t\tif ( directionDistance < 0 ) {\n\n\t\t\treturn this.origin.distanceToSquared( point );\n\n\t\t}\n\n\t\t_vector.copy( this.direction ).multiplyScalar( directionDistance ).add( this.origin );\n\n\t\treturn _vector.distanceToSquared( point );\n\n\t}\n\n\tdistanceSqToSegment( v0, v1, optionalPointOnRay, optionalPointOnSegment ) {\n\n\t\t// from http://www.geometrictools.com/GTEngine/Include/Mathematics/GteDistRaySegment.h\n\t\t// It returns the min distance between the ray and the segment\n\t\t// defined by v0 and v1\n\t\t// It can also set two optional targets :\n\t\t// - The closest point on the ray\n\t\t// - The closest point on the segment\n\n\t\t_segCenter.copy( v0 ).add( v1 ).multiplyScalar( 0.5 );\n\t\t_segDir.copy( v1 ).sub( v0 ).normalize();\n\t\t_diff.copy( this.origin ).sub( _segCenter );\n\n\t\tconst segExtent = v0.distanceTo( v1 ) * 0.5;\n\t\tconst a01 = - this.direction.dot( _segDir );\n\t\tconst b0 = _diff.dot( this.direction );\n\t\tconst b1 = - _diff.dot( _segDir );\n\t\tconst c = _diff.lengthSq();\n\t\tconst det = Math.abs( 1 - a01 * a01 );\n\t\tlet s0, s1, sqrDist, extDet;\n\n\t\tif ( det > 0 ) {\n\n\t\t\t// The ray and segment are not parallel.\n\n\t\t\ts0 = a01 * b1 - b0;\n\t\t\ts1 = a01 * b0 - b1;\n\t\t\textDet = segExtent * det;\n\n\t\t\tif ( s
/***/ } ) ,
/***/ "./node_modules/three/src/math/Sphere.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / math / Sphere . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Sphere\": () => (/* binding */ Sphere)\n/* harmony export */ });\n/* harmony import */ var _Box3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Box3.js */ \"./node_modules/three/src/math/Box3.js\");\n/* harmony import */ var _Vector3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Vector3.js */ \"./node_modules/three/src/math/Vector3.js\");\n\n\n\nconst _box = /*@__PURE__*/ new _Box3_js__WEBPACK_IMPORTED_MODULE_0__.Box3();\n\nclass Sphere {\n\n\tconstructor( center = new _Vector3_js__WEBPACK_IMPORTED_MODULE_1__.Vector3(), radius = - 1 ) {\n\n\t\tthis.center = center;\n\t\tthis.radius = radius;\n\n\t}\n\n\tset( center, radius ) {\n\n\t\tthis.center.copy( center );\n\t\tthis.radius = radius;\n\n\t\treturn this;\n\n\t}\n\n\tsetFromPoints( points, optionalCenter ) {\n\n\t\tconst center = this.center;\n\n\t\tif ( optionalCenter !== undefined ) {\n\n\t\t\tcenter.copy( optionalCenter );\n\n\t\t} else {\n\n\t\t\t_box.setFromPoints( points ).getCenter( center );\n\n\t\t}\n\n\t\tlet maxRadiusSq = 0;\n\n\t\tfor ( let i = 0, il = points.length; i < il; i ++ ) {\n\n\t\t\tmaxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( points[ i ] ) );\n\n\t\t}\n\n\t\tthis.radius = Math.sqrt( maxRadiusSq );\n\n\t\treturn this;\n\n\t}\n\n\tcopy( sphere ) {\n\n\t\tthis.center.copy( sphere.center );\n\t\tthis.radius = sphere.radius;\n\n\t\treturn this;\n\n\t}\n\n\tisEmpty() {\n\n\t\treturn ( this.radius < 0 );\n\n\t}\n\n\tmakeEmpty() {\n\n\t\tthis.center.set( 0, 0, 0 );\n\t\tthis.radius = - 1;\n\n\t\treturn this;\n\n\t}\n\n\tcontainsPoint( point ) {\n\n\t\treturn ( point.distanceToSquared( this.center ) <= ( this.radius * this.radius ) );\n\n\t}\n\n\tdistanceToPoint( point ) {\n\n\t\treturn ( point.distanceTo( this.center ) - this.radius );\n\n\t}\n\n\tintersectsSphere( sphere ) {\n\n\t\tconst radiusSum = this.radius + sphere.radius;\n\n\t\treturn sphere.center.distanceToSquared( this.center ) <= ( radiusSum * radiusSum );\n\n\t}\n\n\tintersectsBox( box ) {\n\n\t\treturn box.intersectsSphere( this );\n\n\t}\n\n\tintersectsPlane( plane ) {\n\n\t\treturn Math.abs( plane.distanceToPoint( this.center ) ) <= this.radius;\n\n\t}\n\n\tclampPoint( point, target ) {\n\n\t\tconst deltaLengthSq = this.center.distanceToSquared( point );\n\n\t\tif ( target === undefined ) {\n\n\t\t\tconsole.warn( 'THREE.Sphere: .clampPoint() target is now required' );\n\t\t\ttarget = new _Vector3_js__WEBPACK_IMPORTED_MODULE_1__.Vector3();\n\n\t\t}\n\n\t\ttarget.copy( point );\n\n\t\tif ( deltaLengthSq > ( this.radius * this.radius ) ) {\n\n\t\t\ttarget.sub( this.center ).normalize();\n\t\t\ttarget.multiplyScalar( this.radius ).add( this.center );\n\n\t\t}\n\n\t\treturn target;\n\n\t}\n\n\tgetBoundingBox( target ) {\n\n\t\tif ( target === undefined ) {\n\n\t\t\tconsole.warn( 'THREE.Sphere: .getBoundingBox() target is now required' );\n\t\t\ttarget = new _Box3_js__WEBPACK_IMPORTED_MODULE_0__.Box3();\n\n\t\t}\n\n\t\tif ( this.isEmpty() ) {\n\n\t\t\t// Empty sphere produces empty bounding box\n\t\t\ttarget.makeEmpty();\n\t\t\treturn target;\n\n\t\t}\n\n\t\ttarget.set( this.center, this.center );\n\t\ttarget.expandByScalar( this.radius );\n\n\t\treturn target;\n\n\t}\n\n\tapplyMatrix4( matrix ) {\n\n\t\tthis.center.applyMatrix4( matrix );\n\t\tthis.radius = this.radius * matrix.getMaxScaleOnAxis();\n\n\t\treturn this;\n\n\t}\n\n\ttranslate( offset ) {\n\n\t\tthis.center.add( offset );\n\n\t\treturn this;\n\n\t}\n\n\tequals( sphere ) {\n\n\t\treturn sphere.center.equals( this.center ) && ( sphere.radius === this.radius );\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n}\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/math/Sphere.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/math/Spherical.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / math / Spherical . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Spherical\": () => (/* binding */ Spherical)\n/* harmony export */ });\n/* harmony import */ var _MathUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MathUtils.js */ \"./node_modules/three/src/math/MathUtils.js\");\n/**\n * Ref: https://en.wikipedia.org/wiki/Spherical_coordinate_system\n *\n * The polar angle (phi) is measured from the positive y-axis. The positive y-axis is up.\n * The azimuthal angle (theta) is measured from the positive z-axis.\n */\n\n\n\nclass Spherical {\n\n\tconstructor( radius = 1, phi = 0, theta = 0 ) {\n\n\t\tthis.radius = radius;\n\t\tthis.phi = phi; // polar angle\n\t\tthis.theta = theta; // azimuthal angle\n\n\t\treturn this;\n\n\t}\n\n\tset( radius, phi, theta ) {\n\n\t\tthis.radius = radius;\n\t\tthis.phi = phi;\n\t\tthis.theta = theta;\n\n\t\treturn this;\n\n\t}\n\n\tcopy( other ) {\n\n\t\tthis.radius = other.radius;\n\t\tthis.phi = other.phi;\n\t\tthis.theta = other.theta;\n\n\t\treturn this;\n\n\t}\n\n\t// restrict phi to be betwee EPS and PI-EPS\n\tmakeSafe() {\n\n\t\tconst EPS = 0.000001;\n\t\tthis.phi = Math.max( EPS, Math.min( Math.PI - EPS, this.phi ) );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromVector3( v ) {\n\n\t\treturn this.setFromCartesianCoords( v.x, v.y, v.z );\n\n\t}\n\n\tsetFromCartesianCoords( x, y, z ) {\n\n\t\tthis.radius = Math.sqrt( x * x + y * y + z * z );\n\n\t\tif ( this.radius === 0 ) {\n\n\t\t\tthis.theta = 0;\n\t\t\tthis.phi = 0;\n\n\t\t} else {\n\n\t\t\tthis.theta = Math.atan2( x, z );\n\t\t\tthis.phi = Math.acos( _MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.MathUtils.clamp( y / this.radius, - 1, 1 ) );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n}\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/math/Spherical.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/math/Triangle.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / math / Triangle . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Triangle\": () => (/* binding */ Triangle)\n/* harmony export */ });\n/* harmony import */ var _Vector3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Vector3.js */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _Plane_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Plane.js */ \"./node_modules/three/src/math/Plane.js\" ) ; \ n \ n \ n \ nconst _v0 = /*@__PURE__*/ new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _v1 = /*@__PURE__*/ new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _v2 = /*@__PURE__*/ new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _v3 = /*@__PURE__*/ new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ n \ nconst _vab = /*@__PURE__*/ new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _vac = /*@__PURE__*/ new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _vbc = /*@__PURE__*/ new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _vap = /*@__PURE__*/ new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _vbp = /*@__PURE__*/ new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _vcp = /*@__PURE__*/ new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ n \ nclass Triangle { \ n \ n \ tconstructor ( a = new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) , b = new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) , c = new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ) { \ n \ n \ t \ tthis . a = a ; \ n \ t \ tthis . b = b ; \ n \ t \ tthis . c = c ; \ n \ n \ t } \ n \ n \ tstatic getNormal ( a , b , c , target ) { \ n \ n \ t \ tif ( target === undefined ) { \ n \ n \ t \ t \ tconsole . warn ( 'THREE.Triangle: .getNormal() target is now required' ) ; \ n \ t \ t \ ttarget = new _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ n \ n \ t \ t } \ n \ n \ t \ ttarget . subVectors ( c , b ) ; \ n \ t \ t _v0 . subVectors ( a , b ) ; \ n \ t \ ttarget . cross ( _v0 ) ; \ n \ n \ t \ tconst targetLengthSq = target . lengthSq ( ) ; \ n \ t \ tif ( targetLengthSq > 0 ) { \ n \ n \ t \ t \ treturn target . multiplyScalar ( 1 / Math . sqrt ( targetLengthSq ) ) ; \ n \ n \ t \ t } \ n \ n \ t \ treturn target . set ( 0 , 0 , 0 ) ; \ n \ n \ t } \ n \ n \ t // static/instance method to calculate barycentric coordinates\n\t// based on: http://www.blackpawn.com/texts/pointinpoly/default.html\n\tstatic getBarycoord( point, a, b, c, target ) {\n\n\t\t_v0.subVectors( c, a );\n\t\t_v1.subVectors( b, a );\n\t\t_v2.subVectors( point, a );\n\n\t\tconst dot00 = _v0.dot( _v0 );\n\t\tconst dot01 = _v0.dot( _v1 );\n\t\tconst dot02 = _v0.dot( _v2 );\n\t\tconst dot11 = _v1.dot( _v1 );\n\t\tconst dot12 = _v1.dot( _v2 );\n\n\t\tconst denom = ( dot00 * dot11 - dot01 * dot01 );\n\n\t\tif ( target === undefined ) {\n\n\t\t\tconsole.warn( 'THREE.Triangle: .getBarycoord() target is now required' );\n\t\t\ttarget = new _Vector3_js__WEBPACK_IMPORTED_MODULE_0__.Vector3();\n\n\t\t}\n\n\t\t// collinear or singular triangle\n\t\tif ( denom === 0 ) {\n\n\t\t\t// arbitrary location outside of triangle?\n\t\t\t// not sure if this is the best idea, maybe should be returning undefined\n\t\t\treturn target.set( - 2, - 1, - 1 );\n\n\t\t}\n\n\t\tconst invDenom = 1 / denom;\n\t\tconst u = ( dot11 * dot02 - dot01 * dot12 ) * invDenom;\n\t\tconst v = ( dot00 * dot12 - dot01 * dot02 ) * invDenom;\n\n\t\t// barycentric coordinates must always sum to 1\n\t\treturn target.set( 1 - u - v, v, u );\n\n\t}\n\n\tstatic containsPoint( point, a, b, c ) {\n\n\t\tthis.getBarycoord( point, a, b, c, _v3 );\n\n\t\treturn ( _v3.x >= 0 ) && ( _v3.y >= 0 ) && ( ( _v3.x + _v3.y ) <= 1 );\n\n\t}\n\n\tstatic getUV( point, p1, p2, p3, uv1, uv2, uv3, target ) {\n\n\t\tthis.getBarycoord( point, p1, p2, p3, _v3 );\n\n\t\ttarget.set( 0, 0 );\n\t\ttarget.addScaledVector( uv1, _v3.x );\n\t\ttarget.addScaledVector( uv2, _v3.y );\n\t\ttarget.addScaledVector( uv3, _v3.z );\n\n\t\treturn target;\n\n\t}\n\n\tstatic isFrontFacing( a, b, c, direction ) {\n\n\t\t_v0.subVectors( c, b );\n\t\t_v1.subVectors( a, b );\n\n\t\t// strictly front facing\n\t\treturn ( _v0.cross( _v1 ).dot( direction ) < 0 ) ? tr
/***/ } ) ,
/***/ "./node_modules/three/src/math/Vector2.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / math / Vector2 . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Vector2\" : ( ) => ( /* binding */ Vector2 ) \ n /* harmony export */ } ) ; \ nclass Vector2 { \ n \ n \ tconstructor ( x = 0 , y = 0 ) { \ n \ n \ t \ tthis . x = x ; \ n \ t \ tthis . y = y ; \ n \ n \ t } \ n \ n \ tget width ( ) { \ n \ n \ t \ treturn this . x ; \ n \ n \ t } \ n \ n \ tset width ( value ) { \ n \ n \ t \ tthis . x = value ; \ n \ n \ t } \ n \ n \ tget height ( ) { \ n \ n \ t \ treturn this . y ; \ n \ n \ t } \ n \ n \ tset height ( value ) { \ n \ n \ t \ tthis . y = value ; \ n \ n \ t } \ n \ n \ tset ( x , y ) { \ n \ n \ t \ tthis . x = x ; \ n \ t \ tthis . y = y ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsetScalar ( scalar ) { \ n \ n \ t \ tthis . x = scalar ; \ n \ t \ tthis . y = scalar ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsetX ( x ) { \ n \ n \ t \ tthis . x = x ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsetY ( y ) { \ n \ n \ t \ tthis . y = y ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsetComponent ( index , value ) { \ n \ n \ t \ tswitch ( index ) { \ n \ n \ t \ t \ tcase 0 : this . x = value ; break ; \ n \ t \ t \ tcase 1 : this . y = value ; break ; \ n \ t \ t \ tdefault : throw new Error ( 'index is out of range: ' + index ) ; \ n \ n \ t \ t } \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tgetComponent ( index ) { \ n \ n \ t \ tswitch ( index ) { \ n \ n \ t \ t \ tcase 0 : return this . x ; \ n \ t \ t \ tcase 1 : return this . y ; \ n \ t \ t \ tdefault : throw new Error ( 'index is out of range: ' + index ) ; \ n \ n \ t \ t } \ n \ n \ t } \ n \ n \ tclone ( ) { \ n \ n \ t \ treturn new this . constructor ( this . x , this . y ) ; \ n \ n \ t } \ n \ n \ tcopy ( v ) { \ n \ n \ t \ tthis . x = v . x ; \ n \ t \ tthis . y = v . y ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tadd ( v , w ) { \ n \ n \ t \ tif ( w !== undefined ) { \ n \ n \ t \ t \ tconsole . warn ( 'THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.' ) ; \ n \ t \ t \ treturn this . addVectors ( v , w ) ; \ n \ n \ t \ t } \ n \ n \ t \ tthis . x += v . x ; \ n \ t \ tthis . y += v . y ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ taddScalar ( s ) { \ n \ n \ t \ tthis . x += s ; \ n \ t \ tthis . y += s ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ taddVectors ( a , b ) { \ n \ n \ t \ tthis . x = a . x + b . x ; \ n \ t \ tthis . y = a . y + b . y ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ taddScaledVector ( v , s ) { \ n \ n \ t \ tthis . x += v . x * s ; \ n \ t \ tthis . y += v . y * s ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsub ( v , w ) { \ n \ n \ t \ tif ( w !== undefined ) { \ n \ n \ t \ t \ tconsole . warn ( 'THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.' ) ; \ n \ t \ t \ treturn this . subVectors ( v , w ) ; \ n \ n \ t \ t } \ n \ n \ t \ tthis . x -= v . x ; \ n \ t \ tthis . y -= v . y ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsubScalar ( s ) { \ n \ n \ t \ tthis . x -= s ; \ n \ t \ tthis . y -= s ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsubVectors ( a , b ) { \ n \ n \ t \ tthis . x = a . x - b . x ; \ n \ t \ tthis . y = a . y - b . y ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tmultiply ( v ) { \ n \ n \ t \ tthis . x *= v . x ; \ n \ t \ tthis . y *= v . y ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tmultiplyScalar ( scalar ) { \ n \ n \ t \ tthis . x *= scalar ; \ n \ t \ tthis . y *= scalar ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tdivide ( v ) { \ n \ n \ t \ tthis . x /= v . x ; \ n \ t \ tthis . y /= v . y ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tdivideScalar ( scalar ) { \ n \ n \ t \ treturn this . multiplyScalar ( 1 / scalar ) ; \ n \ n \ t } \ n \ n \ tapplyMatrix3 ( m ) { \ n \ n \ t \ tconst x = this . x , y = this . y ; \ n \ t \ tconst e = m . elements ; \ n \ n \ t \ tthis . x = e [ 0 ] * x + e [ 3 ] * y + e [ 6 ] ; \ n \ t \ tthis . y = e [ 1 ] * x + e [ 4 ] * y + e [ 7 ] ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tmin ( v ) { \ n \ n \ t \ tthis . x = Math . min ( this . x , v . x ) ; \ n \ t \ tthis . y = Math . min ( this . y , v . y ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tmax ( v ) { \ n \ n \ t \ tthis . x = Math . max ( this . x , v . x ) ; \ n \ t \ tthis . y = Math . max ( this . y , v . y ) ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tclamp ( min , max ) { \ n \ n \ t \ t // assumes min < max, componentwise\n\n\t\tthis.x = Math.max( min.x, Math.min( max.x, this.x ) );\n\t\tthis.y = Math.max( min.y, Math.min( max.y, this.y ) );\n\n\t\treturn this;\n\n\t}\n\n\tclampScalar( minVal, maxVal ) {\n\n\t\tthis.x = Math.max( minVal, Math.min( maxVal, this.x ) );\n\t\tthis.y = Math.max( minVal, Math.min( maxVal, this.y ) );\n\n\t\treturn this;\n\n\t}\n\n\tclampLength( min, max ) {\n\n\t\tconst length = this.length();\n\n\t\treturn this.divideScalar( length || 1 ).multiplyScalar( Math.max( min, Math.min( max, length ) ) );\n\n\t}\n\n\tfloor() {\n\n\t\tthis.x = Math.floor( this.x );\n\t\tthis.y = Math.floor( this.y );\n\n\t\treturn this;\n\n\t}\n\n\tceil() {\n\n\t\tthis.x = Math.ceil( this.x );\n\t\tthis.y = Math.c
/***/ } ) ,
/***/ "./node_modules/three/src/math/Vector3.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / math / Vector3 . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Vector3\": () => (/* binding */ Vector3)\n/* harmony export */ });\n/* harmony import */ var _MathUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MathUtils.js */ \"./node_modules/three/src/math/MathUtils.js\");\n/* harmony import */ var _Quaternion_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Quaternion.js */ \"./node_modules/three/src/math/Quaternion.js\" ) ; \ n \ n \ n \ nclass Vector3 { \ n \ n \ tconstructor ( x = 0 , y = 0 , z = 0 ) { \ n \ n \ t \ tthis . x = x ; \ n \ t \ tthis . y = y ; \ n \ t \ tthis . z = z ; \ n \ n \ t } \ n \ n \ tset ( x , y , z ) { \ n \ n \ t \ tif ( z === undefined ) z = this . z ; // sprite.scale.set(x,y)\n\n\t\tthis.x = x;\n\t\tthis.y = y;\n\t\tthis.z = z;\n\n\t\treturn this;\n\n\t}\n\n\tsetScalar( scalar ) {\n\n\t\tthis.x = scalar;\n\t\tthis.y = scalar;\n\t\tthis.z = scalar;\n\n\t\treturn this;\n\n\t}\n\n\tsetX( x ) {\n\n\t\tthis.x = x;\n\n\t\treturn this;\n\n\t}\n\n\tsetY( y ) {\n\n\t\tthis.y = y;\n\n\t\treturn this;\n\n\t}\n\n\tsetZ( z ) {\n\n\t\tthis.z = z;\n\n\t\treturn this;\n\n\t}\n\n\tsetComponent( index, value ) {\n\n\t\tswitch ( index ) {\n\n\t\t\tcase 0: this.x = value; break;\n\t\t\tcase 1: this.y = value; break;\n\t\t\tcase 2: this.z = value; break;\n\t\t\tdefault: throw new Error( 'index is out of range: ' + index );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tgetComponent( index ) {\n\n\t\tswitch ( index ) {\n\n\t\t\tcase 0: return this.x;\n\t\t\tcase 1: return this.y;\n\t\t\tcase 2: return this.z;\n\t\t\tdefault: throw new Error( 'index is out of range: ' + index );\n\n\t\t}\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor( this.x, this.y, this.z );\n\n\t}\n\n\tcopy( v ) {\n\n\t\tthis.x = v.x;\n\t\tthis.y = v.y;\n\t\tthis.z = v.z;\n\n\t\treturn this;\n\n\t}\n\n\tadd( v, w ) {\n\n\t\tif ( w !== undefined ) {\n\n\t\t\tconsole.warn( 'THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.' );\n\t\t\treturn this.addVectors( v, w );\n\n\t\t}\n\n\t\tthis.x += v.x;\n\t\tthis.y += v.y;\n\t\tthis.z += v.z;\n\n\t\treturn this;\n\n\t}\n\n\taddScalar( s ) {\n\n\t\tthis.x += s;\n\t\tthis.y += s;\n\t\tthis.z += s;\n\n\t\treturn this;\n\n\t}\n\n\taddVectors( a, b ) {\n\n\t\tthis.x = a.x + b.x;\n\t\tthis.y = a.y + b.y;\n\t\tthis.z = a.z + b.z;\n\n\t\treturn this;\n\n\t}\n\n\taddScaledVector( v, s ) {\n\n\t\tthis.x += v.x * s;\n\t\tthis.y += v.y * s;\n\t\tthis.z += v.z * s;\n\n\t\treturn this;\n\n\t}\n\n\tsub( v, w ) {\n\n\t\tif ( w !== undefined ) {\n\n\t\t\tconsole.warn( 'THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.' );\n\t\t\treturn this.subVectors( v, w );\n\n\t\t}\n\n\t\tthis.x -= v.x;\n\t\tthis.y -= v.y;\n\t\tthis.z -= v.z;\n\n\t\treturn this;\n\n\t}\n\n\tsubScalar( s ) {\n\n\t\tthis.x -= s;\n\t\tthis.y -= s;\n\t\tthis.z -= s;\n\n\t\treturn this;\n\n\t}\n\n\tsubVectors( a, b ) {\n\n\t\tthis.x = a.x - b.x;\n\t\tthis.y = a.y - b.y;\n\t\tthis.z = a.z - b.z;\n\n\t\treturn this;\n\n\t}\n\n\tmultiply( v, w ) {\n\n\t\tif ( w !== undefined ) {\n\n\t\t\tconsole.warn( 'THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.' );\n\t\t\treturn this.multiplyVectors( v, w );\n\n\t\t}\n\n\t\tthis.x *= v.x;\n\t\tthis.y *= v.y;\n\t\tthis.z *= v.z;\n\n\t\treturn this;\n\n\t}\n\n\tmultiplyScalar( scalar ) {\n\n\t\tthis.x *= scalar;\n\t\tthis.y *= scalar;\n\t\tthis.z *= scalar;\n\n\t\treturn this;\n\n\t}\n\n\tmultiplyVectors( a, b ) {\n\n\t\tthis.x = a.x * b.x;\n\t\tthis.y = a.y * b.y;\n\t\tthis.z = a.z * b.z;\n\n\t\treturn this;\n\n\t}\n\n\tapplyEuler( euler ) {\n\n\t\tif ( ! ( euler && euler.isEuler ) ) {\n\n\t\t\tconsole.error( 'THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.' );\n\n\t\t}\n\n\t\treturn this.applyQuaternion( _quaternion.setFromEuler( euler ) );\n\n\t}\n\n\tapplyAxisAngle( axis, angle ) {\n\n\t\treturn this.applyQuaternion( _quaternion.setFromAxisAngle( axis, angle ) );\n\n\t}\n\n\tapplyMatrix3( m ) {\n\n\t\tconst x = this.
/***/ } ) ,
/***/ "./node_modules/three/src/math/Vector4.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / math / Vector4 . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Vector4\" : ( ) => ( /* binding */ Vector4 ) \ n /* harmony export */ } ) ; \ nclass Vector4 { \ n \ n \ tconstructor ( x = 0 , y = 0 , z = 0 , w = 1 ) { \ n \ n \ t \ tthis . x = x ; \ n \ t \ tthis . y = y ; \ n \ t \ tthis . z = z ; \ n \ t \ tthis . w = w ; \ n \ n \ t } \ n \ n \ tget width ( ) { \ n \ n \ t \ treturn this . z ; \ n \ n \ t } \ n \ n \ tset width ( value ) { \ n \ n \ t \ tthis . z = value ; \ n \ n \ t } \ n \ n \ tget height ( ) { \ n \ n \ t \ treturn this . w ; \ n \ n \ t } \ n \ n \ tset height ( value ) { \ n \ n \ t \ tthis . w = value ; \ n \ n \ t } \ n \ n \ tset ( x , y , z , w ) { \ n \ n \ t \ tthis . x = x ; \ n \ t \ tthis . y = y ; \ n \ t \ tthis . z = z ; \ n \ t \ tthis . w = w ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsetScalar ( scalar ) { \ n \ n \ t \ tthis . x = scalar ; \ n \ t \ tthis . y = scalar ; \ n \ t \ tthis . z = scalar ; \ n \ t \ tthis . w = scalar ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsetX ( x ) { \ n \ n \ t \ tthis . x = x ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsetY ( y ) { \ n \ n \ t \ tthis . y = y ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsetZ ( z ) { \ n \ n \ t \ tthis . z = z ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsetW ( w ) { \ n \ n \ t \ tthis . w = w ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsetComponent ( index , value ) { \ n \ n \ t \ tswitch ( index ) { \ n \ n \ t \ t \ tcase 0 : this . x = value ; break ; \ n \ t \ t \ tcase 1 : this . y = value ; break ; \ n \ t \ t \ tcase 2 : this . z = value ; break ; \ n \ t \ t \ tcase 3 : this . w = value ; break ; \ n \ t \ t \ tdefault : throw new Error ( 'index is out of range: ' + index ) ; \ n \ n \ t \ t } \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tgetComponent ( index ) { \ n \ n \ t \ tswitch ( index ) { \ n \ n \ t \ t \ tcase 0 : return this . x ; \ n \ t \ t \ tcase 1 : return this . y ; \ n \ t \ t \ tcase 2 : return this . z ; \ n \ t \ t \ tcase 3 : return this . w ; \ n \ t \ t \ tdefault : throw new Error ( 'index is out of range: ' + index ) ; \ n \ n \ t \ t } \ n \ n \ t } \ n \ n \ tclone ( ) { \ n \ n \ t \ treturn new this . constructor ( this . x , this . y , this . z , this . w ) ; \ n \ n \ t } \ n \ n \ tcopy ( v ) { \ n \ n \ t \ tthis . x = v . x ; \ n \ t \ tthis . y = v . y ; \ n \ t \ tthis . z = v . z ; \ n \ t \ tthis . w = ( v . w !== undefined ) ? v . w : 1 ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tadd ( v , w ) { \ n \ n \ t \ tif ( w !== undefined ) { \ n \ n \ t \ t \ tconsole . warn ( 'THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead.' ) ; \ n \ t \ t \ treturn this . addVectors ( v , w ) ; \ n \ n \ t \ t } \ n \ n \ t \ tthis . x += v . x ; \ n \ t \ tthis . y += v . y ; \ n \ t \ tthis . z += v . z ; \ n \ t \ tthis . w += v . w ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ taddScalar ( s ) { \ n \ n \ t \ tthis . x += s ; \ n \ t \ tthis . y += s ; \ n \ t \ tthis . z += s ; \ n \ t \ tthis . w += s ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ taddVectors ( a , b ) { \ n \ n \ t \ tthis . x = a . x + b . x ; \ n \ t \ tthis . y = a . y + b . y ; \ n \ t \ tthis . z = a . z + b . z ; \ n \ t \ tthis . w = a . w + b . w ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ taddScaledVector ( v , s ) { \ n \ n \ t \ tthis . x += v . x * s ; \ n \ t \ tthis . y += v . y * s ; \ n \ t \ tthis . z += v . z * s ; \ n \ t \ tthis . w += v . w * s ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsub ( v , w ) { \ n \ n \ t \ tif ( w !== undefined ) { \ n \ n \ t \ t \ tconsole . warn ( 'THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.' ) ; \ n \ t \ t \ treturn this . subVectors ( v , w ) ; \ n \ n \ t \ t } \ n \ n \ t \ tthis . x -= v . x ; \ n \ t \ tthis . y -= v . y ; \ n \ t \ tthis . z -= v . z ; \ n \ t \ tthis . w -= v . w ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsubScalar ( s ) { \ n \ n \ t \ tthis . x -= s ; \ n \ t \ tthis . y -= s ; \ n \ t \ tthis . z -= s ; \ n \ t \ tthis . w -= s ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tsubVectors ( a , b ) { \ n \ n \ t \ tthis . x = a . x - b . x ; \ n \ t \ tthis . y = a . y - b . y ; \ n \ t \ tthis . z = a . z - b . z ; \ n \ t \ tthis . w = a . w - b . w ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tmultiply ( v ) { \ n \ n \ t \ tthis . x *= v . x ; \ n \ t \ tthis . y *= v . y ; \ n \ t \ tthis . z *= v . z ; \ n \ t \ tthis . w *= v . w ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tmultiplyScalar ( scalar ) { \ n \ n \ t \ tthis . x *= scalar ; \ n \ t \ tthis . y *= scalar ; \ n \ t \ tthis . z *= scalar ; \ n \ t \ tthis . w *= scalar ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tapplyMatrix4 ( m ) { \ n \ n \ t \ tconst x = this . x , y = this . y , z = this . z , w = this . w ; \ n \ t \ tconst e = m . elements ; \ n \ n \ t \ tthis . x = e [ 0 ] * x + e [ 4 ] * y + e [ 8 ] * z + e [ 12 ] * w ; \ n \ t \ tthis . y = e [ 1 ] * x + e [ 5 ] * y + e [ 9 ] * z + e [ 13 ] * w ; \ n \ t \ tthis . z = e [ 2 ] * x + e [ 6 ] * y + e [ 10 ] * z + e [ 14 ] * w ; \ n \ t \ tthis . w = e [ 3 ] * x + e [ 7 ] * y + e [ 11 ] * z + e [ 15 ] * w ; \ n \ n \ t \ treturn this ; \ n \ n \ t } \ n \ n \ tdivideScalar ( scalar ) { \ n \ n \ t \ treturn this . multiplyScalar ( 1 / scalar ) ; \ n \ n \ t } \ n \ n \ tsetAxisAngleFromQuaternion ( q ) { \ n \ n \ t \ t // http:
/***/ } ) ,
/***/ "./node_modules/three/src/objects/Group.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / objects / Group . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Group\": () => (/* binding */ Group)\n/* harmony export */ });\n/* harmony import */ var _core_Object3D_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/Object3D.js */ \"./node_modules/three/src/core/Object3D.js\");\n\n\nclass Group extends _core_Object3D_js__WEBPACK_IMPORTED_MODULE_0__.Object3D {\n\n\tconstructor() {\n\n\t\tsuper();\n\n\t\tthis.type = 'Group';\n\n\t}\n\n}\n\nGroup.prototype.isGroup = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/objects/Group.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/objects/Line.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / objects / Line . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Line\": () => (/* binding */ Line)\n/* harmony export */ });\n/* harmony import */ var _math_Sphere_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../math/Sphere.js */ \"./node_modules/three/src/math/Sphere.js\");\n/* harmony import */ var _math_Ray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../math/Ray.js */ \"./node_modules/three/src/math/Ray.js\");\n/* harmony import */ var _math_Matrix4_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math/Matrix4.js */ \"./node_modules/three/src/math/Matrix4.js\");\n/* harmony import */ var _core_Object3D_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../core/Object3D.js */ \"./node_modules/three/src/core/Object3D.js\");\n/* harmony import */ var _math_Vector3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math/Vector3.js */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _materials_LineBasicMaterial_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../materials/LineBasicMaterial.js */ \"./node_modules/three/src/materials/LineBasicMaterial.js\");\n/* harmony import */ var _core_BufferGeometry_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/BufferGeometry.js */ \"./node_modules/three/src/core/BufferGeometry.js\");\n/* harmony import */ var _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../core/BufferAttribute.js */ \"./node_modules/three/src/core/BufferAttribute.js\" ) ; \ n \ n \ n \ n \ n \ n \ n \ n \ n \ nconst _start = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _end = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) ; \ nconst _inverseMatrix = new _math _Matrix4 _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Matrix4 ( ) ; \ nconst _ray = new _math _Ray _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Ray ( ) ; \ nconst _sphere = new _math _Sphere _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Sphere ( ) ; \ n \ nfunction Line ( geometry = new _core _BufferGeometry _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ . BufferGeometry ( ) , material = new _materials _LineBasicMaterial _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ . LineBasicMaterial ( ) ) { \ n \ n \ t _core _Object3D _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ . Object3D . call ( this ) ; \ n \ n \ tthis . type = 'Line' ; \ n \ n \ tthis . geometry = geometry ; \ n \ tthis . material = material ; \ n \ n \ tthis . updateMorphTargets ( ) ; \ n \ n } \ n \ nLine . prototype = Object . assign ( Object . create ( _core _Object3D _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ . Object3D . prototype ) , { \ n \ n \ tconstructor : Line , \ n \ n \ tisLine : true , \ n \ n \ tcopy : function ( source ) { \ n \ n \ t \ t _core _Object3D _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ . Object3D . prototype . copy . call ( this , source ) ; \ n \ n \ t \ tthis . material = source . material ; \ n \ t \ tthis . geometry = source . geometry ; \ n \ n \ t \ treturn this ; \ n \ n \ t } , \ n \ n \ tcomputeLineDistances : function ( ) { \ n \ n \ t \ tconst geometry = this . geometry ; \ n \ n \ t \ tif ( geometry . isBufferGeometry ) { \ n \ n \ t \ t \ t // we assume non-indexed geometry\n\n\t\t\tif ( geometry.index === null ) {\n\n\t\t\t\tconst positionAttribute = geometry.attributes.position;\n\t\t\t\tconst lineDistances = [ 0 ];\n\n\t\t\t\tfor ( let i = 1, l = positionAttribute.count; i < l; i ++ ) {\n\n\t\t\t\t\t_start.fromBufferAttribute( positionAttribute, i - 1 );\n\t\t\t\t\t_end.fromBufferAttribute( positionAttribute, i );\n\n\t\t\t\t\tlineDistances[ i ] = lineDistances[ i - 1 ];\n\t\t\t\t\tlineDistances[ i ] += _start.distanceTo( _end );\n\n\t\t\t\t}\n\n\t\t\t\tgeometry.setAttribute( 'lineDistance', new _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_7__.Float32BufferAttribute( lineDistances, 1 ) );\n\n\t\t\t} else {\n\n\t\t\t\tconsole.warn( 'THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.' );\n\n\t\t\t}\n\n\t\t} else if ( geometry.isGeometry ) {\n\n\t\t\tconsole.error( 'THREE.Line.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.' );\n\n\t\t}\n\n\t\treturn this;\n\n\t},\n\n\traycast: function ( raycaster, intersects ) {\n\n\t\tconst geometry = this.geometry;\n\t\tconst matrixWor
/***/ } ) ,
/***/ "./node_modules/three/src/objects/LineSegments.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / objects / LineSegments . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"LineSegments\": () => (/* binding */ LineSegments)\n/* harmony export */ });\n/* harmony import */ var _Line_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Line.js */ \"./node_modules/three/src/objects/Line.js\");\n/* harmony import */ var _math_Vector3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math/Vector3.js */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/BufferAttribute.js */ \"./node_modules/three/src/core/BufferAttribute.js\");\n\n\n\n\nconst _start = new _math_Vector3_js__WEBPACK_IMPORTED_MODULE_0__.Vector3();\nconst _end = new _math_Vector3_js__WEBPACK_IMPORTED_MODULE_0__.Vector3();\n\nfunction LineSegments( geometry, material ) {\n\n\t_Line_js__WEBPACK_IMPORTED_MODULE_1__.Line.call( this, geometry, material );\n\n\tthis.type = 'LineSegments';\n\n}\n\nLineSegments.prototype = Object.assign( Object.create( _Line_js__WEBPACK_IMPORTED_MODULE_1__.Line.prototype ), {\n\n\tconstructor: LineSegments,\n\n\tisLineSegments: true,\n\n\tcomputeLineDistances: function () {\n\n\t\tconst geometry = this.geometry;\n\n\t\tif ( geometry.isBufferGeometry ) {\n\n\t\t\t// we assume non-indexed geometry\n\n\t\t\tif ( geometry.index === null ) {\n\n\t\t\t\tconst positionAttribute = geometry.attributes.position;\n\t\t\t\tconst lineDistances = [];\n\n\t\t\t\tfor ( let i = 0, l = positionAttribute.count; i < l; i += 2 ) {\n\n\t\t\t\t\t_start.fromBufferAttribute( positionAttribute, i );\n\t\t\t\t\t_end.fromBufferAttribute( positionAttribute, i + 1 );\n\n\t\t\t\t\tlineDistances[ i ] = ( i === 0 ) ? 0 : lineDistances[ i - 1 ];\n\t\t\t\t\tlineDistances[ i + 1 ] = lineDistances[ i ] + _start.distanceTo( _end );\n\n\t\t\t\t}\n\n\t\t\t\tgeometry.setAttribute( 'lineDistance', new _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_2__.Float32BufferAttribute( lineDistances, 1 ) );\n\n\t\t\t} else {\n\n\t\t\t\tconsole.warn( 'THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.' );\n\n\t\t\t}\n\n\t\t} else if ( geometry.isGeometry ) {\n\n\t\t\tconsole.error( 'THREE.LineSegments.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.' );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n} );\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/objects/LineSegments.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/objects/Mesh.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / objects / Mesh . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Mesh\": () => (/* binding */ Mesh)\n/* harmony export */ });\n/* harmony import */ var _math_Vector3_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../math/Vector3.js */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _math_Vector2_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../math/Vector2.js */ \"./node_modules/three/src/math/Vector2.js\");\n/* harmony import */ var _math_Sphere_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../math/Sphere.js */ \"./node_modules/three/src/math/Sphere.js\");\n/* harmony import */ var _math_Ray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math/Ray.js */ \"./node_modules/three/src/math/Ray.js\");\n/* harmony import */ var _math_Matrix4_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math/Matrix4.js */ \"./node_modules/three/src/math/Matrix4.js\");\n/* harmony import */ var _core_Object3D_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../core/Object3D.js */ \"./node_modules/three/src/core/Object3D.js\");\n/* harmony import */ var _math_Triangle_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../math/Triangle.js */ \"./node_modules/three/src/math/Triangle.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../constants.js */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _materials_MeshBasicMaterial_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../materials/MeshBasicMaterial.js */ \"./node_modules/three/src/materials/MeshBasicMaterial.js\");\n/* harmony import */ var _core_BufferGeometry_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../core/BufferGeometry.js */ \"./node_modules/three/src/core/BufferGeometry.js\" ) ; \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ nconst _inverseMatrix = new _math _Matrix4 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Matrix4 ( ) ; \ nconst _ray = new _math _Ray _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Ray ( ) ; \ nconst _sphere = new _math _Sphere _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Sphere ( ) ; \ n \ nconst _vA = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Vector3 ( ) ; \ nconst _vB = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Vector3 ( ) ; \ nconst _vC = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Vector3 ( ) ; \ n \ nconst _tempA = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Vector3 ( ) ; \ nconst _tempB = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Vector3 ( ) ; \ nconst _tempC = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Vector3 ( ) ; \ n \ nconst _morphA = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Vector3 ( ) ; \ nconst _morphB = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Vector3 ( ) ; \ nconst _morphC = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Vector3 ( ) ; \ n \ nconst _uvA = new _math _Vector2 _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ . Vector2 ( ) ; \ nconst _uvB = new _math _Vector2 _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ . Vector2 ( ) ; \ nconst _uvC = new _math _Vector2 _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ . Vector2 ( ) ; \ n \ nconst _intersectionPoint = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Vector3 ( ) ; \ nconst _intersectionPointWorld = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Vector3 ( ) ; \ n \ nfunction Mesh ( geometry = new _core _BufferGeometry _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ . BufferGeometry ( ) , material = new _materials _MeshBasicMaterial _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ . MeshBasicMaterial ( ) ) { \ n \ n \ t _core _Object3D _js _ _WEBPACK _IMPORTED _MODULE _7 _ _ . Object3D . call ( this ) ; \ n \ n \ tthis . type = 'Mesh' ; \ n \ n \ tthis . geometry = geometry ; \ n \ tthis . material = material ; \ n \ n \ tthis . updateMorphTargets ( ) ; \ n \ n } \ n \ nMesh . prototype = Object . assign ( Object . create ( _core _Object3D _js _ _WEBPACK _IMPORTED _MODULE _7 _ _ . Object3D . prototype ) , { \ n \ n \ tconstructor : Mesh , \ n \ n \ tisMesh : true , \ n \ n \ tcopy : function ( source ) { \ n \ n \ t \ t _core _Object3D _js _ _WEBPACK _IMPORTED _MODULE _7 _ _ . Object3D . prototype . copy . call ( this , source ) ; \ n \ n \ t \ tif ( source . morphTargetInfluences !== undefined ) { \ n \ n \ t \ t \ tthis . morphTargetInfluences = source . morphTargetInflu
/***/ } ) ,
/***/ "./node_modules/three/src/objects/Points.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / objects / Points . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Points\": () => (/* binding */ Points)\n/* harmony export */ });\n/* harmony import */ var _math_Sphere_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../math/Sphere.js */ \"./node_modules/three/src/math/Sphere.js\");\n/* harmony import */ var _math_Ray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math/Ray.js */ \"./node_modules/three/src/math/Ray.js\");\n/* harmony import */ var _math_Matrix4_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../math/Matrix4.js */ \"./node_modules/three/src/math/Matrix4.js\");\n/* harmony import */ var _core_Object3D_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../core/Object3D.js */ \"./node_modules/three/src/core/Object3D.js\");\n/* harmony import */ var _math_Vector3_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../math/Vector3.js */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _materials_PointsMaterial_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../materials/PointsMaterial.js */ \"./node_modules/three/src/materials/PointsMaterial.js\");\n/* harmony import */ var _core_BufferGeometry_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/BufferGeometry.js */ \"./node_modules/three/src/core/BufferGeometry.js\" ) ; \ n \ n \ n \ n \ n \ n \ n \ n \ nconst _inverseMatrix = new _math _Matrix4 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Matrix4 ( ) ; \ nconst _ray = new _math _Ray _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Ray ( ) ; \ nconst _sphere = new _math _Sphere _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Sphere ( ) ; \ nconst _position = new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Vector3 ( ) ; \ n \ nfunction Points ( geometry = new _core _BufferGeometry _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ . BufferGeometry ( ) , material = new _materials _PointsMaterial _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ . PointsMaterial ( ) ) { \ n \ n \ t _core _Object3D _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ . Object3D . call ( this ) ; \ n \ n \ tthis . type = 'Points' ; \ n \ n \ tthis . geometry = geometry ; \ n \ tthis . material = material ; \ n \ n \ tthis . updateMorphTargets ( ) ; \ n \ n } \ n \ nPoints . prototype = Object . assign ( Object . create ( _core _Object3D _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ . Object3D . prototype ) , { \ n \ n \ tconstructor : Points , \ n \ n \ tisPoints : true , \ n \ n \ tcopy : function ( source ) { \ n \ n \ t \ t _core _Object3D _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ . Object3D . prototype . copy . call ( this , source ) ; \ n \ n \ t \ tthis . material = source . material ; \ n \ t \ tthis . geometry = source . geometry ; \ n \ n \ t \ treturn this ; \ n \ n \ t } , \ n \ n \ traycast : function ( raycaster , intersects ) { \ n \ n \ t \ tconst geometry = this . geometry ; \ n \ t \ tconst matrixWorld = this . matrixWorld ; \ n \ t \ tconst threshold = raycaster . params . Points . threshold ; \ n \ n \ t \ t // Checking boundingSphere distance to ray\n\n\t\tif ( geometry.boundingSphere === null ) geometry.computeBoundingSphere();\n\n\t\t_sphere.copy( geometry.boundingSphere );\n\t\t_sphere.applyMatrix4( matrixWorld );\n\t\t_sphere.radius += threshold;\n\n\t\tif ( raycaster.ray.intersectsSphere( _sphere ) === false ) return;\n\n\t\t//\n\n\t\t_inverseMatrix.copy( matrixWorld ).invert();\n\t\t_ray.copy( raycaster.ray ).applyMatrix4( _inverseMatrix );\n\n\t\tconst localThreshold = threshold / ( ( this.scale.x + this.scale.y + this.scale.z ) / 3 );\n\t\tconst localThresholdSq = localThreshold * localThreshold;\n\n\t\tif ( geometry.isBufferGeometry ) {\n\n\t\t\tconst index = geometry.index;\n\t\t\tconst attributes = geometry.attributes;\n\t\t\tconst positionAttribute = attributes.position;\n\n\t\t\tif ( index !== null ) {\n\n\t\t\t\tconst indices = index.array;\n\n\t\t\t\tfor ( let i = 0, il = indices.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst a = indices[ i ];\n\n\t\t\t\t\t_position.fromBufferAttribute( positionAttribute, a );\n\n\t\t\t\t\ttestPoint( _position, a, localThresholdSq, matrixWorld, raycaster, intersects, this );\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tfor ( let i = 0, l = positionAttribute.count; i < l; i ++ ) {\n\n\t\t\t\t\t_position.fromBufferAttribute( positionAttribute, i );\n\n\t\t\t\t\ttestPoint( _position, i
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/WebGLCubeRenderTarget.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / WebGLCubeRenderTarget . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLCubeRenderTarget\": () => (/* binding */ WebGLCubeRenderTarget)\n/* harmony export */ });\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants.js */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _objects_Mesh_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../objects/Mesh.js */ \"./node_modules/three/src/objects/Mesh.js\");\n/* harmony import */ var _geometries_BoxGeometry_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../geometries/BoxGeometry.js */ \"./node_modules/three/src/geometries/BoxGeometry.js\");\n/* harmony import */ var _materials_ShaderMaterial_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../materials/ShaderMaterial.js */ \"./node_modules/three/src/materials/ShaderMaterial.js\");\n/* harmony import */ var _shaders_UniformsUtils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./shaders/UniformsUtils.js */ \"./node_modules/three/src/renderers/shaders/UniformsUtils.js\");\n/* harmony import */ var _WebGLRenderTarget_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./WebGLRenderTarget.js */ \"./node_modules/three/src/renderers/WebGLRenderTarget.js\");\n/* harmony import */ var _cameras_CubeCamera_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../cameras/CubeCamera.js */ \"./node_modules/three/src/cameras/CubeCamera.js\");\n/* harmony import */ var _textures_CubeTexture_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../textures/CubeTexture.js */ \"./node_modules/three/src/textures/CubeTexture.js\" ) ; \ n \ n \ n \ n \ n \ n \ n \ n \ n \ nclass WebGLCubeRenderTarget extends _WebGLRenderTarget _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . WebGLRenderTarget { \ n \ n \ tconstructor ( size , options , dummy ) { \ n \ n \ t \ tif ( Number . isInteger ( options ) ) { \ n \ n \ t \ t \ tconsole . warn ( 'THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )' ) ; \ n \ n \ t \ t \ toptions = dummy ; \ n \ n \ t \ t } \ n \ n \ t \ tsuper ( size , size , options ) ; \ n \ n \ t \ toptions = options || { } ; \ n \ n \ t \ tthis . texture = new _textures _CubeTexture _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . CubeTexture ( undefined , options . mapping , options . wrapS , options . wrapT , options . magFilter , options . minFilter , options . format , options . type , options . anisotropy , options . encoding ) ; \ n \ n \ t \ tthis . texture . generateMipmaps = options . generateMipmaps !== undefined ? options . generateMipmaps : false ; \ n \ t \ tthis . texture . minFilter = options . minFilter !== undefined ? options . minFilter : _constants _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . LinearFilter ; \ n \ n \ t \ tthis . texture . _needsFlipEnvMap = false ; \ n \ n \ t } \ n \ n \ tfromEquirectangularTexture ( renderer , texture ) { \ n \ n \ t \ tthis . texture . type = texture . type ; \ n \ t \ tthis . texture . format = _constants _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . RGBAFormat ; // see #18859\n\t\tthis.texture.encoding = texture.encoding;\n\n\t\tthis.texture.generateMipmaps = texture.generateMipmaps;\n\t\tthis.texture.minFilter = texture.minFilter;\n\t\tthis.texture.magFilter = texture.magFilter;\n\n\t\tconst shader = {\n\n\t\t\tuniforms: {\n\t\t\t\ttEquirect: { value: null },\n\t\t\t},\n\n\t\t\tvertexShader: /* glsl */`\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include <begin_vertex>\n\t\t\t\t\t#include <project_vertex>\n\n\t\t\t\t}\n\t\t\t`,\n\n\t\t\tfragmentShader: /* glsl */`\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include <common>\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t`\n\t\t};\n\n\t\tconst geometry = new _geometries_BoxGeometry_js__WEBPACK
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/WebGLRenderTarget.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / WebGLRenderTarget . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLRenderTarget\": () => (/* binding */ WebGLRenderTarget)\n/* harmony export */ });\n/* harmony import */ var _core_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/EventDispatcher.js */ \"./node_modules/three/src/core/EventDispatcher.js\");\n/* harmony import */ var _textures_Texture_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../textures/Texture.js */ \"./node_modules/three/src/textures/Texture.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../constants.js */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _math_Vector4_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math/Vector4.js */ \"./node_modules/three/src/math/Vector4.js\");\n\n\n\n\n\n/*\n In options, we can specify:\n * Texture parameters for an auto-generated target texture\n * depthBuffer/stencilBuffer: Booleans to indicate if we should generate these buffers\n*/\nclass WebGLRenderTarget extends _core_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher {\n\n\tconstructor( width, height, options ) {\n\n\t\tsuper();\n\n\t\tthis.width = width;\n\t\tthis.height = height;\n\t\tthis.depth = 1;\n\n\t\tthis.scissor = new _math_Vector4_js__WEBPACK_IMPORTED_MODULE_1__.Vector4( 0, 0, width, height );\n\t\tthis.scissorTest = false;\n\n\t\tthis.viewport = new _math_Vector4_js__WEBPACK_IMPORTED_MODULE_1__.Vector4( 0, 0, width, height );\n\n\t\toptions = options || {};\n\n\t\tthis.texture = new _textures_Texture_js__WEBPACK_IMPORTED_MODULE_2__.Texture( undefined, options.mapping, options.wrapS, options.wrapT, options.magFilter, options.minFilter, options.format, options.type, options.anisotropy, options.encoding );\n\n\t\tthis.texture.image = {};\n\t\tthis.texture.image.width = width;\n\t\tthis.texture.image.height = height;\n\t\tthis.texture.image.depth = 1;\n\n\t\tthis.texture.generateMipmaps = options.generateMipmaps !== undefined ? options.generateMipmaps : false;\n\t\tthis.texture.minFilter = options.minFilter !== undefined ? options.minFilter : _constants_js__WEBPACK_IMPORTED_MODULE_3__.LinearFilter;\n\n\t\tthis.depthBuffer = options.depthBuffer !== undefined ? options.depthBuffer : true;\n\t\tthis.stencilBuffer = options.stencilBuffer !== undefined ? options.stencilBuffer : false;\n\t\tthis.depthTexture = options.depthTexture !== undefined ? options.depthTexture : null;\n\n\t}\n\n\tsetTexture( texture ) {\n\n\t\ttexture.image = {\n\t\t\twidth: this.width,\n\t\t\theight: this.height,\n\t\t\tdepth: this.depth\n\t\t};\n\n\t\tthis.texture = texture;\n\n\t}\n\n\tsetSize( width, height, depth = 1 ) {\n\n\t\tif ( this.width !== width || this.height !== height || this.depth !== depth ) {\n\n\t\t\tthis.width = width;\n\t\t\tthis.height = height;\n\t\t\tthis.depth = depth;\n\n\t\t\tthis.texture.image.width = width;\n\t\t\tthis.texture.image.height = height;\n\t\t\tthis.texture.image.depth = depth;\n\n\t\t\tthis.dispose();\n\n\t\t}\n\n\t\tthis.viewport.set( 0, 0, width, height );\n\t\tthis.scissor.set( 0, 0, width, height );\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tthis.width = source.width;\n\t\tthis.height = source.height;\n\t\tthis.depth = source.depth;\n\n\t\tthis.viewport.copy( source.viewport );\n\n\t\tthis.texture = source.texture.clone();\n\n\t\tthis.depthBuffer = source.depthBuffer;\n\t\tthis.stencilBuffer = source.stencilBuffer;\n\t\tthis.depthTexture = source.depthTexture;\n\n\t\treturn this;\n\n\t}\n\n\tdispose() {\n\n\t\tthis.dispatchEvent( { type: 'dispose' } );\n\n\t}\n\n}\n\nWebGLRenderTarget.prototype.isWebGLRenderTarget = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/WebGLRenderTarget.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/WebGLRenderer.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / WebGLRenderer . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLRenderer\": () => (/* binding */ WebGLRenderer)\n/* harmony export */ });\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants.js */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _math_MathUtils_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../math/MathUtils.js */ \"./node_modules/three/src/math/MathUtils.js\");\n/* harmony import */ var _textures_DataTexture_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../textures/DataTexture.js */ \"./node_modules/three/src/textures/DataTexture.js\");\n/* harmony import */ var _math_Frustum_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../math/Frustum.js */ \"./node_modules/three/src/math/Frustum.js\");\n/* harmony import */ var _math_Matrix4_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../math/Matrix4.js */ \"./node_modules/three/src/math/Matrix4.js\");\n/* harmony import */ var _math_Vector2_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../math/Vector2.js */ \"./node_modules/three/src/math/Vector2.js\");\n/* harmony import */ var _math_Vector3_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../math/Vector3.js */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _math_Vector4_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../math/Vector4.js */ \"./node_modules/three/src/math/Vector4.js\");\n/* harmony import */ var _math_Color_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../math/Color.js */ \"./node_modules/three/src/math/Color.js\");\n/* harmony import */ var _webgl_WebGLAnimation_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./webgl/WebGLAnimation.js */ \"./node_modules/three/src/renderers/webgl/WebGLAnimation.js\");\n/* harmony import */ var _webgl_WebGLAttributes_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./webgl/WebGLAttributes.js */ \"./node_modules/three/src/renderers/webgl/WebGLAttributes.js\");\n/* harmony import */ var _webgl_WebGLBackground_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./webgl/WebGLBackground.js */ \"./node_modules/three/src/renderers/webgl/WebGLBackground.js\");\n/* harmony import */ var _webgl_WebGLBindingStates_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./webgl/WebGLBindingStates.js */ \"./node_modules/three/src/renderers/webgl/WebGLBindingStates.js\");\n/* harmony import */ var _webgl_WebGLBufferRenderer_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./webgl/WebGLBufferRenderer.js */ \"./node_modules/three/src/renderers/webgl/WebGLBufferRenderer.js\");\n/* harmony import */ var _webgl_WebGLCapabilities_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./webgl/WebGLCapabilities.js */ \"./node_modules/three/src/renderers/webgl/WebGLCapabilities.js\");\n/* harmony import */ var _webgl_WebGLClipping_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./webgl/WebGLClipping.js */ \"./node_modules/three/src/renderers/webgl/WebGLClipping.js\");\n/* harmony import */ var _webgl_WebGLCubeMaps_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./webgl/WebGLCubeMaps.js */ \"./node_modules/three/src/renderers/webgl/WebGLCubeMaps.js\");\n/* harmony import */ var _webgl_WebGLExtensions_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./webgl/WebGLExtensions.js */ \"./node_modules/three/src/renderers/webgl/WebGLExtensions.js\");\n/* harmony import */ var _webgl_WebGLGeometries_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./webgl/WebGLGeometries.js */ \"./node_modules/three/src/renderers/webgl/WebGLGeometries.js\");\n/* harmony import */ var _webgl_WebGLIndexedBufferRenderer_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./webgl/WebGLIndexedBufferRenderer.js */ \"./node_modules/three/src/renderers/webgl/WebGLIndexedBufferRenderer.js\" ) ; \ n /* harmony import */ var _webgl _WebGLInfo _js _ _WEBPACK _IMPORTED _
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ShaderChunk\": () => (/* binding */ ShaderChunk)\n/* harmony export */ });\n/* harmony import */ var _ShaderChunk_alphamap_fragment_glsl_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ShaderChunk/alphamap_fragment.glsl.js */ \"./node_modules/three/src/renderers/shaders/ShaderChunk/alphamap_fragment.glsl.js\");\n/* harmony import */ var _ShaderChunk_alphamap_pars_fragment_glsl_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ShaderChunk/alphamap_pars_fragment.glsl.js */ \"./node_modules/three/src/renderers/shaders/ShaderChunk/alphamap_pars_fragment.glsl.js\");\n/* harmony import */ var _ShaderChunk_alphatest_fragment_glsl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ShaderChunk/alphatest_fragment.glsl.js */ \"./node_modules/three/src/renderers/shaders/ShaderChunk/alphatest_fragment.glsl.js\");\n/* harmony import */ var _ShaderChunk_aomap_fragment_glsl_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ShaderChunk/aomap_fragment.glsl.js */ \"./node_modules/three/src/renderers/shaders/ShaderChunk/aomap_fragment.glsl.js\");\n/* harmony import */ var _ShaderChunk_aomap_pars_fragment_glsl_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ShaderChunk/aomap_pars_fragment.glsl.js */ \"./node_modules/three/src/renderers/shaders/ShaderChunk/aomap_pars_fragment.glsl.js\");\n/* harmony import */ var _ShaderChunk_begin_vertex_glsl_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ShaderChunk/begin_vertex.glsl.js */ \"./node_modules/three/src/renderers/shaders/ShaderChunk/begin_vertex.glsl.js\");\n/* harmony import */ var _ShaderChunk_beginnormal_vertex_glsl_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ShaderChunk/beginnormal_vertex.glsl.js */ \"./node_modules/three/src/renderers/shaders/ShaderChunk/beginnormal_vertex.glsl.js\");\n/* harmony import */ var _ShaderChunk_bsdfs_glsl_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ShaderChunk/bsdfs.glsl.js */ \"./node_modules/three/src/renderers/shaders/ShaderChunk/bsdfs.glsl.js\");\n/* harmony import */ var _ShaderChunk_bumpmap_pars_fragment_glsl_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./ShaderChunk/bumpmap_pars_fragment.glsl.js */ \"./node_modules/three/src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl.js\");\n/* harmony import */ var _ShaderChunk_clipping_planes_fragment_glsl_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ShaderChunk/clipping_planes_fragment.glsl.js */ \"./node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_fragment.glsl.js\");\n/* harmony import */ var _ShaderChunk_clipping_planes_pars_fragment_glsl_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./ShaderChunk/clipping_planes_pars_fragment.glsl.js */ \"./node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_pars_fragment.glsl.js\");\n/* harmony import */ var _ShaderChunk_clipping_planes_pars_vertex_glsl_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ShaderChunk/clipping_planes_pars_vertex.glsl.js */ \"./node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_pars_vertex.glsl.js\");\n/* harmony import */ var _ShaderChunk_clipping_planes_vertex_glsl_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ShaderChunk/clipping_planes_vertex.glsl.js */ \"./node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_vertex.glsl.js\");\n/* harmony import */ var _ShaderChunk_color_fragment_glsl_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./ShaderChunk/color_fragment.glsl.js */ \"./node_modules/three/src/renderers/shaders/ShaderChunk/color_fragment.glsl.js\");\n/* harmony import */ var _ShaderChunk_color_pars_fragment_glsl_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./ShaderChunk/color_pars_fragment.glsl.js */ \"./node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_fragment.glsl.js\" ) ; \ n /* harmony import */ var _ShaderChunk _color
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/alphamap_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / alphamap _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_ALPHAMAP\n\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/alphamap_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/alphamap_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / alphamap _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_ALPHAMAP\n\n\tuniform sampler2D alphaMap;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/alphamap_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/alphatest_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / alphatest _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef ALPHATEST\n\n\tif ( diffuseColor.a < ALPHATEST ) discard;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/alphatest_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/aomap_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / aomap _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_AOMAP\n\n\t// reads channel R, compatible with a combined OcclusionRoughnessMetallic (RGB) texture\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\n\t#if defined( USE_ENVMAP ) && defined( STANDARD )\n\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );\n\n\t#endif\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/aomap_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/aomap_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / aomap _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_AOMAP\n\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/aomap_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/begin_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / begin _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nvec3 transformed = vec3( position );\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/begin_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/beginnormal_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / beginnormal _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nvec3 objectNormal = vec3( normal );\n\n#ifdef USE_TANGENT\n\n\tvec3 objectTangent = vec3( tangent.xyz );\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/beginnormal_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/bsdfs.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / bsdfs . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n\n// Analytical approximation of the DFG LUT, one half of the\n// split-sum approximation used in indirect specular lighting.\n// via 'environmentBRDF' from \"Physically Based Shading on Mobile\"\n// https://www.unrealengine.com/blog/physically-based-shading-on-mobile - environmentBRDF for GGX on mobile\nvec2 integrateSpecularBRDF( const in float dotNV, const in float roughness ) {\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\n\tvec4 r = roughness * c0 + c1;\n\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\n\treturn vec2( -1.04, 1.04 ) * a004 + r.zw;\n\n}\n\nfloat punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\n\t// based upon Frostbite 3 Moving to Physically-based Rendering\n\t// page 32, equation 26: E[window1]\n\t// https://seblagarde.files.wordpress.com/2015/07/course_notes_moving_frostbite_to_pbr_v32.pdf\n\t// this is intended to be used on spot and point lights who are represented as luminous intensity\n\t// but who must be converted to luminous irradiance for surface lighting calculation\n\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\n\tif( cutoffDistance > 0.0 ) {\n\n\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\n\t}\n\n\treturn distanceFalloff;\n\n#else\n\n\tif( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\n\t}\n\n\treturn 1.0;\n\n#endif\n\n}\n\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\n\treturn RECIPROCAL_PI * diffuseColor;\n\n} // validated\n\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\n\n\t// Original approximation by Christophe Schlick '94\n\t// float fresnel = pow( 1.0 - dotLH, 5.0 );\n\n\t// Optimized variant (presented by Epic at SIGGRAPH '13)\n\t// https://cdn2.unrealengine.com/Resources/files/2013SiggraphPresentationsNotes-26915738.pdf\n\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\n\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n\n} // validated\n\nvec3 F_Schlick_RoughnessDependent( const in vec3 F0, const in float dotNV, const in float roughness ) {\n\n\t// See F_Schlick\n\tfloat fresnel = exp2( ( -5.55473 * dotNV - 6.98316 ) * dotNV );\n\tvec3 Fr = max( vec3( 1.0 - roughness ), F0 ) - F0;\n\n\treturn Fr * fresnel + F0;\n\n}\n\n\n// Microfacet Models for Refraction through Rough Surfaces - equation (34)\n// http://graphicrants.blogspot.com/2013/08/specular-brdf-reference.html\n// alpha is \"roughness squared\" in Disney ’ s reparameterization \ nfloat G _GGX _Smith ( const in float alpha , const in float dotNL , const in float dotNV ) { \ n \ n \ t // geometry term (normalized) = G(l)⋅G(v) / 4(n⋅l)(n⋅v)\n\t// also see #12151\n\n\tfloat a2 = pow2( alpha );\n\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\n\treturn 1.0 / ( gl * gv );\n\n} // validated\n\n// Moving Frostbite to Physically Based Rendering 3.0 - page 12, listing 2\n// https://seblagarde.files.wordpress.com/2015/07/course_notes_moving_frostbite_to_pbr_v32.pdf\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\n\tfloat a2 = pow2( alpha );\n\n\t// dotNL and dotNV are explicitly swapped. This is not a mistake.\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\n\treturn 0.5 / max( gv + gl, EPSILON );\n\n}\n\n// Microfacet Models for Refraction through Rough Surfaces - equat
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / bumpmap _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_BUMPMAP\n\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\n\t// Bump Mapping Unparametrized Surfaces on the GPU by Morten S. Mikkelsen\n\t// http://api.unrealengine.com/attachments/Engine/Rendering/LightingAndShadows/BumpMappingWithoutTangentSpace/mm_sfgrad_bump.pdf\n\n\t// Evaluate the derivative of the height w.r.t. screen-space using forward differencing (listing 2)\n\n\tvec2 dHdxy_fwd() {\n\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\n\t\treturn vec2( dBx, dBy );\n\n\t}\n\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\n\t\t// Workaround for Adreno 3XX dFd*( vec3 ) bug. See #9988\n\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\t\t// normalized\n\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\n\t}\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_normal_fragment_begin.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / clearcoat _normal _fragment _begin . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef CLEARCOAT\n\n\tvec3 clearcoatNormal = geometryNormal;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_normal_fragment_begin.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_normal_fragment_maps.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / clearcoat _normal _fragment _maps . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_CLEARCOAT_NORMALMAP\n\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\n\t#ifdef USE_TANGENT\n\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\n\t#else\n\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\n\n\t#endif\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_normal_fragment_maps.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / clearcoat _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n\n#ifdef USE_CLEARCOATMAP\n\n\tuniform sampler2D clearcoatMap;\n\n#endif\n\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\n\tuniform sampler2D clearcoatRoughnessMap;\n\n#endif\n\n#ifdef USE_CLEARCOAT_NORMALMAP\n\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / clipping _planes _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#if NUM_CLIPPING_PLANES > 0\n\n\tvec4 plane;\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\n\t}\n\t#pragma unroll_loop_end\n\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\n\t\tbool clipped = true;\n\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\n\t\t}\n\t\t#pragma unroll_loop_end\n\n\t\tif ( clipped ) discard;\n\n\t#endif\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / clipping _planes _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#if NUM_CLIPPING_PLANES > 0\n\n\tvarying vec3 vClipPosition;\n\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_pars_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / clipping _planes _pars _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#if NUM_CLIPPING_PLANES > 0\n\n\tvarying vec3 vClipPosition;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_pars_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / clipping _planes _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#if NUM_CLIPPING_PLANES > 0\n\n\tvClipPosition = - mvPosition.xyz;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/color_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / color _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_COLOR\n\n\tdiffuseColor.rgb *= vColor;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/color_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / color _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_COLOR\n\n\tvarying vec3 vColor;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / color _pars _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#if defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\n\tvarying vec3 vColor;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/color_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / color _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#if defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\n\tvColor = vec3( 1.0 );\n\n#endif\n\n#ifdef USE_COLOR\n\n\tvColor.xyz *= color.xyz;\n\n#endif\n\n#ifdef USE_INSTANCING_COLOR\n\n\tvColor.xyz *= instanceColor.xyz;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/color_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/common.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / common . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n\n#ifndef saturate\n// <tonemapping_pars_fragment> may have defined saturate() already\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement(a) ( 1.0 - saturate( a ) )\n\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\n// expects values in the range of [0,1]x[0,1], returns values in the [0,1] range.\n// do not collapse into a single function per: http://byteblacksmith.com/improvements-to-the-canonical-one-liner-glsl-rand-for-opengl-es-2-0/\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract(sin(sn) * c);\n}\n\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat max3( vec3 v ) { return max( max( v.x, v.y ), v.z ); }\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\n\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\n\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\n\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\n\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n}\n\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t// dir can be either a direction vector or a normal vector\n\t// upper-left 3x3 of matrix is assumed to be orthogonal\n\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n\n}\n\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\n\treturn - distance * planeNormal + point;\n\n}\n\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n\n}\n\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\n\n}\n\nmat3 transposeMat3( const in mat3 m ) {\n\n\tmat3 tmp;\n\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\n\treturn tmp;\n\n}\n\n// https://en.wikipedia.org/wiki/Relative_luminance\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\n\treturn dot( weights, color.rgb );\n\n}\n\nbool isPerspectiveMatrix( mat4 m ) {\n\n\treturn m[ 2 ][ 3 ] == - 1.0;\n\n}\n\nvec2 equirectUv( in vec3 dir ) {\n\n\t// dir is assumed to be unit length\n\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\n\treturn vec2( u, v );\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/common.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/cube_uv_reflection_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / cube _uv _reflection _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\" : ( ) => ( _ _WEBPACK _DEFAULT _EXPORT _ _ ) \ n /* harmony export */ } ) ; \ n /* harmony default export */ const _ _WEBPACK _DEFAULT _EXPORT _ _ = ( /* glsl */ ` \n #ifdef ENVMAP_TYPE_CUBE_UV \n \n \t #define cubeUV_maxMipLevel 8.0 \n \t #define cubeUV_minMipLevel 4.0 \n \t #define cubeUV_maxTileSize 256.0 \n \t #define cubeUV_minTileSize 16.0 \n \n \t // These shader functions convert between the UV coordinates of a single face of \n \t // a cubemap, the 0-5 integer index of a cube face, and the direction vector for \n \t // sampling a textureCube (not generally normalized ). \n \n \t float getFace( vec3 direction ) { \n \n \t \t vec3 absDirection = abs( direction ); \n \n \t \t float face = - 1.0; \n \n \t \t if ( absDirection.x > absDirection.z ) { \n \n \t \t \t if ( absDirection.x > absDirection.y ) \n \n \t \t \t \t face = direction.x > 0.0 ? 0.0 : 3.0; \n \n \t \t \t else \n \n \t \t \t \t face = direction.y > 0.0 ? 1.0 : 4.0; \n \n \t \t } else { \n \n \t \t \t if ( absDirection.z > absDirection.y ) \n \n \t \t \t \t face = direction.z > 0.0 ? 2.0 : 5.0; \n \n \t \t \t else \n \n \t \t \t \t face = direction.y > 0.0 ? 1.0 : 4.0; \n \n \t \t } \n \n \t \t return face; \n \n \t } \n \n \t // RH coordinate system; PMREM face-indexing convention \n \t vec2 getUV( vec3 direction, float face ) { \n \n \t \t vec2 uv; \n \n \t \t if ( face == 0.0 ) { \n \n \t \t \t uv = vec2( direction.z, direction.y ) / abs( direction.x ); // pos x \n \n \t \t } else if ( face == 1.0 ) { \n \n \t \t \t uv = vec2( - direction.x, - direction.z ) / abs( direction.y ); // pos y \n \n \t \t } else if ( face == 2.0 ) { \n \n \t \t \t uv = vec2( - direction.x, direction.y ) / abs( direction.z ); // pos z \n \n \t \t } else if ( face == 3.0 ) { \n \n \t \t \t uv = vec2( - direction.z, direction.y ) / abs( direction.x ); // neg x \n \n \t \t } else if ( face == 4.0 ) { \n \n \t \t \t uv = vec2( - direction.x, direction.z ) / abs( direction.y ); // neg y \n \n \t \t } else { \n \n \t \t \t uv = vec2( direction.x, direction.y ) / abs( direction.z ); // neg z \n \n \t \t } \n \n \t \t return 0.5 * ( uv + 1.0 ); \n \n \t } \n \n \t vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) { \n \n \t \t float face = getFace( direction ); \n \n \t \t float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 ); \n \n \t \t mipInt = max( mipInt, cubeUV_minMipLevel ); \n \n \t \t float faceSize = exp2( mipInt ); \n \n \t \t float texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize ); \n \n \t \t vec2 uv = getUV( direction, face ) * ( faceSize - 1.0 ); \n \n \t \t vec2 f = fract( uv ); \n \n \t \t uv += 0.5 - f; \n \n \t \t if ( face > 2.0 ) { \n \n \t \t \t uv.y += faceSize; \n \n \t \t \t face -= 3.0; \n \n \t \t } \n \n \t \t uv.x += face * faceSize; \n \n \t \t if ( mipInt < cubeUV_maxMipLevel ) { \n \n \t \t \t uv.y += 2.0 * cubeUV_maxTileSize; \n \n \t \t } \n \n \t \t uv.y += filterInt * 2.0 * cubeUV_minTileSize; \n \n \t \t uv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize ); \n \n \t \t uv *= texelSize; \n \n \t \t vec3 tl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb; \n \n \t \t uv.x += texelSize; \n \n \t \t vec3 tr = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb; \n \n \t \t uv.y += texelSize; \n \n \t \t vec3 br = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb; \n \n \t \t uv.x -= texelSize; \n \n \t \t vec3 bl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb; \n \n \t \t vec3 tm = mix( tl, tr, f.x ); \n \n \t \t vec3 bm = mix( bl, br, f.x ); \n \n \t \t return mix( tm, bm, f.y ); \n \n \t } \n \n \t // These defines must match with PMREMGenerator \n \n \t #define r0 1.0 \n \t #define v0 0.339 \n \t #define m0 - 2.0 \n \t #define r1 0.8 \n \t #define v1 0.276 \n \t #define m1 - 1.0 \n \t #define r4 0.4 \n \t #define v4 0.046 \n \t #define m4 2.0 \n \t #define r5 0.305 \n \t #define v5 0.016 \n \t #define m5 3.0 \n \t #define r6 0.21 \n \t #define v6 0.0038 \n \t #define m6 4.0 \n \n \t float roughnessToMip( float roughness ) { \n \n \t \t float mip = 0.0; \n \n \t \t if ( roughness >= r1 ) { \n \n \t \t \t mip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0; \n \n \t \t } else if ( roughness >= r4 ) { \n \n \t \t \t mip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1; \n \n \t \t } else if ( roughness >= r5 ) { \n \n \t \t \t mip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4; \n \n \t \t } else if ( roughness >
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/default_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / default _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nvoid main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/default_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/default_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / default _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nvoid main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/default_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/defaultnormal_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / defaultnormal _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nvec3 transformedNormal = objectNormal;\n\n#ifdef USE_INSTANCING\n\n\t// this is in lieu of a per-instance normal-matrix\n\t// shear transforms in the instance matrix are not supported\n\n\tmat3 m = mat3( instanceMatrix );\n\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\n\ttransformedNormal = m * transformedNormal;\n\n#endif\n\ntransformedNormal = normalMatrix * transformedNormal;\n\n#ifdef FLIP_SIDED\n\n\ttransformedNormal = - transformedNormal;\n\n#endif\n\n#ifdef USE_TANGENT\n\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\n\t#ifdef FLIP_SIDED\n\n\t\ttransformedTangent = - transformedTangent;\n\n\t#endif\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/defaultnormal_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/displacementmap_pars_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / displacementmap _pars _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_DISPLACEMENTMAP\n\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/displacementmap_pars_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/displacementmap_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / displacementmap _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_DISPLACEMENTMAP\n\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/displacementmap_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/dithering_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / dithering _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef DITHERING\n\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/dithering_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/dithering_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / dithering _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef DITHERING\n\n\t// based on https://www.shadertoy.com/view/MslGR8\n\tvec3 dithering( vec3 color ) {\n\t\t//Calculate grid position\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\n\t\t//Shift the individual colors differently, thus making it even harder to see the dithering pattern\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\n\t\t//modify shift acording to grid position.\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\n\t\t//shift the color by dither_shift\n\t\treturn color + dither_shift_RGB;\n\t}\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/dithering_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/emissivemap_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / emissivemap _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_EMISSIVEMAP\n\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/emissivemap_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/emissivemap_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / emissivemap _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_EMISSIVEMAP\n\n\tuniform sampler2D emissiveMap;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/emissivemap_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/encodings_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / encodings _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\ngl_FragColor = linearToOutputTexel( gl_FragColor );\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/encodings_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/encodings_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / encodings _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n// For a discussion of what this is, please read this: http://lousodrome.net/blog/light/2013/05/26/gamma-correct-and-hdr-rendering-in-a-32-bits-buffer/\n\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\n\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\n}\n\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\n}\n\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\n\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}\n\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\n\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n\t// return vec4( value.brg, ( 3.0 + 128.0 ) / 256.0 );\n}\n\n// reference: http://iwasbeingirony.blogspot.ca/2010/06/difference-between-rgbm-and-rgbd.html\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\n}\n\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\n\n// reference: http://iwasbeingirony.blogspot.ca/2010/06/difference-between-rgbm-and-rgbd.html\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\n\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\t// NOTE: The implementation with min causes the shader to not compile on\n\t// a common Alcatel A502DL in Chrome 78/Android 8.1. Some research suggests \n\t// that the chipset is Mediatek MT6739 w/ IMG PowerVR GE8100 GPU.\n\t// D = min( floor( D ) / 255.0, 1.0 );\n\tD = clamp( floor( D ) / 255.0, 0.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\n\n// LogLuv reference: http://graphicrants.blogspot.ca/2009/04/rgbm-color-encoding.html\n\n// M matrix, for encoding\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = cLogLuvM * value.rgb;\n\tXp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract( Le );\n\tvResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;\n\treturn vResult;\n}\n\n// Inverse M matrix, for decoding\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;\n\treturn vec4( max( vRGB, 0.0 ), 1.0 );\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/encodings_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/envmap_common_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / envmap _common _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_ENVMAP\n\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\tuniform int maxMipLevel;\n\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/envmap_common_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / envmap _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_ENVMAP\n\n\t#ifdef ENV_WORLDPOS\n\n\t\tvec3 cameraToFrag;\n\n\t\tif ( isOrthographic ) {\n\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\n\t\t} else {\n\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\n\t\t}\n\n\t\t// Transforming Normal Vectors with the Inverse Transformation\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\n\t\t#else\n\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\n\t\t#endif\n\n\t#else\n\n\t\tvec3 reflectVec = vReflect;\n\n\t#endif\n\n\t#ifdef ENVMAP_TYPE_CUBE\n\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\n\t\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\n\n\t#else\n\n\t\tvec4 envColor = vec4( 0.0 );\n\n\t#endif\n\n\t#ifndef ENVMAP_TYPE_CUBE_UV\n\n\t\tenvColor = envMapTexelToLinear( envColor );\n\n\t#endif\n\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\n\t#endif\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / envmap _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_ENVMAP\n\n\tuniform float reflectivity;\n\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\n\t\t#define ENV_WORLDPOS\n\n\t#endif\n\n\t#ifdef ENV_WORLDPOS\n\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/envmap_pars_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / envmap _pars _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_ENVMAP\n\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\n\n\t\t#define ENV_WORLDPOS\n\n\t#endif\n\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\n\t#else\n\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\n\t#endif\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/envmap_pars_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / envmap _physical _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#if defined( USE_ENVMAP )\n\n\t#ifdef ENVMAP_MODE_REFRACTION\n\t\tuniform float refractionRatio;\n\t#endif\n\n\tvec3 getLightProbeIndirectIrradiance( /*const in SpecularLightProbe specularLightProbe,*/ const in GeometricContext geometry, const in int maxMIPLevel ) {\n\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\n\t\t\t// TODO: replace with properly filtered cubemaps and access the irradiance LOD level, be it the last LOD level\n\t\t\t// of a specular cubemap, or just the default level of a specially created irradiance cubemap.\n\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\n\t\t\t#else\n\n\t\t\t\t// force the bias high to get the last LOD level as it is the most blurred.\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\n\t\t\t#endif\n\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\n\t\t#else\n\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\n\t\t#endif\n\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\n\t}\n\n\t// Trowbridge-Reitz distribution to Mip level, following the logic of http://casual-effects.blogspot.ca/2011/08/plausible-environment-lighting-in-two.html\n\tfloat getSpecularMIPLevel( const in float roughness, const in int maxMIPLevel ) {\n\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\n\t\tfloat sigma = PI * roughness * roughness / ( 1.0 + roughness );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar + log2( sigma );\n\n\t\t// clamp to allowable LOD ranges.\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\n\t}\n\n\tvec3 getLightProbeIndirectRadiance( /*const in SpecularLightProbe specularLightProbe,*/ const in vec3 viewDir, const in vec3 normal, const in float roughness, const in int maxMIPLevel ) {\n\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\n\t\t\tvec3 reflectVec = reflect( -viewDir, normal );\n\n\t\t\t// Mixing the reflection with the normal is more accurate and keeps rough objects from gathering light from behind their tangent plane.\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\n\t\t#else\n\n\t\t\tvec3 reflectVec = refract( -viewDir, normal, refractionRatio );\n\n\t\t#endif\n\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( roughness, maxMIPLevel );\n\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\n\t\t\t#else\n\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\n\t\t\t#endif\n\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\n\t\t#endif\n\n\t\treturn envMapColor.rgb * envMapIntensity;\n\n\t}\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/envmap_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / envmap _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_ENVMAP\n\n\t#ifdef ENV_WORLDPOS\n\n\t\tvWorldPosition = worldPosition.xyz;\n\n\t#else\n\n\t\tvec3 cameraToVertex;\n\n\t\tif ( isOrthographic ) {\n\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\n\t\t} else {\n\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\n\t\t}\n\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\n\t\t#else\n\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\n\t\t#endif\n\n\t#endif\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/envmap_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/fog_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / fog _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_FOG\n\n\t#ifdef FOG_EXP2\n\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * fogDepth * fogDepth );\n\n\t#else\n\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n\n\t#endif\n\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/fog_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / fog _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_FOG\n\n\tuniform vec3 fogColor;\n\tvarying float fogDepth;\n\n\t#ifdef FOG_EXP2\n\n\t\tuniform float fogDensity;\n\n\t#else\n\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\n\t#endif\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/fog_pars_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / fog _pars _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_FOG\n\n\tvarying float fogDepth;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/fog_pars_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/fog_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / fog _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_FOG\n\n\tfogDepth = - mvPosition.z;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/fog_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / gradientmap _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n\n#ifdef USE_GRADIENTMAP\n\n\tuniform sampler2D gradientMap;\n\n#endif\n\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\n\t// dotNL will be from -1.0 to 1.0\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\n\t#ifdef USE_GRADIENTMAP\n\n\t\treturn texture2D( gradientMap, coord ).rgb;\n\n\t#else\n\n\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\n\t#endif\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / lightmap _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_LIGHTMAP\n\n\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\treflectedLight.indirectDiffuse += PI * lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity; // factor of PI should not be present; included here to prevent breakage\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/lightmap_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / lightmap _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_LIGHTMAP\n\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/lightmap_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / lights _fragment _begin . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\" : ( ) => ( _ _WEBPACK _DEFAULT _EXPORT _ _ ) \ n /* harmony export */ } ) ; \ n /* harmony default export */ const _ _WEBPACK _DEFAULT _EXPORT _ _ = ( /* glsl */ ` \n /** \n * This is a template that can be used to light a material, it uses pluggable \n * RenderEquations (RE)for specific lighting scenarios. \n * \n * Instructions for use: \n * - Ensure that both RE_Direct, RE_IndirectDiffuse and RE_IndirectSpecular are defined \n * - If you have defined an RE_IndirectSpecular, you need to also provide a Material_LightProbeLOD. <---- ??? \n * - Create a material parameter that is to be passed as the third parameter to your lighting functions. \n * \n * TODO: \n * - Add area light support. \n * - Add sphere light support. \n * - Add diffuse light probe (irradiance cubemap) support. \n */ \n \n GeometricContext geometry; \n \n geometry.position = - vViewPosition; \n geometry.normal = normal; \n geometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); \n \n #ifdef CLEARCOAT \n \n \t geometry.clearcoatNormal = clearcoatNormal; \n \n #endif \n \n IncidentLight directLight; \n \n #if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct ) \n \n \t PointLight pointLight; \n \t #if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0 \n \t PointLightShadow pointLightShadow; \n \t #endif \n \n \t #pragma unroll_loop_start \n \t for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) { \n \n \t \t pointLight = pointLights[ i ]; \n \n \t \t getPointDirectLightIrradiance( pointLight, geometry, directLight ); \n \n \t \t #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS ) \n \t \t pointLightShadow = pointLightShadows[ i ]; \n \t \t directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0; \n \t \t #endif \n \n \t \t RE_Direct( directLight, geometry, material, reflectedLight ); \n \n \t } \n \t #pragma unroll_loop_end \n \n #endif \n \n #if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct ) \n \n \t SpotLight spotLight; \n \t #if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0 \n \t SpotLightShadow spotLightShadow; \n \t #endif \n \n \t #pragma unroll_loop_start \n \t for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) { \n \n \t \t spotLight = spotLights[ i ]; \n \n \t \t getSpotDirectLightIrradiance( spotLight, geometry, directLight ); \n \n \t \t #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) \n \t \t spotLightShadow = spotLightShadows[ i ]; \n \t \t directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0; \n \t \t #endif \n \n \t \t RE_Direct( directLight, geometry, material, reflectedLight ); \n \n \t } \n \t #pragma unroll_loop_end \n \n #endif \n \n #if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct ) \n \n \t DirectionalLight directionalLight; \n \t #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0 \n \t DirectionalLightShadow directionalLightShadow; \n \t #endif \n \n \t #pragma unroll_loop_start \n \t for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) { \n \n \t \t directionalLight = directionalLights[ i ]; \n \n \t \t getDirectionalDirectLightIrradiance( directionalLight, geometry, directLight ); \n \n \t \t #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS ) \n \t \t directionalLightShadow = directionalLightShadows[ i ]; \n \t \t directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; \n \t \t #endif \n \n \t \t RE_Direct( directLight, geometry, material, reflectedLight ); \n \n \t } \n \t #pragma unroll_loop_end \n \n #endif \n \n #if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea ) \n \n \t RectAreaLight rectA
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_end.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / lights _fragment _end . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#if defined( RE_IndirectDiffuse )\n\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n\n#endif\n\n#if defined( RE_IndirectSpecular )\n\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_end.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / lights _fragment _maps . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#if defined( RE_IndirectDiffuse )\n\n\t#ifdef USE_LIGHTMAP\n\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\n\t\t\tlightMapIrradiance *= PI; // factor of PI should not be present; included here to prevent breakage\n\n\t\t#endif\n\n\t\tirradiance += lightMapIrradiance;\n\n\t#endif\n\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\n\t\tiblIrradiance += getLightProbeIndirectIrradiance( /*lightProbe,*/ geometry, maxMipLevel );\n\n\t#endif\n\n#endif\n\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\n\tradiance += getLightProbeIndirectRadiance( /*specularLightProbe,*/ geometry.viewDir, geometry.normal, material.specularRoughness, maxMipLevel );\n\n\t#ifdef CLEARCOAT\n\n\t\tclearcoatRadiance += getLightProbeIndirectRadiance( /*specularLightProbe,*/ geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness, maxMipLevel );\n\n\t#endif\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/lights_lambert_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / lights _lambert _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nvec3 diffuse = vec3( 1.0 );\n\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\n\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\n\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\n\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\n\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\n\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry );\n\n#ifdef DOUBLE_SIDED\n\n\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\n\n\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry );\n\n#endif\n\n#if NUM_POINT_LIGHTS > 0\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\n\t\t#ifdef DOUBLE_SIDED\n\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\n\t\t#endif\n\n\t}\n\t#pragma unroll_loop_end\n\n#endif\n\n#if NUM_SPOT_LIGHTS > 0\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\n\t\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\n\t\t#ifdef DOUBLE_SIDED\n\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n\n#endif\n\n/*\n#if NUM_RECT_AREA_LIGHTS > 0\n\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\n\t\t// TODO (abelnation): implement\n\n\t}\n\n#endif\n*/\n\n#if NUM_DIR_LIGHTS > 0\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\n\t\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\n\t\t#ifdef DOUBLE_SIDED\n\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\n\t\t#endif\n\n\t}\n\t#pragma unroll_loop_end\n\n#endif\n\n#if NUM_HEMI_LIGHTS > 0\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\n\t\t#ifdef DOUBLE_SIDED\n\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\n\t\t#endif\n\n\t}\n\t#pragma unroll_loop_end\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/lights_lambert_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/lights_pars_begin.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / lights _pars _begin . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\" : ( ) => ( _ _WEBPACK _DEFAULT _EXPORT _ _ ) \ n /* harmony export */ } ) ; \ n /* harmony default export */ const _ _WEBPACK _DEFAULT _EXPORT _ _ = ( /* glsl */ ` \n uniform bool receiveShadow; \n uniform vec3 ambientLightColor; \n uniform vec3 lightProbe[ 9 ]; \n \n // get the irradiance (radiance convolved with cosine lobe) at the point 'normal' on the unit sphere \n // source: https://graphics.stanford.edu/papers/envmap/envmap.pdf \n vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) { \n \n \t // normal is assumed to have unit length \n \n \t float x = normal.x, y = normal.y, z = normal.z; \n \n \t // band 0 \n \t vec3 result = shCoefficients[ 0 ] * 0.886227; \n \n \t // band 1 \n \t result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y; \n \t result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z; \n \t result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x; \n \n \t // band 2 \n \t result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y; \n \t result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z; \n \t result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 ); \n \t result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z; \n \t result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y ); \n \n \t return result; \n \n } \n \n vec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in GeometricContext geometry ) { \n \n \t vec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix ); \n \n \t vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe ); \n \n \t return irradiance; \n \n } \n \n vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { \n \n \t vec3 irradiance = ambientLightColor; \n \n \t #ifndef PHYSICALLY_CORRECT_LIGHTS \n \n \t \t irradiance *= PI; \n \n \t #endif \n \n \t return irradiance; \n \n } \n \n #if NUM_DIR_LIGHTS > 0 \n \n \t struct DirectionalLight { \n \t \t vec3 direction; \n \t \t vec3 color; \n \t }; \n \n \t uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ]; \n \n \t void getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) { \n \n \t \t directLight.color = directionalLight.color; \n \t \t directLight.direction = directionalLight.direction; \n \t \t directLight.visible = true; \n \n \t } \n \n #endif \n \n \n #if NUM_POINT_LIGHTS > 0 \n \n \t struct PointLight { \n \t \t vec3 position; \n \t \t vec3 color; \n \t \t float distance; \n \t \t float decay; \n \t }; \n \n \t uniform PointLight pointLights[ NUM_POINT_LIGHTS ]; \n \n \t // directLight is an out parameter as having it as a return value caused compiler errors on some devices \n \t void getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) { \n \n \t \t vec3 lVector = pointLight.position - geometry.position; \n \t \t directLight.direction = normalize( lVector ); \n \n \t \t float lightDistance = length( lVector ); \n \n \t \t directLight.color = pointLight.color; \n \t \t directLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay ); \n \t \t directLight.visible = ( directLight.color != vec3( 0.0 ) ); \n \n \t } \n \n #endif \n \n \n #if NUM_SPOT_LIGHTS > 0 \n \n \t struct SpotLight { \n \t \t vec3 position; \n \t \t vec3 direction; \n \t \t vec3 color; \n \t \t float distance; \n \t \t float decay; \n \t \t float coneCos; \n \t \t float penumbraCos; \n \t }; \n \n \t uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ]; \n \n \t // directLight is an out parameter as having it as a return value caused compiler errors on some devices \n \t void getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) { \n \n \t \t vec3 lVector = spotLight.position - geometry.position; \n \t \t directLight.direction = normalize( lVector ); \n \n \t \t float lightDistance = length( lVector ); \n \t \t float angleCos = dot( directLight.direction, spotLight.direction ); \n \n \t \t if ( angleCos > spotLight.coneCos ) { \n \n \t \t \t float spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos ); \n \n \t \t \t directLight.color = spotLight.color; \n \t \t
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/lights_phong_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / lights _phong _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nBlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/lights_phong_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / lights _phong _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nvarying vec3 vViewPosition;\n\n#ifndef FLAT_SHADED\n\n\tvarying vec3 vNormal;\n\n#endif\n\n\nstruct BlinnPhongMaterial {\n\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n\n};\n\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\n\t\tirradiance *= PI; // punctual light\n\n\t#endif\n\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\n\n}\n\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\n}\n\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n\n#define Material_LightProbeLOD( material )\t(0)\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / lights _physical _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nPhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\n\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\n\nmaterial.specularRoughness = max( roughnessFactor, 0.0525 );// 0.0525 corresponds to the base mip of a 256 cubemap.\nmaterial.specularRoughness += geometryRoughness;\nmaterial.specularRoughness = min( material.specularRoughness, 1.0 );\n\n#ifdef REFLECTIVITY\n\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n\n#else\n\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n\n#endif\n\n#ifdef CLEARCOAT\n\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\n\t#ifdef USE_CLEARCOATMAP\n\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\n\t#endif\n\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\n\t#endif\n\n\tmaterial.clearcoat = saturate( material.clearcoat ); // Burley clearcoat model\n\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n\n#endif\n\n#ifdef USE_SHEEN\n\n\tmaterial.sheenColor = sheen;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / lights _physical _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\" : ( ) => ( _ _WEBPACK _DEFAULT _EXPORT _ _ ) \ n /* harmony export */ } ) ; \ n /* harmony default export */ const _ _WEBPACK _DEFAULT _EXPORT _ _ = ( /* glsl */ ` \n struct PhysicalMaterial { \n \n \t vec3 diffuseColor; \n \t float specularRoughness; \n \t vec3 specularColor; \n \n #ifdef CLEARCOAT \n \t float clearcoat; \n \t float clearcoatRoughness; \n #endif \n #ifdef USE_SHEEN \n \t vec3 sheenColor; \n #endif \n \n }; \n \n #define MAXIMUM_SPECULAR_COEFFICIENT 0.16 \n #define DEFAULT_SPECULAR_COEFFICIENT 0.04 \n \n // Clear coat directional hemishperical reflectance (this approximation should be improved) \n float clearcoatDHRApprox( const in float roughness, const in float dotNL ) { \n \n \t return DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) ); \n \n } \n \n #if NUM_RECT_AREA_LIGHTS > 0 \n \n \t void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { \n \n \t \t vec3 normal = geometry.normal; \n \t \t vec3 viewDir = geometry.viewDir; \n \t \t vec3 position = geometry.position; \n \t \t vec3 lightPos = rectAreaLight.position; \n \t \t vec3 halfWidth = rectAreaLight.halfWidth; \n \t \t vec3 halfHeight = rectAreaLight.halfHeight; \n \t \t vec3 lightColor = rectAreaLight.color; \n \t \t float roughness = material.specularRoughness; \n \n \t \t vec3 rectCoords[ 4 ]; \n \t \t rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; // counterclockwise; light shines in local neg z direction \n \t \t rectCoords[ 1 ] = lightPos - halfWidth - halfHeight; \n \t \t rectCoords[ 2 ] = lightPos - halfWidth + halfHeight; \n \t \t rectCoords[ 3 ] = lightPos + halfWidth + halfHeight; \n \n \t \t vec2 uv = LTC_Uv( normal, viewDir, roughness ); \n \n \t \t vec4 t1 = texture2D( ltc_1, uv ); \n \t \t vec4 t2 = texture2D( ltc_2, uv ); \n \n \t \t mat3 mInv = mat3( \n \t \t \t vec3( t1.x, 0, t1.y ), \n \t \t \t vec3( 0, 1, 0 ), \n \t \t \t vec3( t1.z, 0, t1.w ) \n \t \t ); \n \n \t \t // LTC Fresnel Approximation by Stephen Hill \n \t \t // http://blog.selfshadow.com/publications/s2016-advances/s2016_ltc_fresnel.pdf \n \t \t vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y ); \n \n \t \t reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords ); \n \n \t \t reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords ); \n \n \t } \n \n #endif \n \n void RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { \n \n \t float dotNL = saturate( dot( geometry.normal, directLight.direction ) ); \n \n \t vec3 irradiance = dotNL * directLight.color; \n \n \t #ifndef PHYSICALLY_CORRECT_LIGHTS \n \n \t \t irradiance *= PI; // punctual light \n \n \t #endif \n \n \t #ifdef CLEARCOAT \n \n \t \t float ccDotNL = saturate( dot( geometry.clearcoatNormal, directLight.direction ) ); \n \n \t \t vec3 ccIrradiance = ccDotNL * directLight.color; \n \n \t \t #ifndef PHYSICALLY_CORRECT_LIGHTS \n \n \t \t \t ccIrradiance *= PI; // punctual light \n \n \t \t #endif \n \n \t \t float clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL ); \n \n \t \t reflectedLight.directSpecular += ccIrradiance * material.clearcoat * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness ); \n \n \t #else \n \n \t \t float clearcoatDHR = 0.0; \n \n \t #endif \n \n \t #ifdef USE_SHEEN \n \t \t reflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_Sheen( \n \t \t \t material.specularRoughness, \n \t \t \t directLight.direction, \n \t \t \t geometry, \n \t \t \t material.sheenColor \n \t \t ); \n \t #else \n \t \t reflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.normal, material.specularColor, material.specularR
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/lights_toon_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / lights _toon _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/lights_toon_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / lights _toon _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nvarying vec3 vViewPosition;\n\n#ifndef FLAT_SHADED\n\n\tvarying vec3 vNormal;\n\n#endif\n\n\nstruct ToonMaterial {\n\n\tvec3 diffuseColor;\n\n};\n\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\n\t\tirradiance *= PI; // punctual light\n\n\t#endif\n\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\n}\n\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\n}\n\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\n\n#define Material_LightProbeLOD( material )\t(0)\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / logdepthbuf _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\n\t// Doing a strict comparison with == 1.0 can cause noise artifacts\n\t// on some platforms. See issue #17623.\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / logdepthbuf _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / logdepthbuf _pars _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_LOGDEPTHBUF\n\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\n\t#else\n\n\t\tuniform float logDepthBufFC;\n\n\t#endif\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / logdepthbuf _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_LOGDEPTHBUF\n\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\n\t#else\n\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\n\t\t\tgl_Position.z *= gl_Position.w;\n\n\t\t}\n\n\t#endif\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/map_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / map _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_MAP\n\n\tvec4 texelColor = texture2D( map, vUv );\n\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/map_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/map_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / map _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_MAP\n\n\tuniform sampler2D map;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/map_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/map_particle_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / map _particle _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\n#endif\n\n#ifdef USE_MAP\n\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n\n#endif\n\n#ifdef USE_ALPHAMAP\n\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/map_particle_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/map_particle_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / map _particle _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\n\tuniform mat3 uvTransform;\n\n#endif\n\n#ifdef USE_MAP\n\n\tuniform sampler2D map;\n\n#endif\n\n#ifdef USE_ALPHAMAP\n\n\tuniform sampler2D alphaMap;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/map_particle_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/metalnessmap_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / metalnessmap _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nfloat metalnessFactor = metalness;\n\n#ifdef USE_METALNESSMAP\n\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\n\t// reads channel B, compatible with a combined OcclusionRoughnessMetallic (RGB) texture\n\tmetalnessFactor *= texelMetalness.b;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/metalnessmap_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/metalnessmap_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / metalnessmap _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_METALNESSMAP\n\n\tuniform sampler2D metalnessMap;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/metalnessmap_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/morphnormal_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / morphnormal _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_MORPHNORMALS\n\n\t// morphTargetBaseInfluence is set based on BufferGeometry.morphTargetsRelative value:\n\t// When morphTargetsRelative is false, this is set to 1 - sum(influences); this results in normal = sum((target - base) * influence)\n\t// When morphTargetsRelative is true, this is set to 1; as a result, all morph targets are simply added to the base after weighting\n\tobjectNormal *= morphTargetBaseInfluence;\n\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/morphnormal_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / morphtarget _pars _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_MORPHTARGETS\n\n\tuniform float morphTargetBaseInfluence;\n\n\t#ifndef USE_MORPHNORMALS\n\n\t\tuniform float morphTargetInfluences[ 8 ];\n\n\t#else\n\n\t\tuniform float morphTargetInfluences[ 4 ];\n\n\t#endif\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / morphtarget _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_MORPHTARGETS\n\n\t// morphTargetBaseInfluence is set based on BufferGeometry.morphTargetsRelative value:\n\t// When morphTargetsRelative is false, this is set to 1 - sum(influences); this results in position = sum((target - base) * influence)\n\t// When morphTargetsRelative is true, this is set to 1; as a result, all morph targets are simply added to the base after weighting\n\ttransformed *= morphTargetBaseInfluence;\n\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\n\t#ifndef USE_MORPHNORMALS\n\n\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\n\t#endif\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / normal _fragment _begin . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nfloat faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n\n#ifdef FLAT_SHADED\n\n\t// Workaround for Adreno GPUs not able to do dFdx( vViewPosition )\n\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n\n#else\n\n\tvec3 normal = normalize( vNormal );\n\n\t#ifdef DOUBLE_SIDED\n\n\t\tnormal = normal * faceDirection;\n\n\t#endif\n\n\t#ifdef USE_TANGENT\n\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\n\t\t#ifdef DOUBLE_SIDED\n\n\t\t\ttangent = tangent * faceDirection;\n\t\t\tbitangent = bitangent * faceDirection;\n\n\t\t#endif\n\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\n\t\t#endif\n\n\t#endif\n\n#endif\n\n// non perturbed normal for clearcoat among others\n\nvec3 geometryNormal = normal;\n\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / normal _fragment _maps . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n\n#ifdef OBJECTSPACE_NORMALMAP\n\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0; // overrides both flatShading and attribute normals\n\n\t#ifdef FLIP_SIDED\n\n\t\tnormal = - normal;\n\n\t#endif\n\n\t#ifdef DOUBLE_SIDED\n\n\t\tnormal = normal * faceDirection;\n\n\t#endif\n\n\tnormal = normalize( normalMatrix * normal );\n\n#elif defined( TANGENTSPACE_NORMALMAP )\n\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\n\t#ifdef USE_TANGENT\n\n\t\tnormal = normalize( vTBN * mapN );\n\n\t#else\n\n\t\tnormal = perturbNormal2Arb( -vViewPosition, normal, mapN, faceDirection );\n\n\t#endif\n\n#elif defined( USE_BUMPMAP )\n\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd(), faceDirection );\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / normalmap _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_NORMALMAP\n\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n\n#endif\n\n#ifdef OBJECTSPACE_NORMALMAP\n\n\tuniform mat3 normalMatrix;\n\n#endif\n\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\n\t// Normal Mapping Without Precomputed Tangents\n\t// http://www.thetenthplanet.de/archives/1180\n\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\n\n\t\t// Workaround for Adreno 3XX dFd*( vec3 ) bug. See #9988\n\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\n\t\tvec3 N = surf_norm; // normalized\n\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n\n\t\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\n\n\t}\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/packing.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / packing . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nvec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\n\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\n\nconst float PackUpscale = 256. / 255.; // fraction -> 0..1 (including 1)\nconst float UnpackDownscale = 255. / 256.; // 0..1 -> fraction (excluding 1)\n\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\n\nconst float ShiftRight8 = 1. / 256.;\n\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8; // tidy overflow\n\treturn r * PackUpscale;\n}\n\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\n\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ));\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w);\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\n\n// NOTE: viewZ/eyeZ is < 0 when in front of the camera per OpenGL conventions\n\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\n\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/packing.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / premultiplied _alpha _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef PREMULTIPLIED_ALPHA\n\n\t// Get get normal blending with premultipled, use with CustomBlending, OneFactor, OneMinusSrcAlphaFactor, AddEquation.\n\tgl_FragColor.rgb *= gl_FragColor.a;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/project_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / project _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nvec4 mvPosition = vec4( transformed, 1.0 );\n\n#ifdef USE_INSTANCING\n\n\tmvPosition = instanceMatrix * mvPosition;\n\n#endif\n\nmvPosition = modelViewMatrix * mvPosition;\n\ngl_Position = projectionMatrix * mvPosition;\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/project_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/roughnessmap_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / roughnessmap _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nfloat roughnessFactor = roughness;\n\n#ifdef USE_ROUGHNESSMAP\n\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\n\t// reads channel G, compatible with a combined OcclusionRoughnessMetallic (RGB) texture\n\troughnessFactor *= texelRoughness.g;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/roughnessmap_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/roughnessmap_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / roughnessmap _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_ROUGHNESSMAP\n\n\tuniform sampler2D roughnessMap;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/roughnessmap_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / shadowmap _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\" : ( ) => ( _ _WEBPACK _DEFAULT _EXPORT _ _ ) \ n /* harmony export */ } ) ; \ n /* harmony default export */ const _ _WEBPACK _DEFAULT _EXPORT _ _ = ( /* glsl */ ` \n #ifdef USE_SHADOWMAP \n \n \t #if NUM_DIR_LIGHT_SHADOWS > 0 \n \n \t \t uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; \n \t \t varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; \n \n \t \t struct DirectionalLightShadow { \n \t \t \t float shadowBias; \n \t \t \t float shadowNormalBias; \n \t \t \t float shadowRadius; \n \t \t \t vec2 shadowMapSize; \n \t \t }; \n \n \t \t uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; \n \n \t #endif \n \n \t #if NUM_SPOT_LIGHT_SHADOWS > 0 \n \n \t \t uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ]; \n \t \t varying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ]; \n \n \t \t struct SpotLightShadow { \n \t \t \t float shadowBias; \n \t \t \t float shadowNormalBias; \n \t \t \t float shadowRadius; \n \t \t \t vec2 shadowMapSize; \n \t \t }; \n \n \t \t uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; \n \n \t #endif \n \n \t #if NUM_POINT_LIGHT_SHADOWS > 0 \n \n \t \t uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ]; \n \t \t varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; \n \n \t \t struct PointLightShadow { \n \t \t \t float shadowBias; \n \t \t \t float shadowNormalBias; \n \t \t \t float shadowRadius; \n \t \t \t vec2 shadowMapSize; \n \t \t \t float shadowCameraNear; \n \t \t \t float shadowCameraFar; \n \t \t }; \n \n \t \t uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; \n \n \t #endif \n \n \t /* \n \t #if NUM_RECT_AREA_LIGHTS > 0 \n \n \t \t // TODO (abelnation): create uniforms for area light shadows \n \n \t #endif \n \t */ \n \n \t float texture2DCompare( sampler2D depths, vec2 uv, float compare ) { \n \n \t \t return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) ); \n \n \t } \n \n \t vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) { \n \n \t \t return unpackRGBATo2Half( texture2D( shadow, uv ) ); \n \n \t } \n \n \t float VSMShadow (sampler2D shadow, vec2 uv, float compare ){ \n \n \t \t float occlusion = 1.0; \n \n \t \t vec2 distribution = texture2DDistribution( shadow, uv ); \n \n \t \t float hard_shadow = step( compare , distribution.x ); // Hard Shadow \n \n \t \t if (hard_shadow != 1.0 ) { \n \n \t \t \t float distance = compare - distribution.x ; \n \t \t \t float variance = max( 0.00000, distribution.y * distribution.y ); \n \t \t \t float softness_probability = variance / (variance + distance * distance ); // Chebeyshevs inequality \n \t \t \t softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); // 0.3 reduces light bleed \n \t \t \t occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 ); \n \n \t \t } \n \t \t return occlusion; \n \n \t } \n \n \t float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) { \n \n \t \t float shadow = 1.0; \n \n \t \t shadowCoord.xyz /= shadowCoord.w; \n \t \t shadowCoord.z += shadowBias; \n \n \t \t // if ( something && something ) breaks ATI OpenGL shader compiler \n \t \t // if ( all( something, something ) ) using this instead \n \n \t \t bvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 ); \n \t \t bool inFrustum = all( inFrustumVec ); \n \n \t \t bvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 ); \n \n \t \t bool frustumTest = all( frustumTestVec ); \n \n \t \t if ( frustumTest ) { \n \n \t \t #if defined( SHADOWMAP_TYPE_PCF ) \n \n \t \t \t vec2 texelSize = vec2( 1.0 ) / shadowMapSize; \n \n \t \t \t float dx0 = - texelSize.x * shadowRadius; \n \t \t \t float dy0 = - texelSize.y * shadowRadius; \n \t \t \t float dx1 = + texelSize.x * shadowRadius; \n \t \t \t float dy1 = + texelSize.y * shadowRadius; \n \t \t \t float dx2 = dx0 / 2.0; \n \t \t \t float dy2 = dy0 / 2.0; \n \t \t \t float dx3 = dx1 / 2.0; \n \t \t \t float dy3 = dy1 / 2.0; \n \n \t \t \t shadow = ( \n \t \t \t \t texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) + \n \t \t \t \t texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) + \n \t \t \t \t texture2DCo
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / shadowmap _pars _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_SHADOWMAP\n\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\n\t#endif\n\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\n\t#endif\n\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\n\t#endif\n\n\t/*\n\t#if NUM_RECT_AREA_LIGHTS > 0\n\n\t\t// TODO (abelnation): uniforms for area light shadows\n\n\t#endif\n\t*/\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / shadowmap _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_SHADOWMAP\n\n\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\n\n\t\t// Offsetting the position used for querying occlusion along the world normal can be used to reduce shadow acne.\n\t\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\tvec4 shadowWorldPosition;\n\n\t#endif\n\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\n\t}\n\t#pragma unroll_loop_end\n\n\t#endif\n\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\n\n\t}\n\t#pragma unroll_loop_end\n\n\t#endif\n\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\n\t}\n\t#pragma unroll_loop_end\n\n\t#endif\n\n\t/*\n\t#if NUM_RECT_AREA_LIGHTS > 0\n\n\t\t// TODO (abelnation): update vAreaShadowCoord with area light info\n\n\t#endif\n\t*/\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / shadowmask _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nfloat getShadowMask() {\n\n\tfloat shadow = 1.0;\n\n\t#ifdef USE_SHADOWMAP\n\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\n\tDirectionalLightShadow directionalLight;\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\n\t}\n\t#pragma unroll_loop_end\n\n\t#endif\n\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\n\tSpotLightShadow spotLight;\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\n\t}\n\t#pragma unroll_loop_end\n\n\t#endif\n\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\n\tPointLightShadow pointLight;\n\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\n\t}\n\t#pragma unroll_loop_end\n\n\t#endif\n\n\t/*\n\t#if NUM_RECT_AREA_LIGHTS > 0\n\n\t\t// TODO (abelnation): update shadow for Area light\n\n\t#endif\n\t*/\n\n\t#endif\n\n\treturn shadow;\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/skinbase_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / skinbase _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_SKINNING\n\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/skinbase_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/skinning_pars_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / skinning _pars _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_SKINNING\n\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\n\t#ifdef BONE_TEXTURE\n\n\t\tuniform highp sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\n\t\tmat4 getBoneMatrix( const in float i ) {\n\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\n\t\t\ty = dy * ( y + 0.5 );\n\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\n\t\t\treturn bone;\n\n\t\t}\n\n\t#else\n\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\n\t\tmat4 getBoneMatrix( const in float i ) {\n\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\n\t\t}\n\n\t#endif\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/skinning_pars_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/skinning_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / skinning _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_SKINNING\n\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/skinning_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/skinnormal_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / skinnormal _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_SKINNING\n\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\n\t#ifdef USE_TANGENT\n\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\n\t#endif\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/skinnormal_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/specularmap_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / specularmap _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nfloat specularStrength;\n\n#ifdef USE_SPECULARMAP\n\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n\n#else\n\n\tspecularStrength = 1.0;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/specularmap_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/specularmap_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / specularmap _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_SPECULARMAP\n\n\tuniform sampler2D specularMap;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/specularmap_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/tonemapping_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / tonemapping _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#if defined( TONE_MAPPING )\n\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/tonemapping_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / tonemapping _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifndef saturate\n// <common> may have defined saturate() already\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\n\nuniform float toneMappingExposure;\n\n// exposure only\nvec3 LinearToneMapping( vec3 color ) {\n\n\treturn toneMappingExposure * color;\n\n}\n\n// source: https://www.cs.utah.edu/~reinhard/cdrom/\nvec3 ReinhardToneMapping( vec3 color ) {\n\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n\n}\n\n// source: http://filmicworlds.com/blog/filmic-tonemapping-operators/\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\n\t// optimized filmic operator by Jim Hejl and Richard Burgess-Dawson\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n\n}\n\n// source: https://github.com/selfshadow/ltc_code/blob/master/webgl/shaders/ltc/ltc_blit.fs\nvec3 RRTAndODTFit( vec3 v ) {\n\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n\n}\n\n// this implementation of ACES is modified to accommodate a brighter viewing environment.\n// the scale factor of 1/0.6 is subjective. see discussion in #19621.\n\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\n\t// sRGB => XYZ => D65_2_D60 => AP1 => RRT_SAT\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ), // transposed from source\n\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\n\t// ODT_SAT => XYZ => D60_2_D65 => sRGB\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3( 1.60475, -0.10208, -0.00327 ), // transposed from source\n\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t);\n\n\tcolor *= toneMappingExposure / 0.6;\n\n\tcolor = ACESInputMat * color;\n\n\t// Apply RRT and ODT\n\tcolor = RRTAndODTFit( color );\n\n\tcolor = ACESOutputMat * color;\n\n\t// Clamp to [0, 1]\n\treturn saturate( color );\n\n}\n\nvec3 CustomToneMapping( vec3 color ) { return color; }\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/transmissionmap_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / transmissionmap _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_TRANSMISSIONMAP\n\n\ttotalTransmission *= texture2D( transmissionMap, vUv ).r;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/transmissionmap_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/transmissionmap_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / transmissionmap _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_TRANSMISSIONMAP\n\n\tuniform sampler2D transmissionMap;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/transmissionmap_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/uv2_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / uv2 _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\n\tvarying vec2 vUv2;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/uv2_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/uv2_pars_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / uv2 _pars _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\n\tuniform mat3 uv2Transform;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/uv2_pars_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/uv2_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / uv2 _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/uv2_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/uv_pars_fragment.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / uv _pars _fragment . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\n\tvarying vec2 vUv;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/uv_pars_fragment.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/uv_pars_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / uv _pars _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_UV\n\n\t#ifdef UVS_VERTEX_ONLY\n\n\t\tvec2 vUv;\n\n\t#else\n\n\t\tvarying vec2 vUv;\n\n\t#endif\n\n\tuniform mat3 uvTransform;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/uv_pars_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/uv_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / uv _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#ifdef USE_UV\n\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/uv_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderChunk/worldpos_vertex.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderChunk / worldpos _vertex . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\n\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\n\t#ifdef USE_INSTANCING\n\n\t\tworldPosition = instanceMatrix * worldPosition;\n\n\t#endif\n\n\tworldPosition = modelMatrix * worldPosition;\n\n#endif\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderChunk/worldpos_vertex.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ShaderLib\": () => (/* binding */ ShaderLib)\n/* harmony export */ });\n/* harmony import */ var _ShaderChunk_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ShaderChunk.js */ \"./node_modules/three/src/renderers/shaders/ShaderChunk.js\");\n/* harmony import */ var _UniformsUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./UniformsUtils.js */ \"./node_modules/three/src/renderers/shaders/UniformsUtils.js\");\n/* harmony import */ var _math_Vector2_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../math/Vector2.js */ \"./node_modules/three/src/math/Vector2.js\");\n/* harmony import */ var _math_Vector3_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../math/Vector3.js */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _UniformsLib_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UniformsLib.js */ \"./node_modules/three/src/renderers/shaders/UniformsLib.js\");\n/* harmony import */ var _math_Color_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../math/Color.js */ \"./node_modules/three/src/math/Color.js\");\n/* harmony import */ var _math_Matrix3_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../math/Matrix3.js */ \"./node_modules/three/src/math/Matrix3.js\" ) ; \ n \ n \ n \ n \ n \ n \ n \ n \ nconst ShaderLib = { \ n \ n \ tbasic : { \ n \ n \ t \ tuniforms : ( 0 , _UniformsUtils _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . mergeUniforms ) ( [ \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . common , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . specularmap , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . envmap , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . aomap , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . lightmap , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . fog \ n \ t \ t ] ) , \ n \ n \ t \ tvertexShader : _ShaderChunk _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . ShaderChunk . meshbasic _vert , \ n \ t \ tfragmentShader : _ShaderChunk _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . ShaderChunk . meshbasic _frag \ n \ n \ t } , \ n \ n \ tlambert : { \ n \ n \ t \ tuniforms : ( 0 , _UniformsUtils _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . mergeUniforms ) ( [ \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . common , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . specularmap , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . envmap , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . aomap , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . lightmap , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . emissivemap , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . fog , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . lights , \ n \ t \ t \ t { \ n \ t \ t \ t \ temissive : { value : new _math _Color _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Color ( 0x000000 ) } \ n \ t \ t \ t } \ n \ t \ t ] ) , \ n \ n \ t \ tvertexShader : _ShaderChunk _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . ShaderChunk . meshlambert _vert , \ n \ t \ tfragmentShader : _ShaderChunk _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . ShaderChunk . meshlambert _frag \ n \ n \ t } , \ n \ n \ tphong : { \ n \ n \ t \ tuniforms : ( 0 , _UniformsUtils _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . mergeUniforms ) ( [ \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . common , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . specularmap , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . envmap , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . aomap , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . lightmap , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . emissivemap , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . bumpmap , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . normalmap , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . displacementmap , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UniformsLib . fog , \ n \ t \ t \ t _UniformsLib _js _ _WEBPACK _IMP
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/background_frag.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / background _frag . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nuniform sampler2D t2D;\n\nvarying vec2 vUv;\n\nvoid main() {\n\n\tvec4 texColor = texture2D( t2D, vUv );\n\n\tgl_FragColor = mapTexelToLinear( texColor );\n\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/background_frag.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/background_vert.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / background _vert . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nvarying vec2 vUv;\nuniform mat3 uvTransform;\n\nvoid main() {\n\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/background_vert.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/cube_frag.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / cube _frag . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#include <envmap_common_pars_fragment>\nuniform float opacity;\n\nvarying vec3 vWorldDirection;\n\n#include <cube_uv_reflection_fragment>\n\nvoid main() {\n\n\tvec3 vReflect = vWorldDirection;\n\t#include <envmap_fragment>\n\n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/cube_frag.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/cube_vert.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / cube _vert . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nvarying vec3 vWorldDirection;\n\n#include <common>\n\nvoid main() {\n\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\n\tgl_Position.z = gl_Position.w; // set z to camera.far\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/cube_vert.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/depth_frag.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / depth _frag . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#if DEPTH_PACKING == 3200\n\n\tuniform float opacity;\n\n#endif\n\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\n\nvarying vec2 vHighPrecisionZW;\n\nvoid main() {\n\n\t#include <clipping_planes_fragment>\n\n\tvec4 diffuseColor = vec4( 1.0 );\n\n\t#if DEPTH_PACKING == 3200\n\n\t\tdiffuseColor.a = opacity;\n\n\t#endif\n\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\n\t#include <logdepthbuf_fragment>\n\n\t// Higher precision equivalent of gl_FragCoord.z. This assumes depthRange has been left to its default values.\n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\n\t#if DEPTH_PACKING == 3200\n\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\n\t#elif DEPTH_PACKING == 3201\n\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\n\t#endif\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/depth_frag.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/depth_vert.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / depth _vert . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\n\n// This is used for computing an equivalent of gl_FragCoord.z that is as high precision as possible.\n// Some platforms compute gl_FragCoord at a lower precision which makes the manually computed value better for\n// depth-based postprocessing effects. Reproduced on iPad with A10 processor / iPadOS 13.3.1.\nvarying vec2 vHighPrecisionZW;\n\nvoid main() {\n\n\t#include <uv_vertex>\n\n\t#include <skinbase_vertex>\n\n\t#ifdef USE_DISPLACEMENTMAP\n\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\n\t#endif\n\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\n\tvHighPrecisionZW = gl_Position.zw;\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/depth_vert.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/distanceRGBA_frag.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / distanceRGBA _frag . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#define DISTANCE\n\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <clipping_planes_pars_fragment>\n\nvoid main () {\n\n\t#include <clipping_planes_fragment>\n\n\tvec4 diffuseColor = vec4( 1.0 );\n\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist ); // clamp to [ 0, 1 ]\n\n\tgl_FragColor = packDepthToRGBA( dist );\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/distanceRGBA_frag.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/distanceRGBA_vert.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / distanceRGBA _vert . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#define DISTANCE\n\nvarying vec3 vWorldPosition;\n\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <clipping_planes_pars_vertex>\n\nvoid main() {\n\n\t#include <uv_vertex>\n\n\t#include <skinbase_vertex>\n\n\t#ifdef USE_DISPLACEMENTMAP\n\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\n\t#endif\n\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\n\tvWorldPosition = worldPosition.xyz;\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/distanceRGBA_vert.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/equirect_frag.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / equirect _frag . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nuniform sampler2D tEquirect;\n\nvarying vec3 vWorldDirection;\n\n#include <common>\n\nvoid main() {\n\n\tvec3 direction = normalize( vWorldDirection );\n\n\tvec2 sampleUV = equirectUv( direction );\n\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\n\tgl_FragColor = mapTexelToLinear( texColor );\n\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/equirect_frag.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/equirect_vert.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / equirect _vert . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nvarying vec3 vWorldDirection;\n\n#include <common>\n\nvoid main() {\n\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/equirect_vert.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/linedashed_frag.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / linedashed _frag . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nuniform vec3 diffuse;\nuniform float opacity;\n\nuniform float dashSize;\nuniform float totalSize;\n\nvarying float vLineDistance;\n\n#include <common>\n#include <color_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\n\nvoid main() {\n\n\t#include <clipping_planes_fragment>\n\n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\n\t\tdiscard;\n\n\t}\n\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\n\t#include <logdepthbuf_fragment>\n\t#include <color_fragment>\n\n\toutgoingLight = diffuseColor.rgb; // simple shader\n\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/linedashed_frag.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/linedashed_vert.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / linedashed _vert . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nuniform float scale;\nattribute float lineDistance;\n\nvarying float vLineDistance;\n\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\n\nvoid main() {\n\n\tvLineDistance = scale * lineDistance;\n\n\t#include <color_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/linedashed_vert.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/meshbasic_frag.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / meshbasic _frag . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nuniform vec3 diffuse;\nuniform float opacity;\n\n#ifndef FLAT_SHADED\n\n\tvarying vec3 vNormal;\n\n#endif\n\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <fog_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\n\nvoid main() {\n\n\t#include <clipping_planes_fragment>\n\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\n\t// accumulation (baked indirect lighting only)\n\t#ifdef USE_LIGHTMAP\n\t\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\n\t#else\n\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\n\t#endif\n\n\t// modulation\n\t#include <aomap_fragment>\n\n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\n\t#include <envmap_fragment>\n\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/meshbasic_frag.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/meshbasic_vert.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / meshbasic _vert . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\n\nvoid main() {\n\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <skinbase_vertex>\n\n\t#ifdef USE_ENVMAP\n\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\n\t#endif\n\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <envmap_vertex>\n\t#include <fog_vertex>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/meshbasic_vert.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/meshlambert_frag.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / meshlambert _frag . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n\n\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <fog_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\n\nvoid main() {\n\n\t#include <clipping_planes_fragment>\n\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <emissivemap_fragment>\n\n\t// accumulation\n\n\t#ifdef DOUBLE_SIDED\n\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\n\t#else\n\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\n\t#endif\n\n\t#include <lightmap_fragment>\n\n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\n\t#ifdef DOUBLE_SIDED\n\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\n\t#else\n\n\t\treflectedLight.directDiffuse = vLightFront;\n\n\t#endif\n\n\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\n\t// modulation\n\n\t#include <aomap_fragment>\n\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\n\t#include <envmap_fragment>\n\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/meshlambert_frag.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/meshlambert_vert.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / meshlambert _vert . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#define LAMBERT\n\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\n\nvoid main() {\n\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <lights_lambert_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/meshlambert_vert.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/meshmatcap_frag.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / meshmatcap _frag . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#define MATCAP\n\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\n\nvarying vec3 vViewPosition;\n\n#ifndef FLAT_SHADED\n\n\tvarying vec3 vNormal;\n\n#endif\n\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n\n#include <fog_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\n\nvoid main() {\n\n\t#include <clipping_planes_fragment>\n\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5; // 0.495 to remove artifacts caused by undersized matcap disks\n\n\t#ifdef USE_MATCAP\n\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\n\t#else\n\n\t\tvec4 matcapColor = vec4( 1.0 );\n\n\t#endif\n\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/meshmatcap_frag.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/meshmatcap_vert.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / meshmatcap _vert . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#define MATCAP\n\nvarying vec3 vViewPosition;\n\n#ifndef FLAT_SHADED\n\n\tvarying vec3 vNormal;\n\n#endif\n\n#include <common>\n#include <uv_pars_vertex>\n#include <color_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\n\nvoid main() {\n\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\n\t#ifndef FLAT_SHADED // Normal computed with derivatives when FLAT_SHADED\n\n\t\tvNormal = normalize( transformedNormal );\n\n\t#endif\n\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n\n\tvViewPosition = - mvPosition.xyz;\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/meshmatcap_vert.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/meshphong_frag.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / meshphong _frag . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#define PHONG\n\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <lights_phong_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\n\nvoid main() {\n\n\t#include <clipping_planes_fragment>\n\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\n\t// accumulation\n\t#include <lights_phong_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\n\t// modulation\n\t#include <aomap_fragment>\n\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\n\t#include <envmap_fragment>\n\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/meshphong_frag.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/meshphong_vert.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / meshphong _vert . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#define PHONG\n\nvarying vec3 vViewPosition;\n\n#ifndef FLAT_SHADED\n\n\tvarying vec3 vNormal;\n\n#endif\n\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\n\nvoid main() {\n\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\n#ifndef FLAT_SHADED // Normal computed with derivatives when FLAT_SHADED\n\n\tvNormal = normalize( transformedNormal );\n\n#endif\n\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\n\tvViewPosition = - mvPosition.xyz;\n\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/meshphong_vert.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/meshphysical_frag.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / meshphysical _frag . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#define STANDARD\n\n#ifdef PHYSICAL\n\t#define REFLECTIVITY\n\t#define CLEARCOAT\n\t#define TRANSMISSION\n#endif\n\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n\n#ifdef TRANSMISSION\n\tuniform float transmission;\n#endif\n\n#ifdef REFLECTIVITY\n\tuniform float reflectivity;\n#endif\n\n#ifdef CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n\n#ifdef USE_SHEEN\n\tuniform vec3 sheen;\n#endif\n\nvarying vec3 vViewPosition;\n\n#ifndef FLAT_SHADED\n\n\tvarying vec3 vNormal;\n\n\t#ifdef USE_TANGENT\n\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\n\t#endif\n\n#endif\n\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <transmissionmap_pars_fragment>\n#include <bsdfs>\n#include <cube_uv_reflection_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <lights_pars_begin>\n#include <lights_physical_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <clearcoat_pars_fragment>\n#include <roughnessmap_pars_fragment>\n#include <metalnessmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\n\nvoid main() {\n\n\t#include <clipping_planes_fragment>\n\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\n\t#ifdef TRANSMISSION\n\t\tfloat totalTransmission = transmission;\n\t#endif\n\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <roughnessmap_fragment>\n\t#include <metalnessmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <clearcoat_normal_fragment_begin>\n\t#include <clearcoat_normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <transmissionmap_fragment>\n\n\t// accumulation\n\t#include <lights_physical_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\n\t// modulation\n\t#include <aomap_fragment>\n\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\n\t// this is a stub for the transmission model\n\t#ifdef TRANSMISSION\n\t\tdiffuseColor.a *= mix( saturate( 1. - totalTransmission + linearToRelativeLuminance( reflectedLight.directSpecular + reflectedLight.indirectSpecular ) ), 1.0, metalness );\n\t#endif\n\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/meshphysical_frag.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/meshphysical_vert.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / meshphysical _vert . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#define STANDARD\n\nvarying vec3 vViewPosition;\n\n#ifndef FLAT_SHADED\n\n\tvarying vec3 vNormal;\n\n\t#ifdef USE_TANGENT\n\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\n\t#endif\n\n#endif\n\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\n\nvoid main() {\n\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\n#ifndef FLAT_SHADED // Normal computed with derivatives when FLAT_SHADED\n\n\tvNormal = normalize( transformedNormal );\n\n\t#ifdef USE_TANGENT\n\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\n\t#endif\n\n#endif\n\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\n\tvViewPosition = - mvPosition.xyz;\n\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/meshphysical_vert.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/meshtoon_frag.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / meshtoon _frag . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#define TOON\n\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <lights_toon_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\n\nvoid main() {\n\n\t#include <clipping_planes_fragment>\n\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\n\t// accumulation\n\t#include <lights_toon_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\n\t// modulation\n\t#include <aomap_fragment>\n\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/meshtoon_frag.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/meshtoon_vert.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / meshtoon _vert . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#define TOON\n\nvarying vec3 vViewPosition;\n\n#ifndef FLAT_SHADED\n\n\tvarying vec3 vNormal;\n\n#endif\n\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\n\nvoid main() {\n\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\n#ifndef FLAT_SHADED // Normal computed with derivatives when FLAT_SHADED\n\n\tvNormal = normalize( transformedNormal );\n\n#endif\n\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\n\tvViewPosition = - mvPosition.xyz;\n\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/meshtoon_vert.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/normal_frag.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / normal _frag . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#define NORMAL\n\nuniform float opacity;\n\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\n\tvarying vec3 vViewPosition;\n\n#endif\n\n#ifndef FLAT_SHADED\n\n\tvarying vec3 vNormal;\n\n\t#ifdef USE_TANGENT\n\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\n\t#endif\n\n#endif\n\n#include <packing>\n#include <uv_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\n\nvoid main() {\n\n\t#include <clipping_planes_fragment>\n\t#include <logdepthbuf_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/normal_frag.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/normal_vert.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / normal _vert . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#define NORMAL\n\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\n\tvarying vec3 vViewPosition;\n\n#endif\n\n#ifndef FLAT_SHADED\n\n\tvarying vec3 vNormal;\n\n\t#ifdef USE_TANGENT\n\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\n\t#endif\n\n#endif\n\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\n\nvoid main() {\n\n\t#include <uv_vertex>\n\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\n#ifndef FLAT_SHADED // Normal computed with derivatives when FLAT_SHADED\n\n\tvNormal = normalize( transformedNormal );\n\n\t#ifdef USE_TANGENT\n\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\n\t#endif\n\n#endif\n\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\n\tvViewPosition = - mvPosition.xyz;\n\n#endif\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/normal_vert.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/points_frag.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / points _frag . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nuniform vec3 diffuse;\nuniform float opacity;\n\n#include <common>\n#include <color_pars_fragment>\n#include <map_particle_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\n\nvoid main() {\n\n\t#include <clipping_planes_fragment>\n\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\n\t#include <logdepthbuf_fragment>\n\t#include <map_particle_fragment>\n\t#include <color_fragment>\n\t#include <alphatest_fragment>\n\n\toutgoingLight = diffuseColor.rgb;\n\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/points_frag.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/points_vert.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / points _vert . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nuniform float size;\nuniform float scale;\n\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\n\nvoid main() {\n\n\t#include <color_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\n\tgl_PointSize = size;\n\n\t#ifdef USE_SIZEATTENUATION\n\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\n\t#endif\n\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <fog_vertex>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/points_vert.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/shadow_frag.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / shadow _frag . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nuniform vec3 color;\nuniform float opacity;\n\n#include <common>\n#include <packing>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\n\nvoid main() {\n\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/shadow_frag.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/shadow_vert.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / shadow _vert . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\n#include <common>\n#include <fog_pars_vertex>\n#include <shadowmap_pars_vertex>\n\nvoid main() {\n\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/shadow_vert.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/sprite_frag.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / sprite _frag . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nuniform vec3 diffuse;\nuniform float opacity;\n\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\n\nvoid main() {\n\n\t#include <clipping_planes_fragment>\n\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\n\toutgoingLight = diffuseColor.rgb;\n\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/sprite_frag.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/sprite_vert.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / sprite _vert . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nuniform float rotation;\nuniform vec2 center;\n\n#include <common>\n#include <uv_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\n\nvoid main() {\n\n\t#include <uv_vertex>\n\n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\n\t#ifndef USE_SIZEATTENUATION\n\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\n\t#endif\n\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\n\tmvPosition.xy += rotatedPosition;\n\n\tgl_Position = projectionMatrix * mvPosition;\n\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/sprite_vert.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/vsm_frag.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / vsm _frag . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nuniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n\n#include <packing>\n\nvoid main() {\n\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\n\t// This seems totally useless but it's a crazy work around for a Adreno compiler bug\n\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy ) / resolution ) );\n\n\tfor ( float i = -1.0; i < 1.0 ; i += SAMPLE_RATE) {\n\n\t\t#ifdef HORIZONTAL_PASS\n\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( i, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\n\t\t#else\n\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, i ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\n\t\t#endif\n\n\t}\n\n\tmean = mean * HALF_SAMPLE_RATE;\n\tsquared_mean = squared_mean * HALF_SAMPLE_RATE;\n\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/vsm_frag.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/ShaderLib/vsm_vert.glsl.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / ShaderLib / vsm _vert . glsl . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/* glsl */`\nvoid main() {\n\n\tgl_Position = vec4( position, 1.0 );\n\n}\n`);\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/ShaderLib/vsm_vert.glsl.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/UniformsLib.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / UniformsLib . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"UniformsLib\": () => (/* binding */ UniformsLib)\n/* harmony export */ });\n/* harmony import */ var _math_Color_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../math/Color.js */ \"./node_modules/three/src/math/Color.js\");\n/* harmony import */ var _math_Vector2_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../math/Vector2.js */ \"./node_modules/three/src/math/Vector2.js\");\n/* harmony import */ var _math_Matrix3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../math/Matrix3.js */ \"./node_modules/three/src/math/Matrix3.js\" ) ; \ n \ n \ n \ n \ n /**\n * Uniforms library for shared webgl shaders\n */ \ n \ nconst UniformsLib = { \ n \ n \ tcommon : { \ n \ n \ t \ tdiffuse : { value : new _math _Color _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Color ( 0xeeeeee ) } , \ n \ t \ topacity : { value : 1.0 } , \ n \ n \ t \ tmap : { value : null } , \ n \ t \ tuvTransform : { value : new _math _Matrix3 _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Matrix3 ( ) } , \ n \ t \ tuv2Transform : { value : new _math _Matrix3 _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Matrix3 ( ) } , \ n \ n \ t \ talphaMap : { value : null } , \ n \ n \ t } , \ n \ n \ tspecularmap : { \ n \ n \ t \ tspecularMap : { value : null } , \ n \ n \ t } , \ n \ n \ tenvmap : { \ n \ n \ t \ tenvMap : { value : null } , \ n \ t \ tflipEnvMap : { value : - 1 } , \ n \ t \ treflectivity : { value : 1.0 } , \ n \ t \ trefractionRatio : { value : 0.98 } , \ n \ t \ tmaxMipLevel : { value : 0 } \ n \ n \ t } , \ n \ n \ taomap : { \ n \ n \ t \ taoMap : { value : null } , \ n \ t \ taoMapIntensity : { value : 1 } \ n \ n \ t } , \ n \ n \ tlightmap : { \ n \ n \ t \ tlightMap : { value : null } , \ n \ t \ tlightMapIntensity : { value : 1 } \ n \ n \ t } , \ n \ n \ temissivemap : { \ n \ n \ t \ temissiveMap : { value : null } \ n \ n \ t } , \ n \ n \ tbumpmap : { \ n \ n \ t \ tbumpMap : { value : null } , \ n \ t \ tbumpScale : { value : 1 } \ n \ n \ t } , \ n \ n \ tnormalmap : { \ n \ n \ t \ tnormalMap : { value : null } , \ n \ t \ tnormalScale : { value : new _math _Vector2 _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Vector2 ( 1 , 1 ) } \ n \ n \ t } , \ n \ n \ tdisplacementmap : { \ n \ n \ t \ tdisplacementMap : { value : null } , \ n \ t \ tdisplacementScale : { value : 1 } , \ n \ t \ tdisplacementBias : { value : 0 } \ n \ n \ t } , \ n \ n \ troughnessmap : { \ n \ n \ t \ troughnessMap : { value : null } \ n \ n \ t } , \ n \ n \ tmetalnessmap : { \ n \ n \ t \ tmetalnessMap : { value : null } \ n \ n \ t } , \ n \ n \ tgradientmap : { \ n \ n \ t \ tgradientMap : { value : null } \ n \ n \ t } , \ n \ n \ tfog : { \ n \ n \ t \ tfogDensity : { value : 0.00025 } , \ n \ t \ tfogNear : { value : 1 } , \ n \ t \ tfogFar : { value : 2000 } , \ n \ t \ tfogColor : { value : new _math _Color _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Color ( 0xffffff ) } \ n \ n \ t } , \ n \ n \ tlights : { \ n \ n \ t \ tambientLightColor : { value : [ ] } , \ n \ n \ t \ tlightProbe : { value : [ ] } , \ n \ n \ t \ tdirectionalLights : { value : [ ] , properties : { \ n \ t \ t \ tdirection : { } , \ n \ t \ t \ tcolor : { } \ n \ t \ t } } , \ n \ n \ t \ tdirectionalLightShadows : { value : [ ] , properties : { \ n \ t \ t \ tshadowBias : { } , \ n \ t \ t \ tshadowNormalBias : { } , \ n \ t \ t \ tshadowRadius : { } , \ n \ t \ t \ tshadowMapSize : { } \ n \ t \ t } } , \ n \ n \ t \ tdirectionalShadowMap : { value : [ ] } , \ n \ t \ tdirectionalShadowMatrix : { value : [ ] } , \ n \ n \ t \ tspotLights : { value : [ ] , properties : { \ n \ t \ t \ tcolor : { } , \ n \ t \ t \ tposition : { } , \ n \ t \ t \ tdirection : { } , \ n \ t \ t \ tdistance : { } , \ n \ t \ t \ tconeCos : { } , \ n \ t \ t \ tpenumbraCos : { } , \ n \ t \ t \ tdecay : { } \ n \ t \ t } } , \ n \ n \ t \ tspotLightShadows : { value : [ ] , properties : { \ n \ t \ t \ tshadowBias : { } , \ n \ t \ t \ tshadowNormalBias : { } , \ n \ t \ t \ tshadowRadius : { } , \ n \ t \ t \ tshadowMapSize : { } \ n \ t \ t } } , \ n \ n \ t \ tspotShadowMap : { value : [ ] } , \ n \ t \ tspotShadowMatrix : { value : [ ] } , \ n \ n \ t \ tpointLights : { value : [ ] , properties : { \ n \ t \ t \ tcolor : { } , \ n \ t \ t \ tposition : { } , \ n \ t \ t \ tdecay : { } , \ n \ t \ t \ tdistance : { } \ n \ t \ t } } , \ n \ n \ t \ tpointLightShadows : { value : [ ] , properties : { \ n \ t \ t \ tshadowBias : { } , \ n \ t \ t \ tshadowNormalBias : { } , \ n \ t \ t \ tshadowRadius : { } , \ n \ t \ t \ tshadowMapSize : { } , \ n \ t \ t \ tshadowCameraNear : { } , \ n \ t \ t \ tshadowCameraFar : { } \ n \ t \ t } } , \ n \ n \ t \ tpointShadowMap : { value : [ ] } , \ n \ t \ tpointShadowMatrix : { value : [ ] } , \ n \ n \ t \ themisphereLights : { value : [ ] , properties : { \ n \ t \ t \ tdirection : { } , \ n \ t \ t \ tskyColor : { } , \ n \ t \ t \ tgroundColor : { } \ n \ t \ t } } , \ n \ n \ t \ t // TODO (abelnation): RectAreaLight BRDF data needs to be moved from example to main src\n\t\trectAreaLights: { value: [], properties: {
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/shaders/UniformsUtils.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / shaders / UniformsUtils . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"cloneUniforms\": () => (/* binding */ cloneUniforms),\n/* harmony export */ \"mergeUniforms\": () => (/* binding */ mergeUniforms),\n/* harmony export */ \"UniformsUtils\": () => (/* binding */ UniformsUtils)\n/* harmony export */ });\n/**\n * Uniform Utilities\n */\n\nfunction cloneUniforms( src ) {\n\n\tconst dst = {};\n\n\tfor ( const u in src ) {\n\n\t\tdst[ u ] = {};\n\n\t\tfor ( const p in src[ u ] ) {\n\n\t\t\tconst property = src[ u ][ p ];\n\n\t\t\tif ( property && ( property.isColor ||\n\t\t\t\tproperty.isMatrix3 || property.isMatrix4 ||\n\t\t\t\tproperty.isVector2 || property.isVector3 || property.isVector4 ||\n\t\t\t\tproperty.isTexture || property.isQuaternion ) ) {\n\n\t\t\t\tdst[ u ][ p ] = property.clone();\n\n\t\t\t} else if ( Array.isArray( property ) ) {\n\n\t\t\t\tdst[ u ][ p ] = property.slice();\n\n\t\t\t} else {\n\n\t\t\t\tdst[ u ][ p ] = property;\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\treturn dst;\n\n}\n\nfunction mergeUniforms( uniforms ) {\n\n\tconst merged = {};\n\n\tfor ( let u = 0; u < uniforms.length; u ++ ) {\n\n\t\tconst tmp = cloneUniforms( uniforms[ u ] );\n\n\t\tfor ( const p in tmp ) {\n\n\t\t\tmerged[ p ] = tmp[ p ];\n\n\t\t}\n\n\t}\n\n\treturn merged;\n\n}\n\n// Legacy\n\nconst UniformsUtils = { clone: cloneUniforms, merge: mergeUniforms };\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/shaders/UniformsUtils.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLAnimation.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLAnimation . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLAnimation\": () => (/* binding */ WebGLAnimation)\n/* harmony export */ });\nfunction WebGLAnimation() {\n\n\tlet context = null;\n\tlet isAnimating = false;\n\tlet animationLoop = null;\n\tlet requestId = null;\n\n\tfunction onAnimationFrame( time, frame ) {\n\n\t\tanimationLoop( time, frame );\n\n\t\trequestId = context.requestAnimationFrame( onAnimationFrame );\n\n\t}\n\n\treturn {\n\n\t\tstart: function () {\n\n\t\t\tif ( isAnimating === true ) return;\n\t\t\tif ( animationLoop === null ) return;\n\n\t\t\trequestId = context.requestAnimationFrame( onAnimationFrame );\n\n\t\t\tisAnimating = true;\n\n\t\t},\n\n\t\tstop: function () {\n\n\t\t\tcontext.cancelAnimationFrame( requestId );\n\n\t\t\tisAnimating = false;\n\n\t\t},\n\n\t\tsetAnimationLoop: function ( callback ) {\n\n\t\t\tanimationLoop = callback;\n\n\t\t},\n\n\t\tsetContext: function ( value ) {\n\n\t\t\tcontext = value;\n\n\t\t}\n\n\t};\n\n}\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/webgl/WebGLAnimation.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLAttributes.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLAttributes . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLAttributes\" : ( ) => ( /* binding */ WebGLAttributes ) \ n /* harmony export */ } ) ; \ nfunction WebGLAttributes ( gl , capabilities ) { \ n \ n \ tconst isWebGL2 = capabilities . isWebGL2 ; \ n \ n \ tconst buffers = new WeakMap ( ) ; \ n \ n \ tfunction createBuffer ( attribute , bufferType ) { \ n \ n \ t \ tconst array = attribute . array ; \ n \ t \ tconst usage = attribute . usage ; \ n \ n \ t \ tconst buffer = gl . createBuffer ( ) ; \ n \ n \ t \ tgl . bindBuffer ( bufferType , buffer ) ; \ n \ t \ tgl . bufferData ( bufferType , array , usage ) ; \ n \ n \ t \ tattribute . onUploadCallback ( ) ; \ n \ n \ t \ tlet type = gl . FLOAT ; \ n \ n \ t \ tif ( array instanceof Float32Array ) { \ n \ n \ t \ t \ ttype = gl . FLOAT ; \ n \ n \ t \ t } else if ( array instanceof Float64Array ) { \ n \ n \ t \ t \ tconsole . warn ( 'THREE.WebGLAttributes: Unsupported data buffer format: Float64Array.' ) ; \ n \ n \ t \ t } else if ( array instanceof Uint16Array ) { \ n \ n \ t \ t \ tif ( attribute . isFloat16BufferAttribute ) { \ n \ n \ t \ t \ t \ tif ( isWebGL2 ) { \ n \ n \ t \ t \ t \ t \ ttype = gl . HALF _FLOAT ; \ n \ n \ t \ t \ t \ t } else { \ n \ n \ t \ t \ t \ t \ tconsole . warn ( 'THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.' ) ; \ n \ n \ t \ t \ t \ t } \ n \ n \ t \ t \ t } else { \ n \ n \ t \ t \ t \ ttype = gl . UNSIGNED _SHORT ; \ n \ n \ t \ t \ t } \ n \ n \ t \ t } else if ( array instanceof Int16Array ) { \ n \ n \ t \ t \ ttype = gl . SHORT ; \ n \ n \ t \ t } else if ( array instanceof Uint32Array ) { \ n \ n \ t \ t \ ttype = gl . UNSIGNED _INT ; \ n \ n \ t \ t } else if ( array instanceof Int32Array ) { \ n \ n \ t \ t \ ttype = gl . INT ; \ n \ n \ t \ t } else if ( array instanceof Int8Array ) { \ n \ n \ t \ t \ ttype = gl . BYTE ; \ n \ n \ t \ t } else if ( array instanceof Uint8Array ) { \ n \ n \ t \ t \ ttype = gl . UNSIGNED _BYTE ; \ n \ n \ t \ t } \ n \ n \ t \ treturn { \ n \ t \ t \ tbuffer : buffer , \ n \ t \ t \ ttype : type , \ n \ t \ t \ tbytesPerElement : array . BYTES _PER _ELEMENT , \ n \ t \ t \ tversion : attribute . version \ n \ t \ t } ; \ n \ n \ t } \ n \ n \ tfunction updateBuffer ( buffer , attribute , bufferType ) { \ n \ n \ t \ tconst array = attribute . array ; \ n \ t \ tconst updateRange = attribute . updateRange ; \ n \ n \ t \ tgl . bindBuffer ( bufferType , buffer ) ; \ n \ n \ t \ tif ( updateRange . count === - 1 ) { \ n \ n \ t \ t \ t // Not using update ranges\n\n\t\t\tgl.bufferSubData( bufferType, 0, array );\n\n\t\t} else {\n\n\t\t\tif ( isWebGL2 ) {\n\n\t\t\t\tgl.bufferSubData( bufferType, updateRange.offset * array.BYTES_PER_ELEMENT,\n\t\t\t\t\tarray, updateRange.offset, updateRange.count );\n\n\t\t\t} else {\n\n\t\t\t\tgl.bufferSubData( bufferType, updateRange.offset * array.BYTES_PER_ELEMENT,\n\t\t\t\t\tarray.subarray( updateRange.offset, updateRange.offset + updateRange.count ) );\n\n\t\t\t}\n\n\t\t\tupdateRange.count = - 1; // reset range\n\n\t\t}\n\n\t}\n\n\t//\n\n\tfunction get( attribute ) {\n\n\t\tif ( attribute.isInterleavedBufferAttribute ) attribute = attribute.data;\n\n\t\treturn buffers.get( attribute );\n\n\t}\n\n\tfunction remove( attribute ) {\n\n\t\tif ( attribute.isInterleavedBufferAttribute ) attribute = attribute.data;\n\n\t\tconst data = buffers.get( attribute );\n\n\t\tif ( data ) {\n\n\t\t\tgl.deleteBuffer( data.buffer );\n\n\t\t\tbuffers.delete( attribute );\n\n\t\t}\n\n\t}\n\n\tfunction update( attribute, bufferType ) {\n\n\t\tif ( attribute.isGLBufferAttribute ) {\n\n\t\t\tconst cached = buffers.get( attribute );\n\n\t\t\tif ( ! cached || cached.version < attribute.version ) {\n\n\t\t\t\tbuffers.set( attribute, {\n\t\t\t\t\tbuffer: attribute.buffer,\n\t\t\t\t\ttype: attribute.type,\n\t\t\t\t\tbytesPerElement: attribute.elementSize,\n\t\t\t\t\tversion: attribute.version\n\t\t\t\t} );\n\n\t\t\t}\n\n\t\t\treturn;\n\n\t\t}\n\n\t\tif ( attribute.isInterleavedBufferAttribute ) attribute = attribute.data;\n\n\t\tconst data = buffers.get( attribute );\n\n\t\tif ( data === undefined ) {\n\n\t\t\tbuffers.set( attribute, createBuffer( attribute, bufferType ) );\n\n\t\t} else if ( data.version < attribute.version ) {\n\n\t\t\tupdateBuffer( data.buffer, attribute, bufferType );\n\n\t\t\tdata.version = attribute.version;\n\n\t\t}\n\n\t}\n\n\treturn {\n\n\t\tget: get,\n\t\tremove: remove,\n\t\tupdate: update\n\n\t};\n\n}\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/webg
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLBackground.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLBackground . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLBackground\": () => (/* binding */ WebGLBackground)\n/* harmony export */ });\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../constants.js */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _geometries_BoxGeometry_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../geometries/BoxGeometry.js */ \"./node_modules/three/src/geometries/BoxGeometry.js\");\n/* harmony import */ var _geometries_PlaneGeometry_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../geometries/PlaneGeometry.js */ \"./node_modules/three/src/geometries/PlaneGeometry.js\");\n/* harmony import */ var _materials_ShaderMaterial_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../materials/ShaderMaterial.js */ \"./node_modules/three/src/materials/ShaderMaterial.js\");\n/* harmony import */ var _math_Color_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../math/Color.js */ \"./node_modules/three/src/math/Color.js\");\n/* harmony import */ var _objects_Mesh_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../objects/Mesh.js */ \"./node_modules/three/src/objects/Mesh.js\");\n/* harmony import */ var _shaders_ShaderLib_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../shaders/ShaderLib.js */ \"./node_modules/three/src/renderers/shaders/ShaderLib.js\");\n/* harmony import */ var _shaders_UniformsUtils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../shaders/UniformsUtils.js */ \"./node_modules/three/src/renderers/shaders/UniformsUtils.js\" ) ; \ n \ n \ n \ n \ n \ n \ n \ n \ n \ nfunction WebGLBackground ( renderer , cubemaps , state , objects , premultipliedAlpha ) { \ n \ n \ tconst clearColor = new _math _Color _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Color ( 0x000000 ) ; \ n \ tlet clearAlpha = 0 ; \ n \ n \ tlet planeMesh ; \ n \ tlet boxMesh ; \ n \ n \ tlet currentBackground = null ; \ n \ tlet currentBackgroundVersion = 0 ; \ n \ tlet currentTonemapping = null ; \ n \ n \ tfunction render ( renderList , scene , camera , forceClear ) { \ n \ n \ t \ tlet background = scene . isScene === true ? scene . background : null ; \ n \ n \ t \ tif ( background && background . isTexture ) { \ n \ n \ t \ t \ tbackground = cubemaps . get ( background ) ; \ n \ n \ t \ t } \ n \ n \ t \ t // Ignore background in AR\n\t\t// TODO: Reconsider this.\n\n\t\tconst xr = renderer.xr;\n\t\tconst session = xr.getSession && xr.getSession();\n\n\t\tif ( session && session.environmentBlendMode === 'additive' ) {\n\n\t\t\tbackground = null;\n\n\t\t}\n\n\t\tif ( background === null ) {\n\n\t\t\tsetClear( clearColor, clearAlpha );\n\n\t\t} else if ( background && background.isColor ) {\n\n\t\t\tsetClear( background, 1 );\n\t\t\tforceClear = true;\n\n\t\t}\n\n\t\tif ( renderer.autoClear || forceClear ) {\n\n\t\t\trenderer.clear( renderer.autoClearColor, renderer.autoClearDepth, renderer.autoClearStencil );\n\n\t\t}\n\n\t\tif ( background && ( background.isCubeTexture || background.isWebGLCubeRenderTarget || background.mapping === _constants_js__WEBPACK_IMPORTED_MODULE_1__.CubeUVReflectionMapping ) ) {\n\n\t\t\tif ( boxMesh === undefined ) {\n\n\t\t\t\tboxMesh = new _objects_Mesh_js__WEBPACK_IMPORTED_MODULE_2__.Mesh(\n\t\t\t\t\tnew _geometries_BoxGeometry_js__WEBPACK_IMPORTED_MODULE_3__.BoxGeometry( 1, 1, 1 ),\n\t\t\t\t\tnew _materials_ShaderMaterial_js__WEBPACK_IMPORTED_MODULE_4__.ShaderMaterial( {\n\t\t\t\t\t\tname: 'BackgroundCubeMaterial',\n\t\t\t\t\t\tuniforms: (0,_shaders_UniformsUtils_js__WEBPACK_IMPORTED_MODULE_5__.cloneUniforms)( _shaders_ShaderLib_js__WEBPACK_IMPORTED_MODULE_6__.ShaderLib.cube.uniforms ),\n\t\t\t\t\t\tvertexShader: _shaders_ShaderLib_js__WEBPACK_IMPORTED_MODULE_6__.ShaderLib.cube.vertexShader,\n\t\t\t\t\t\tfragmentShader: _shaders_ShaderLib_js__WEBPACK_IMPORTED_MODULE_6__.ShaderLib.cube.fragmentShader,\n\t\t\t\t\t\tside: _constants_js__WEBPACK_IMPORTED_MODULE_1__.BackSide,\n\t\t\t\t\t\tdepthTest: false,\n\t\t\t\t\t\tdepthWrite: false,\n\t\t\t\t\t\tfog: false\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\t\t\t\tb
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLBindingStates.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLBindingStates . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLBindingStates\" : ( ) => ( /* binding */ WebGLBindingStates ) \ n /* harmony export */ } ) ; \ n function WebGLBindingStates ( gl , extensions , attributes , capabilities ) { \ n \ n \ tconst maxVertexAttributes = gl . getParameter ( gl . MAX _VERTEX _ATTRIBS ) ; \ n \ n \ tconst extension = capabilities . isWebGL2 ? null : extensions . get ( 'OES_vertex_array_object' ) ; \ n \ tconst vaoAvailable = capabilities . isWebGL2 || extension !== null ; \ n \ n \ tconst bindingStates = { } ; \ n \ n \ tconst defaultState = createBindingState ( null ) ; \ n \ tlet currentState = defaultState ; \ n \ n \ tfunction setup ( object , material , program , geometry , index ) { \ n \ n \ t \ tlet updateBuffers = false ; \ n \ n \ t \ tif ( vaoAvailable ) { \ n \ n \ t \ t \ tconst state = getBindingState ( geometry , program , material ) ; \ n \ n \ t \ t \ tif ( currentState !== state ) { \ n \ n \ t \ t \ t \ tcurrentState = state ; \ n \ t \ t \ t \ tbindVertexArrayObject ( currentState . object ) ; \ n \ n \ t \ t \ t } \ n \ n \ t \ t \ tupdateBuffers = needsUpdate ( geometry , index ) ; \ n \ n \ t \ t \ tif ( updateBuffers ) saveCache ( geometry , index ) ; \ n \ n \ t \ t } else { \ n \ n \ t \ t \ tconst wireframe = ( material . wireframe === true ) ; \ n \ n \ t \ t \ tif ( currentState . geometry !== geometry . id || \ n \ t \ t \ t \ tcurrentState . program !== program . id || \ n \ t \ t \ t \ tcurrentState . wireframe !== wireframe ) { \ n \ n \ t \ t \ t \ tcurrentState . geometry = geometry . id ; \ n \ t \ t \ t \ tcurrentState . program = program . id ; \ n \ t \ t \ t \ tcurrentState . wireframe = wireframe ; \ n \ n \ t \ t \ t \ tupdateBuffers = true ; \ n \ n \ t \ t \ t } \ n \ n \ t \ t } \ n \ n \ t \ tif ( object . isInstancedMesh === true ) { \ n \ n \ t \ t \ tupdateBuffers = true ; \ n \ n \ t \ t } \ n \ n \ t \ tif ( index !== null ) { \ n \ n \ t \ t \ tattributes . update ( index , gl . ELEMENT _ARRAY _BUFFER ) ; \ n \ n \ t \ t } \ n \ n \ t \ tif ( updateBuffers ) { \ n \ n \ t \ t \ tsetupVertexAttributes ( object , material , program , geometry ) ; \ n \ n \ t \ t \ tif ( index !== null ) { \ n \ n \ t \ t \ t \ tgl . bindBuffer ( gl . ELEMENT _ARRAY _BUFFER , attributes . get ( index ) . buffer ) ; \ n \ n \ t \ t \ t } \ n \ n \ t \ t } \ n \ n \ t } \ n \ n \ tfunction createVertexArrayObject ( ) { \ n \ n \ t \ tif ( capabilities . isWebGL2 ) return gl . createVertexArray ( ) ; \ n \ n \ t \ treturn extension . createVertexArrayOES ( ) ; \ n \ n \ t } \ n \ n \ tfunction bindVertexArrayObject ( vao ) { \ n \ n \ t \ tif ( capabilities . isWebGL2 ) return gl . bindVertexArray ( vao ) ; \ n \ n \ t \ treturn extension . bindVertexArrayOES ( vao ) ; \ n \ n \ t } \ n \ n \ tfunction deleteVertexArrayObject ( vao ) { \ n \ n \ t \ tif ( capabilities . isWebGL2 ) return gl . deleteVertexArray ( vao ) ; \ n \ n \ t \ treturn extension . deleteVertexArrayOES ( vao ) ; \ n \ n \ t } \ n \ n \ tfunction getBindingState ( geometry , program , material ) { \ n \ n \ t \ tconst wireframe = ( material . wireframe === true ) ; \ n \ n \ t \ tlet programMap = bindingStates [ geometry . id ] ; \ n \ n \ t \ tif ( programMap === undefined ) { \ n \ n \ t \ t \ tprogramMap = { } ; \ n \ t \ t \ tbindingStates [ geometry . id ] = programMap ; \ n \ n \ t \ t } \ n \ n \ t \ tlet stateMap = programMap [ program . id ] ; \ n \ n \ t \ tif ( stateMap === undefined ) { \ n \ n \ t \ t \ tstateMap = { } ; \ n \ t \ t \ tprogramMap [ program . id ] = stateMap ; \ n \ n \ t \ t } \ n \ n \ t \ tlet state = stateMap [ wireframe ] ; \ n \ n \ t \ tif ( state === undefined ) { \ n \ n \ t \ t \ tstate = createBindingState ( createVertexArrayObject ( ) ) ; \ n \ t \ t \ tstateMap [ wireframe ] = state ; \ n \ n \ t \ t } \ n \ n \ t \ treturn state ; \ n \ n \ t } \ n \ n \ tfunction createBindingState ( vao ) { \ n \ n \ t \ tconst newAttributes = [ ] ; \ n \ t \ tconst enabledAttributes = [ ] ; \ n \ t \ tconst attributeDivisors = [ ] ; \ n \ n \ t \ tfor ( let i = 0 ; i < maxVertexAttributes ; i ++ ) { \ n \ n \ t \ t \ tnewAttributes [ i ] = 0 ; \ n \ t \ t \ tenabledAttributes [ i ] = 0 ; \ n \ t \ t \ tattributeDivisors [ i ] = 0 ; \ n \ n \ t \ t } \ n \ n \ t \ treturn { \ n \ n \ t \ t \ t // for backward compatibility on non-VAO support browser\n\t\t\tgeometry: null,\n\t\t\tprogram: null,\n\t\t\twireframe: false,\n\n\t\t\tnewAttributes: newAttributes,\n\t\t\tenabledAttributes: enabledAttributes,\n\t\t\tattributeDivisors: attributeDivisors,\n\t\t\tobject: vao,\n\t\t\tattributes: {},\n\t\t\tindex: null\n\n\t\t};\n\n\t}\n\n\tfunction needsUpdate( geometry, index ) {\n\n\t\tconst cachedAttributes = currentState.attributes;\n\t\tconst geometryAttributes = geometry.attributes;\n\n\t\tlet attributesNum = 0;\n\n\t\tfor ( const key in geometryAttributes
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLBufferRenderer.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLBufferRenderer . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLBufferRenderer\": () => (/* binding */ WebGLBufferRenderer)\n/* harmony export */ });\nfunction WebGLBufferRenderer( gl, extensions, info, capabilities ) {\n\n\tconst isWebGL2 = capabilities.isWebGL2;\n\n\tlet mode;\n\n\tfunction setMode( value ) {\n\n\t\tmode = value;\n\n\t}\n\n\tfunction render( start, count ) {\n\n\t\tgl.drawArrays( mode, start, count );\n\n\t\tinfo.update( count, mode, 1 );\n\n\t}\n\n\tfunction renderInstances( start, count, primcount ) {\n\n\t\tif ( primcount === 0 ) return;\n\n\t\tlet extension, methodName;\n\n\t\tif ( isWebGL2 ) {\n\n\t\t\textension = gl;\n\t\t\tmethodName = 'drawArraysInstanced';\n\n\t\t} else {\n\n\t\t\textension = extensions.get( 'ANGLE_instanced_arrays' );\n\t\t\tmethodName = 'drawArraysInstancedANGLE';\n\n\t\t\tif ( extension === null ) {\n\n\t\t\t\tconsole.error( 'THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.' );\n\t\t\t\treturn;\n\n\t\t\t}\n\n\t\t}\n\n\t\textension[ methodName ]( mode, start, count, primcount );\n\n\t\tinfo.update( count, mode, primcount );\n\n\t}\n\n\t//\n\n\tthis.setMode = setMode;\n\tthis.render = render;\n\tthis.renderInstances = renderInstances;\n\n}\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/webgl/WebGLBufferRenderer.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLCapabilities.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLCapabilities . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLCapabilities\": () => (/* binding */ WebGLCapabilities)\n/* harmony export */ });\nfunction WebGLCapabilities( gl, extensions, parameters ) {\n\n\tlet maxAnisotropy;\n\n\tfunction getMaxAnisotropy() {\n\n\t\tif ( maxAnisotropy !== undefined ) return maxAnisotropy;\n\n\t\tif ( extensions.has( 'EXT_texture_filter_anisotropic' ) === true ) {\n\n\t\t\tconst extension = extensions.get( 'EXT_texture_filter_anisotropic' );\n\n\t\t\tmaxAnisotropy = gl.getParameter( extension.MAX_TEXTURE_MAX_ANISOTROPY_EXT );\n\n\t\t} else {\n\n\t\t\tmaxAnisotropy = 0;\n\n\t\t}\n\n\t\treturn maxAnisotropy;\n\n\t}\n\n\tfunction getMaxPrecision( precision ) {\n\n\t\tif ( precision === 'highp' ) {\n\n\t\t\tif ( gl.getShaderPrecisionFormat( gl.VERTEX_SHADER, gl.HIGH_FLOAT ).precision > 0 &&\n\t\t\t\tgl.getShaderPrecisionFormat( gl.FRAGMENT_SHADER, gl.HIGH_FLOAT ).precision > 0 ) {\n\n\t\t\t\treturn 'highp';\n\n\t\t\t}\n\n\t\t\tprecision = 'mediump';\n\n\t\t}\n\n\t\tif ( precision === 'mediump' ) {\n\n\t\t\tif ( gl.getShaderPrecisionFormat( gl.VERTEX_SHADER, gl.MEDIUM_FLOAT ).precision > 0 &&\n\t\t\t\tgl.getShaderPrecisionFormat( gl.FRAGMENT_SHADER, gl.MEDIUM_FLOAT ).precision > 0 ) {\n\n\t\t\t\treturn 'mediump';\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn 'lowp';\n\n\t}\n\n\t/* eslint-disable no-undef */\n\tconst isWebGL2 = ( typeof WebGL2RenderingContext !== 'undefined' && gl instanceof WebGL2RenderingContext ) ||\n\t\t( typeof WebGL2ComputeRenderingContext !== 'undefined' && gl instanceof WebGL2ComputeRenderingContext );\n\t/* eslint-enable no-undef */\n\n\tlet precision = parameters.precision !== undefined ? parameters.precision : 'highp';\n\tconst maxPrecision = getMaxPrecision( precision );\n\n\tif ( maxPrecision !== precision ) {\n\n\t\tconsole.warn( 'THREE.WebGLRenderer:', precision, 'not supported, using', maxPrecision, 'instead.' );\n\t\tprecision = maxPrecision;\n\n\t}\n\n\tconst logarithmicDepthBuffer = parameters.logarithmicDepthBuffer === true;\n\n\tconst maxTextures = gl.getParameter( gl.MAX_TEXTURE_IMAGE_UNITS );\n\tconst maxVertexTextures = gl.getParameter( gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS );\n\tconst maxTextureSize = gl.getParameter( gl.MAX_TEXTURE_SIZE );\n\tconst maxCubemapSize = gl.getParameter( gl.MAX_CUBE_MAP_TEXTURE_SIZE );\n\n\tconst maxAttributes = gl.getParameter( gl.MAX_VERTEX_ATTRIBS );\n\tconst maxVertexUniforms = gl.getParameter( gl.MAX_VERTEX_UNIFORM_VECTORS );\n\tconst maxVaryings = gl.getParameter( gl.MAX_VARYING_VECTORS );\n\tconst maxFragmentUniforms = gl.getParameter( gl.MAX_FRAGMENT_UNIFORM_VECTORS );\n\n\tconst vertexTextures = maxVertexTextures > 0;\n\tconst floatFragmentTextures = isWebGL2 || extensions.has( 'OES_texture_float' );\n\tconst floatVertexTextures = vertexTextures && floatFragmentTextures;\n\n\tconst maxSamples = isWebGL2 ? gl.getParameter( gl.MAX_SAMPLES ) : 0;\n\n\treturn {\n\n\t\tisWebGL2: isWebGL2,\n\n\t\tgetMaxAnisotropy: getMaxAnisotropy,\n\t\tgetMaxPrecision: getMaxPrecision,\n\n\t\tprecision: precision,\n\t\tlogarithmicDepthBuffer: logarithmicDepthBuffer,\n\n\t\tmaxTextures: maxTextures,\n\t\tmaxVertexTextures: maxVertexTextures,\n\t\tmaxTextureSize: maxTextureSize,\n\t\tmaxCubemapSize: maxCubemapSize,\n\n\t\tmaxAttributes: maxAttributes,\n\t\tmaxVertexUniforms: maxVertexUniforms,\n\t\tmaxVaryings: maxVaryings,\n\t\tmaxFragmentUniforms: maxFragmentUniforms,\n\n\t\tvertexTextures: vertexTextures,\n\t\tfloatFragmentTextures: floatFragmentTextures,\n\t\tfloatVertexTextures: floatVertexTextures,\n\n\t\tmaxSamples: maxSamples\n\n\t};\n\n}\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/webgl/WebGLCapabilities.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLClipping.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLClipping . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLClipping\": () => (/* binding */ WebGLClipping)\n/* harmony export */ });\n/* harmony import */ var _math_Matrix3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../math/Matrix3.js */ \"./node_modules/three/src/math/Matrix3.js\");\n/* harmony import */ var _math_Plane_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../math/Plane.js */ \"./node_modules/three/src/math/Plane.js\" ) ; \ n \ n \ n \ nfunction WebGLClipping ( properties ) { \ n \ n \ tconst scope = this ; \ n \ n \ tlet globalState = null , \ n \ t \ tnumGlobalPlanes = 0 , \ n \ t \ tlocalClippingEnabled = false , \ n \ t \ trenderingShadows = false ; \ n \ n \ tconst plane = new _math _Plane _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Plane ( ) , \ n \ t \ tviewNormalMatrix = new _math _Matrix3 _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Matrix3 ( ) , \ n \ n \ t \ tuniform = { value : null , needsUpdate : false } ; \ n \ n \ tthis . uniform = uniform ; \ n \ tthis . numPlanes = 0 ; \ n \ tthis . numIntersection = 0 ; \ n \ n \ tthis . init = function ( planes , enableLocalClipping , camera ) { \ n \ n \ t \ tconst enabled = \ n \ t \ t \ tplanes . length !== 0 || \ n \ t \ t \ tenableLocalClipping || \ n \ t \ t \ t // enable state of previous frame - the clipping code has to\n\t\t\t// run another frame in order to reset the state:\n\t\t\tnumGlobalPlanes !== 0 ||\n\t\t\tlocalClippingEnabled;\n\n\t\tlocalClippingEnabled = enableLocalClipping;\n\n\t\tglobalState = projectPlanes( planes, camera, 0 );\n\t\tnumGlobalPlanes = planes.length;\n\n\t\treturn enabled;\n\n\t};\n\n\tthis.beginShadows = function () {\n\n\t\trenderingShadows = true;\n\t\tprojectPlanes( null );\n\n\t};\n\n\tthis.endShadows = function () {\n\n\t\trenderingShadows = false;\n\t\tresetGlobalState();\n\n\t};\n\n\tthis.setState = function ( material, camera, useCache ) {\n\n\t\tconst planes = material.clippingPlanes,\n\t\t\tclipIntersection = material.clipIntersection,\n\t\t\tclipShadows = material.clipShadows;\n\n\t\tconst materialProperties = properties.get( material );\n\n\t\tif ( ! localClippingEnabled || planes === null || planes.length === 0 || renderingShadows && ! clipShadows ) {\n\n\t\t\t// there's no local clipping\n\n\t\t\tif ( renderingShadows ) {\n\n\t\t\t\t// there's no global clipping\n\n\t\t\t\tprojectPlanes( null );\n\n\t\t\t} else {\n\n\t\t\t\tresetGlobalState();\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tconst nGlobal = renderingShadows ? 0 : numGlobalPlanes,\n\t\t\t\tlGlobal = nGlobal * 4;\n\n\t\t\tlet dstArray = materialProperties.clippingState || null;\n\n\t\t\tuniform.value = dstArray; // ensure unique state\n\n\t\t\tdstArray = projectPlanes( planes, camera, lGlobal, useCache );\n\n\t\t\tfor ( let i = 0; i !== lGlobal; ++ i ) {\n\n\t\t\t\tdstArray[ i ] = globalState[ i ];\n\n\t\t\t}\n\n\t\t\tmaterialProperties.clippingState = dstArray;\n\t\t\tthis.numIntersection = clipIntersection ? this.numPlanes : 0;\n\t\t\tthis.numPlanes += nGlobal;\n\n\t\t}\n\n\n\t};\n\n\tfunction resetGlobalState() {\n\n\t\tif ( uniform.value !== globalState ) {\n\n\t\t\tuniform.value = globalState;\n\t\t\tuniform.needsUpdate = numGlobalPlanes > 0;\n\n\t\t}\n\n\t\tscope.numPlanes = numGlobalPlanes;\n\t\tscope.numIntersection = 0;\n\n\t}\n\n\tfunction projectPlanes( planes, camera, dstOffset, skipTransform ) {\n\n\t\tconst nPlanes = planes !== null ? planes.length : 0;\n\t\tlet dstArray = null;\n\n\t\tif ( nPlanes !== 0 ) {\n\n\t\t\tdstArray = uniform.value;\n\n\t\t\tif ( skipTransform !== true || dstArray === null ) {\n\n\t\t\t\tconst flatSize = dstOffset + nPlanes * 4,\n\t\t\t\t\tviewMatrix = camera.matrixWorldInverse;\n\n\t\t\t\tviewNormalMatrix.getNormalMatrix( viewMatrix );\n\n\t\t\t\tif ( dstArray === null || dstArray.length < flatSize ) {\n\n\t\t\t\t\tdstArray = new Float32Array( flatSize );\n\n\t\t\t\t}\n\n\t\t\t\tfor ( let i = 0, i4 = dstOffset; i !== nPlanes; ++ i, i4 += 4 ) {\n\n\t\t\t\t\tplane.copy( planes[ i ] ).applyMatrix4( viewMatrix, viewNormalMatrix );\n\n\t\t\t\t\tplane.normal.toArray( dstArray, i4 );\n\t\t\t\t\tdstArray[ i4 + 3 ] = plane.constant;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tunif
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLCubeMaps.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLCubeMaps . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLCubeMaps\": () => (/* binding */ WebGLCubeMaps)\n/* harmony export */ });\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../constants.js */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _WebGLCubeRenderTarget_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../WebGLCubeRenderTarget.js */ \"./node_modules/three/src/renderers/WebGLCubeRenderTarget.js\");\n\n\n\nfunction WebGLCubeMaps( renderer ) {\n\n\tlet cubemaps = new WeakMap();\n\n\tfunction mapTextureMapping( texture, mapping ) {\n\n\t\tif ( mapping === _constants_js__WEBPACK_IMPORTED_MODULE_0__.EquirectangularReflectionMapping ) {\n\n\t\t\ttexture.mapping = _constants_js__WEBPACK_IMPORTED_MODULE_0__.CubeReflectionMapping;\n\n\t\t} else if ( mapping === _constants_js__WEBPACK_IMPORTED_MODULE_0__.EquirectangularRefractionMapping ) {\n\n\t\t\ttexture.mapping = _constants_js__WEBPACK_IMPORTED_MODULE_0__.CubeRefractionMapping;\n\n\t\t}\n\n\t\treturn texture;\n\n\t}\n\n\tfunction get( texture ) {\n\n\t\tif ( texture && texture.isTexture ) {\n\n\t\t\tconst mapping = texture.mapping;\n\n\t\t\tif ( mapping === _constants_js__WEBPACK_IMPORTED_MODULE_0__.EquirectangularReflectionMapping || mapping === _constants_js__WEBPACK_IMPORTED_MODULE_0__.EquirectangularRefractionMapping ) {\n\n\t\t\t\tif ( cubemaps.has( texture ) ) {\n\n\t\t\t\t\tconst cubemap = cubemaps.get( texture ).texture;\n\t\t\t\t\treturn mapTextureMapping( cubemap, texture.mapping );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tconst image = texture.image;\n\n\t\t\t\t\tif ( image && image.height > 0 ) {\n\n\t\t\t\t\t\tconst currentRenderTarget = renderer.getRenderTarget();\n\n\t\t\t\t\t\tconst renderTarget = new _WebGLCubeRenderTarget_js__WEBPACK_IMPORTED_MODULE_1__.WebGLCubeRenderTarget( image.height / 2 );\n\t\t\t\t\t\trenderTarget.fromEquirectangularTexture( renderer, texture );\n\t\t\t\t\t\tcubemaps.set( texture, renderTarget );\n\n\t\t\t\t\t\trenderer.setRenderTarget( currentRenderTarget );\n\n\t\t\t\t\t\ttexture.addEventListener( 'dispose', onTextureDispose );\n\n\t\t\t\t\t\treturn mapTextureMapping( renderTarget.texture, texture.mapping );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// image not yet ready. try the conversion next frame\n\n\t\t\t\t\t\treturn null;\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn texture;\n\n\t}\n\n\tfunction onTextureDispose( event ) {\n\n\t\tconst texture = event.target;\n\n\t\ttexture.removeEventListener( 'dispose', onTextureDispose );\n\n\t\tconst cubemap = cubemaps.get( texture );\n\n\t\tif ( cubemap !== undefined ) {\n\n\t\t\tcubemaps.delete( texture );\n\t\t\tcubemap.dispose();\n\n\t\t}\n\n\t}\n\n\tfunction dispose() {\n\n\t\tcubemaps = new WeakMap();\n\n\t}\n\n\treturn {\n\t\tget: get,\n\t\tdispose: dispose\n\t};\n\n}\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/webgl/WebGLCubeMaps.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLExtensions.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLExtensions . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLExtensions\": () => (/* binding */ WebGLExtensions)\n/* harmony export */ });\nfunction WebGLExtensions( gl ) {\n\n\tconst extensions = {};\n\n\tfunction getExtension( name ) {\n\n\t\tif ( extensions[ name ] !== undefined ) {\n\n\t\t\treturn extensions[ name ];\n\n\t\t}\n\n\t\tlet extension;\n\n\t\tswitch ( name ) {\n\n\t\t\tcase 'WEBGL_depth_texture':\n\t\t\t\textension = gl.getExtension( 'WEBGL_depth_texture' ) || gl.getExtension( 'MOZ_WEBGL_depth_texture' ) || gl.getExtension( 'WEBKIT_WEBGL_depth_texture' );\n\t\t\t\tbreak;\n\n\t\t\tcase 'EXT_texture_filter_anisotropic':\n\t\t\t\textension = gl.getExtension( 'EXT_texture_filter_anisotropic' ) || gl.getExtension( 'MOZ_EXT_texture_filter_anisotropic' ) || gl.getExtension( 'WEBKIT_EXT_texture_filter_anisotropic' );\n\t\t\t\tbreak;\n\n\t\t\tcase 'WEBGL_compressed_texture_s3tc':\n\t\t\t\textension = gl.getExtension( 'WEBGL_compressed_texture_s3tc' ) || gl.getExtension( 'MOZ_WEBGL_compressed_texture_s3tc' ) || gl.getExtension( 'WEBKIT_WEBGL_compressed_texture_s3tc' );\n\t\t\t\tbreak;\n\n\t\t\tcase 'WEBGL_compressed_texture_pvrtc':\n\t\t\t\textension = gl.getExtension( 'WEBGL_compressed_texture_pvrtc' ) || gl.getExtension( 'WEBKIT_WEBGL_compressed_texture_pvrtc' );\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\textension = gl.getExtension( name );\n\n\t\t}\n\n\t\textensions[ name ] = extension;\n\n\t\treturn extension;\n\n\t}\n\n\treturn {\n\n\t\thas: function ( name ) {\n\n\t\t\treturn getExtension( name ) !== null;\n\n\t\t},\n\n\t\tinit: function ( capabilities ) {\n\n\t\t\tif ( capabilities.isWebGL2 ) {\n\n\t\t\t\tgetExtension( 'EXT_color_buffer_float' );\n\n\t\t\t} else {\n\n\t\t\t\tgetExtension( 'WEBGL_depth_texture' );\n\t\t\t\tgetExtension( 'OES_texture_float' );\n\t\t\t\tgetExtension( 'OES_texture_half_float' );\n\t\t\t\tgetExtension( 'OES_texture_half_float_linear' );\n\t\t\t\tgetExtension( 'OES_standard_derivatives' );\n\t\t\t\tgetExtension( 'OES_element_index_uint' );\n\t\t\t\tgetExtension( 'OES_vertex_array_object' );\n\t\t\t\tgetExtension( 'ANGLE_instanced_arrays' );\n\n\t\t\t}\n\n\t\t\tgetExtension( 'OES_texture_float_linear' );\n\t\t\tgetExtension( 'EXT_color_buffer_half_float' );\n\n\t\t},\n\n\t\tget: function ( name ) {\n\n\t\t\tconst extension = getExtension( name );\n\n\t\t\tif ( extension === null ) {\n\n\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: ' + name + ' extension not supported.' );\n\n\t\t\t}\n\n\t\t\treturn extension;\n\n\t\t}\n\n\t};\n\n}\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/webgl/WebGLExtensions.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLGeometries.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLGeometries . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLGeometries\": () => (/* binding */ WebGLGeometries)\n/* harmony export */ });\n/* harmony import */ var _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/BufferAttribute.js */ \"./node_modules/three/src/core/BufferAttribute.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils.js */ \"./node_modules/three/src/utils.js\" ) ; \ n \ n \ n \ nfunction WebGLGeometries ( gl , attributes , info , bindingStates ) { \ n \ n \ tconst geometries = { } ; \ n \ tconst wireframeAttributes = new WeakMap ( ) ; \ n \ n \ tfunction onGeometryDispose ( event ) { \ n \ n \ t \ tconst geometry = event . target ; \ n \ n \ t \ tif ( geometry . index !== null ) { \ n \ n \ t \ t \ tattributes . remove ( geometry . index ) ; \ n \ n \ t \ t } \ n \ n \ t \ tfor ( const name in geometry . attributes ) { \ n \ n \ t \ t \ tattributes . remove ( geometry . attributes [ name ] ) ; \ n \ n \ t \ t } \ n \ n \ t \ tgeometry . removeEventListener ( 'dispose' , onGeometryDispose ) ; \ n \ n \ t \ tdelete geometries [ geometry . id ] ; \ n \ n \ t \ tconst attribute = wireframeAttributes . get ( geometry ) ; \ n \ n \ t \ tif ( attribute ) { \ n \ n \ t \ t \ tattributes . remove ( attribute ) ; \ n \ t \ t \ twireframeAttributes . delete ( geometry ) ; \ n \ n \ t \ t } \ n \ n \ t \ tbindingStates . releaseStatesOfGeometry ( geometry ) ; \ n \ n \ t \ tif ( geometry . isInstancedBufferGeometry === true ) { \ n \ n \ t \ t \ tdelete geometry . _maxInstanceCount ; \ n \ n \ t \ t } \ n \ n \ t \ t //\n\n\t\tinfo.memory.geometries --;\n\n\t}\n\n\tfunction get( object, geometry ) {\n\n\t\tif ( geometries[ geometry.id ] === true ) return geometry;\n\n\t\tgeometry.addEventListener( 'dispose', onGeometryDispose );\n\n\t\tgeometries[ geometry.id ] = true;\n\n\t\tinfo.memory.geometries ++;\n\n\t\treturn geometry;\n\n\t}\n\n\tfunction update( geometry ) {\n\n\t\tconst geometryAttributes = geometry.attributes;\n\n\t\t// Updating index buffer in VAO now. See WebGLBindingStates.\n\n\t\tfor ( const name in geometryAttributes ) {\n\n\t\t\tattributes.update( geometryAttributes[ name ], gl.ARRAY_BUFFER );\n\n\t\t}\n\n\t\t// morph targets\n\n\t\tconst morphAttributes = geometry.morphAttributes;\n\n\t\tfor ( const name in morphAttributes ) {\n\n\t\t\tconst array = morphAttributes[ name ];\n\n\t\t\tfor ( let i = 0, l = array.length; i < l; i ++ ) {\n\n\t\t\t\tattributes.update( array[ i ], gl.ARRAY_BUFFER );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tfunction updateWireframeAttribute( geometry ) {\n\n\t\tconst indices = [];\n\n\t\tconst geometryIndex = geometry.index;\n\t\tconst geometryPosition = geometry.attributes.position;\n\t\tlet version = 0;\n\n\t\tif ( geometryIndex !== null ) {\n\n\t\t\tconst array = geometryIndex.array;\n\t\t\tversion = geometryIndex.version;\n\n\t\t\tfor ( let i = 0, l = array.length; i < l; i += 3 ) {\n\n\t\t\t\tconst a = array[ i + 0 ];\n\t\t\t\tconst b = array[ i + 1 ];\n\t\t\t\tconst c = array[ i + 2 ];\n\n\t\t\t\tindices.push( a, b, b, c, c, a );\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tconst array = geometryPosition.array;\n\t\t\tversion = geometryPosition.version;\n\n\t\t\tfor ( let i = 0, l = ( array.length / 3 ) - 1; i < l; i += 3 ) {\n\n\t\t\t\tconst a = i + 0;\n\t\t\t\tconst b = i + 1;\n\t\t\t\tconst c = i + 2;\n\n\t\t\t\tindices.push( a, b, b, c, c, a );\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst attribute = new ( (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.arrayMax)( indices ) > 65535 ? _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_1__.Uint32BufferAttribute : _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_1__.Uint16BufferAttribute )( indices, 1 );\n\t\tattribute.version = version;\n\n\t\t// Updating index buffer in VAO now. See WebGLBindingStates\n\n\t\t//\n\n\t\tconst previousAttribute = wireframeAttributes.get( geometry );\n\n\t\tif ( previousAttribute ) attributes.remove( previousAttribute );\n\n\t\t//\n\n\t\twireframeAttributes.set( geometry, attribute );\n\n\t}\n\n\tfunction getWireframeAttribute( geometry ) {\n\n\t\tconst currentAttribute = wireframeAttributes.get( geometry );\n\n\t\tif ( currentAttribute ) {\n\n\t\t\tconst geometryIndex = geometry.i
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLIndexedBufferRenderer.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLIndexedBufferRenderer . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLIndexedBufferRenderer\": () => (/* binding */ WebGLIndexedBufferRenderer)\n/* harmony export */ });\nfunction WebGLIndexedBufferRenderer( gl, extensions, info, capabilities ) {\n\n\tconst isWebGL2 = capabilities.isWebGL2;\n\n\tlet mode;\n\n\tfunction setMode( value ) {\n\n\t\tmode = value;\n\n\t}\n\n\tlet type, bytesPerElement;\n\n\tfunction setIndex( value ) {\n\n\t\ttype = value.type;\n\t\tbytesPerElement = value.bytesPerElement;\n\n\t}\n\n\tfunction render( start, count ) {\n\n\t\tgl.drawElements( mode, count, type, start * bytesPerElement );\n\n\t\tinfo.update( count, mode, 1 );\n\n\t}\n\n\tfunction renderInstances( start, count, primcount ) {\n\n\t\tif ( primcount === 0 ) return;\n\n\t\tlet extension, methodName;\n\n\t\tif ( isWebGL2 ) {\n\n\t\t\textension = gl;\n\t\t\tmethodName = 'drawElementsInstanced';\n\n\t\t} else {\n\n\t\t\textension = extensions.get( 'ANGLE_instanced_arrays' );\n\t\t\tmethodName = 'drawElementsInstancedANGLE';\n\n\t\t\tif ( extension === null ) {\n\n\t\t\t\tconsole.error( 'THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.' );\n\t\t\t\treturn;\n\n\t\t\t}\n\n\t\t}\n\n\t\textension[ methodName ]( mode, count, type, start * bytesPerElement, primcount );\n\n\t\tinfo.update( count, mode, primcount );\n\n\t}\n\n\t//\n\n\tthis.setMode = setMode;\n\tthis.setIndex = setIndex;\n\tthis.render = render;\n\tthis.renderInstances = renderInstances;\n\n}\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/webgl/WebGLIndexedBufferRenderer.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLInfo.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLInfo . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLInfo\": () => (/* binding */ WebGLInfo)\n/* harmony export */ });\nfunction WebGLInfo( gl ) {\n\n\tconst memory = {\n\t\tgeometries: 0,\n\t\ttextures: 0\n\t};\n\n\tconst render = {\n\t\tframe: 0,\n\t\tcalls: 0,\n\t\ttriangles: 0,\n\t\tpoints: 0,\n\t\tlines: 0\n\t};\n\n\tfunction update( count, mode, instanceCount ) {\n\n\t\trender.calls ++;\n\n\t\tswitch ( mode ) {\n\n\t\t\tcase gl.TRIANGLES:\n\t\t\t\trender.triangles += instanceCount * ( count / 3 );\n\t\t\t\tbreak;\n\n\t\t\tcase gl.LINES:\n\t\t\t\trender.lines += instanceCount * ( count / 2 );\n\t\t\t\tbreak;\n\n\t\t\tcase gl.LINE_STRIP:\n\t\t\t\trender.lines += instanceCount * ( count - 1 );\n\t\t\t\tbreak;\n\n\t\t\tcase gl.LINE_LOOP:\n\t\t\t\trender.lines += instanceCount * count;\n\t\t\t\tbreak;\n\n\t\t\tcase gl.POINTS:\n\t\t\t\trender.points += instanceCount * count;\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tconsole.error( 'THREE.WebGLInfo: Unknown draw mode:', mode );\n\t\t\t\tbreak;\n\n\t\t}\n\n\t}\n\n\tfunction reset() {\n\n\t\trender.frame ++;\n\t\trender.calls = 0;\n\t\trender.triangles = 0;\n\t\trender.points = 0;\n\t\trender.lines = 0;\n\n\t}\n\n\treturn {\n\t\tmemory: memory,\n\t\trender: render,\n\t\tprograms: null,\n\t\tautoReset: true,\n\t\treset: reset,\n\t\tupdate: update\n\t};\n\n}\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/webgl/WebGLInfo.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLLights.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLLights . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLLights\": () => (/* binding */ WebGLLights)\n/* harmony export */ });\n/* harmony import */ var _math_Color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../math/Color.js */ \"./node_modules/three/src/math/Color.js\");\n/* harmony import */ var _math_Matrix4_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../math/Matrix4.js */ \"./node_modules/three/src/math/Matrix4.js\");\n/* harmony import */ var _math_Vector2_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../math/Vector2.js */ \"./node_modules/three/src/math/Vector2.js\");\n/* harmony import */ var _math_Vector3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../math/Vector3.js */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _shaders_UniformsLib_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../shaders/UniformsLib.js */ \"./node_modules/three/src/renderers/shaders/UniformsLib.js\" ) ; \ n \ n \ n \ n \ n \ n \ nfunction UniformsCache ( ) { \ n \ n \ tconst lights = { } ; \ n \ n \ treturn { \ n \ n \ t \ tget : function ( light ) { \ n \ n \ t \ t \ tif ( lights [ light . id ] !== undefined ) { \ n \ n \ t \ t \ t \ treturn lights [ light . id ] ; \ n \ n \ t \ t \ t } \ n \ n \ t \ t \ tlet uniforms ; \ n \ n \ t \ t \ tswitch ( light . type ) { \ n \ n \ t \ t \ t \ tcase 'DirectionalLight' : \ n \ t \ t \ t \ t \ tuniforms = { \ n \ t \ t \ t \ t \ t \ tdirection : new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) , \ n \ t \ t \ t \ t \ t \ tcolor : new _math _Color _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Color ( ) \ n \ t \ t \ t \ t \ t } ; \ n \ t \ t \ t \ t \ tbreak ; \ n \ n \ t \ t \ t \ tcase 'SpotLight' : \ n \ t \ t \ t \ t \ tuniforms = { \ n \ t \ t \ t \ t \ t \ tposition : new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) , \ n \ t \ t \ t \ t \ t \ tdirection : new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) , \ n \ t \ t \ t \ t \ t \ tcolor : new _math _Color _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Color ( ) , \ n \ t \ t \ t \ t \ t \ tdistance : 0 , \ n \ t \ t \ t \ t \ t \ tconeCos : 0 , \ n \ t \ t \ t \ t \ t \ tpenumbraCos : 0 , \ n \ t \ t \ t \ t \ t \ tdecay : 0 \ n \ t \ t \ t \ t \ t } ; \ n \ t \ t \ t \ t \ tbreak ; \ n \ n \ t \ t \ t \ tcase 'PointLight' : \ n \ t \ t \ t \ t \ tuniforms = { \ n \ t \ t \ t \ t \ t \ tposition : new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) , \ n \ t \ t \ t \ t \ t \ tcolor : new _math _Color _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Color ( ) , \ n \ t \ t \ t \ t \ t \ tdistance : 0 , \ n \ t \ t \ t \ t \ t \ tdecay : 0 \ n \ t \ t \ t \ t \ t } ; \ n \ t \ t \ t \ t \ tbreak ; \ n \ n \ t \ t \ t \ tcase 'HemisphereLight' : \ n \ t \ t \ t \ t \ tuniforms = { \ n \ t \ t \ t \ t \ t \ tdirection : new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) , \ n \ t \ t \ t \ t \ t \ tskyColor : new _math _Color _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Color ( ) , \ n \ t \ t \ t \ t \ t \ tgroundColor : new _math _Color _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Color ( ) \ n \ t \ t \ t \ t \ t } ; \ n \ t \ t \ t \ t \ tbreak ; \ n \ n \ t \ t \ t \ tcase 'RectAreaLight' : \ n \ t \ t \ t \ t \ tuniforms = { \ n \ t \ t \ t \ t \ t \ tcolor : new _math _Color _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Color ( ) , \ n \ t \ t \ t \ t \ t \ tposition : new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) , \ n \ t \ t \ t \ t \ t \ thalfWidth : new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) , \ n \ t \ t \ t \ t \ t \ thalfHeight : new _math _Vector3 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector3 ( ) \ n \ t \ t \ t \ t \ t } ; \ n \ t \ t \ t \ t \ tbreak ; \ n \ n \ t \ t \ t } \ n \ n \ t \ t \ tlights [ light . id ] = uniforms ; \ n \ n \ t \ t \ treturn uniforms ; \ n \ n \ t \ t } \ n \ n \ t } ; \ n \ n } \ n \ nfunction ShadowUniformsCache ( ) { \ n \ n \ tconst lights = { } ; \ n \ n \ treturn { \ n \ n \ t \ tget : function ( light ) { \ n \ n \ t \ t \ tif ( lights [ light . id ] !== undefined ) { \ n \ n \ t \ t \ t \ treturn lights [ light . id ] ; \ n \ n \ t \ t \ t } \ n \ n \ t \ t \ tlet uniforms ; \ n \ n \ t \ t \ tswitch ( light . type ) { \ n \ n \ t \ t \ t \ tcase 'DirectionalLight' : \ n \ t \ t \ t \ t \ tuniforms = { \ n \ t \ t \ t \ t \ t \ tshadowBias : 0 , \ n \ t \ t \ t \ t \ t \ tshadowNormalBias : 0 , \ n \ t \ t \ t \ t \ t \ tshadowRadius : 1 , \ n \ t \ t \ t \ t \ t \ tshadowMapSize : new _math _Vector2 _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Vector2 ( ) \ n \ t \ t \ t \ t \ t } ; \ n \ t \ t \ t \ t \ tbreak ; \ n \ n \ t \ t \ t \ tcase 'SpotLight' : \ n \ t \ t \ t \ t \ tuniforms = { \ n \ t \ t \ t \ t \ t \ tshadowBias : 0 , \ n \ t \ t \ t \ t \ t \ tshadowNormalBias : 0 , \ n \ t \ t \ t \ t \ t \ tshadowRadius : 1 , \ n \ t \ t \ t \ t \ t \ tshadowMapSize : new _math _Vector2 _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Vector2 ( ) \ n \ t \ t \ t \ t \ t } ; \ n \ t \ t \ t \ t \ tbreak ; \ n \ n \ t \ t \ t \ tcase 'PointLight' : \ n \ t \ t \ t \ t \ tuniforms = { \ n \ t \ t \ t \ t \ t \ tshadowBias : 0 , \ n \ t \ t \ t \ t \ t \ tshado
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLMaterials.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLMaterials . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLMaterials\": () => (/* binding */ WebGLMaterials)\n/* harmony export */ });\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../constants.js */ \"./node_modules/three/src/constants.js\" ) ; \ n \ n \ nfunction WebGLMaterials ( properties ) { \ n \ n \ tfunction refreshFogUniforms ( uniforms , fog ) { \ n \ n \ t \ tuniforms . fogColor . value . copy ( fog . color ) ; \ n \ n \ t \ tif ( fog . isFog ) { \ n \ n \ t \ t \ tuniforms . fogNear . value = fog . near ; \ n \ t \ t \ tuniforms . fogFar . value = fog . far ; \ n \ n \ t \ t } else if ( fog . isFogExp2 ) { \ n \ n \ t \ t \ tuniforms . fogDensity . value = fog . density ; \ n \ n \ t \ t } \ n \ n \ t } \ n \ n \ tfunction refreshMaterialUniforms ( uniforms , material , pixelRatio , height ) { \ n \ n \ t \ tif ( material . isMeshBasicMaterial ) { \ n \ n \ t \ t \ trefreshUniformsCommon ( uniforms , material ) ; \ n \ n \ t \ t } else if ( material . isMeshLambertMaterial ) { \ n \ n \ t \ t \ trefreshUniformsCommon ( uniforms , material ) ; \ n \ t \ t \ trefreshUniformsLambert ( uniforms , material ) ; \ n \ n \ t \ t } else if ( material . isMeshToonMaterial ) { \ n \ n \ t \ t \ trefreshUniformsCommon ( uniforms , material ) ; \ n \ t \ t \ trefreshUniformsToon ( uniforms , material ) ; \ n \ n \ t \ t } else if ( material . isMeshPhongMaterial ) { \ n \ n \ t \ t \ trefreshUniformsCommon ( uniforms , material ) ; \ n \ t \ t \ trefreshUniformsPhong ( uniforms , material ) ; \ n \ n \ t \ t } else if ( material . isMeshStandardMaterial ) { \ n \ n \ t \ t \ trefreshUniformsCommon ( uniforms , material ) ; \ n \ n \ t \ t \ tif ( material . isMeshPhysicalMaterial ) { \ n \ n \ t \ t \ t \ trefreshUniformsPhysical ( uniforms , material ) ; \ n \ n \ t \ t \ t } else { \ n \ n \ t \ t \ t \ trefreshUniformsStandard ( uniforms , material ) ; \ n \ n \ t \ t \ t } \ n \ n \ t \ t } else if ( material . isMeshMatcapMaterial ) { \ n \ n \ t \ t \ trefreshUniformsCommon ( uniforms , material ) ; \ n \ t \ t \ trefreshUniformsMatcap ( uniforms , material ) ; \ n \ n \ t \ t } else if ( material . isMeshDepthMaterial ) { \ n \ n \ t \ t \ trefreshUniformsCommon ( uniforms , material ) ; \ n \ t \ t \ trefreshUniformsDepth ( uniforms , material ) ; \ n \ n \ t \ t } else if ( material . isMeshDistanceMaterial ) { \ n \ n \ t \ t \ trefreshUniformsCommon ( uniforms , material ) ; \ n \ t \ t \ trefreshUniformsDistance ( uniforms , material ) ; \ n \ n \ t \ t } else if ( material . isMeshNormalMaterial ) { \ n \ n \ t \ t \ trefreshUniformsCommon ( uniforms , material ) ; \ n \ t \ t \ trefreshUniformsNormal ( uniforms , material ) ; \ n \ n \ t \ t } else if ( material . isLineBasicMaterial ) { \ n \ n \ t \ t \ trefreshUniformsLine ( uniforms , material ) ; \ n \ n \ t \ t \ tif ( material . isLineDashedMaterial ) { \ n \ n \ t \ t \ t \ trefreshUniformsDash ( uniforms , material ) ; \ n \ n \ t \ t \ t } \ n \ n \ t \ t } else if ( material . isPointsMaterial ) { \ n \ n \ t \ t \ trefreshUniformsPoints ( uniforms , material , pixelRatio , height ) ; \ n \ n \ t \ t } else if ( material . isSpriteMaterial ) { \ n \ n \ t \ t \ trefreshUniformsSprites ( uniforms , material ) ; \ n \ n \ t \ t } else if ( material . isShadowMaterial ) { \ n \ n \ t \ t \ tuniforms . color . value . copy ( material . color ) ; \ n \ t \ t \ tuniforms . opacity . value = material . opacity ; \ n \ n \ t \ t } else if ( material . isShaderMaterial ) { \ n \ n \ t \ t \ tmaterial . uniformsNeedUpdate = false ; // #15581\n\n\t\t}\n\n\t}\n\n\tfunction refreshUniformsCommon( uniforms, material ) {\n\n\t\tuniforms.opacity.value = material.opacity;\n\n\t\tif ( material.color ) {\n\n\t\t\tuniforms.diffuse.value.copy( material.color );\n\n\t\t}\n\n\t\tif ( material.emissive ) {\n\n\t\t\tuniforms.emissive.value.copy( material.emissive ).multiplyScalar( material.emissiveIntensity );\n\n\t\t}\n\n\t\tif ( material.map ) {\n\n\t\t\tuniforms.map.value = material.map;\n\n\t\t}\n\n\t\tif ( material.alphaMap ) {\n\n\t\t\tuniforms.alphaMap.value = material.alphaMap;\n\n\t\t}\n\n\t\tif ( material.specularMap ) {\n\n\t\t\tuniforms.specularMap.value = material.specularMap;\n\n\t\t}\n\n\t\tconst envMap = properties.get( material ).envMap;\n\n\t\tif ( envMap ) {\n\n\t\t\tuniforms.envMap.value = envMap;\n\n\t\t\tuniforms.flipEnvMap.value = ( envMap.isCubeTexture && envMap._needsFlipEnvMap ) ? - 1 : 1;\n\n\t\t\tuniforms.reflectivity.value = material.reflectivity;\n\t\t\tuniforms.refractionRatio.value = material.refractionRatio;\n\n\t\t\tconst maxMipLevel = properties.get( env
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLMorphtargets.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLMorphtargets . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLMorphtargets\": () => (/* binding */ WebGLMorphtargets)\n/* harmony export */ });\nfunction numericalSort( a, b ) {\n\n\treturn a[ 0 ] - b[ 0 ];\n\n}\n\nfunction absNumericalSort( a, b ) {\n\n\treturn Math.abs( b[ 1 ] ) - Math.abs( a[ 1 ] );\n\n}\n\nfunction WebGLMorphtargets( gl ) {\n\n\tconst influencesList = {};\n\tconst morphInfluences = new Float32Array( 8 );\n\n\tconst workInfluences = [];\n\n\tfor ( let i = 0; i < 8; i ++ ) {\n\n\t\tworkInfluences[ i ] = [ i, 0 ];\n\n\t}\n\n\tfunction update( object, geometry, material, program ) {\n\n\t\tconst objectInfluences = object.morphTargetInfluences;\n\n\t\t// When object doesn't have morph target influences defined, we treat it as a 0-length array\n\t\t// This is important to make sure we set up morphTargetBaseInfluence / morphTargetInfluences\n\n\t\tconst length = objectInfluences === undefined ? 0 : objectInfluences.length;\n\n\t\tlet influences = influencesList[ geometry.id ];\n\n\t\tif ( influences === undefined ) {\n\n\t\t\t// initialise list\n\n\t\t\tinfluences = [];\n\n\t\t\tfor ( let i = 0; i < length; i ++ ) {\n\n\t\t\t\tinfluences[ i ] = [ i, 0 ];\n\n\t\t\t}\n\n\t\t\tinfluencesList[ geometry.id ] = influences;\n\n\t\t}\n\n\t\t// Collect influences\n\n\t\tfor ( let i = 0; i < length; i ++ ) {\n\n\t\t\tconst influence = influences[ i ];\n\n\t\t\tinfluence[ 0 ] = i;\n\t\t\tinfluence[ 1 ] = objectInfluences[ i ];\n\n\t\t}\n\n\t\tinfluences.sort( absNumericalSort );\n\n\t\tfor ( let i = 0; i < 8; i ++ ) {\n\n\t\t\tif ( i < length && influences[ i ][ 1 ] ) {\n\n\t\t\t\tworkInfluences[ i ][ 0 ] = influences[ i ][ 0 ];\n\t\t\t\tworkInfluences[ i ][ 1 ] = influences[ i ][ 1 ];\n\n\t\t\t} else {\n\n\t\t\t\tworkInfluences[ i ][ 0 ] = Number.MAX_SAFE_INTEGER;\n\t\t\t\tworkInfluences[ i ][ 1 ] = 0;\n\n\t\t\t}\n\n\t\t}\n\n\t\tworkInfluences.sort( numericalSort );\n\n\t\tconst morphTargets = material.morphTargets && geometry.morphAttributes.position;\n\t\tconst morphNormals = material.morphNormals && geometry.morphAttributes.normal;\n\n\t\tlet morphInfluencesSum = 0;\n\n\t\tfor ( let i = 0; i < 8; i ++ ) {\n\n\t\t\tconst influence = workInfluences[ i ];\n\t\t\tconst index = influence[ 0 ];\n\t\t\tconst value = influence[ 1 ];\n\n\t\t\tif ( index !== Number.MAX_SAFE_INTEGER && value ) {\n\n\t\t\t\tif ( morphTargets && geometry.getAttribute( 'morphTarget' + i ) !== morphTargets[ index ] ) {\n\n\t\t\t\t\tgeometry.setAttribute( 'morphTarget' + i, morphTargets[ index ] );\n\n\t\t\t\t}\n\n\t\t\t\tif ( morphNormals && geometry.getAttribute( 'morphNormal' + i ) !== morphNormals[ index ] ) {\n\n\t\t\t\t\tgeometry.setAttribute( 'morphNormal' + i, morphNormals[ index ] );\n\n\t\t\t\t}\n\n\t\t\t\tmorphInfluences[ i ] = value;\n\t\t\t\tmorphInfluencesSum += value;\n\n\t\t\t} else {\n\n\t\t\t\tif ( morphTargets && geometry.hasAttribute( 'morphTarget' + i ) === true ) {\n\n\t\t\t\t\tgeometry.deleteAttribute( 'morphTarget' + i );\n\n\t\t\t\t}\n\n\t\t\t\tif ( morphNormals && geometry.hasAttribute( 'morphNormal' + i ) === true ) {\n\n\t\t\t\t\tgeometry.deleteAttribute( 'morphNormal' + i );\n\n\t\t\t\t}\n\n\t\t\t\tmorphInfluences[ i ] = 0;\n\n\t\t\t}\n\n\t\t}\n\n\t\t// GLSL shader uses formula baseinfluence * base + sum(target * influence)\n\t\t// This allows us to switch between absolute morphs and relative morphs without changing shader code\n\t\t// When baseinfluence = 1 - sum(influence), the above is equivalent to sum((target - base) * influence)\n\t\tconst morphBaseInfluence = geometry.morphTargetsRelative ? 1 : 1 - morphInfluencesSum;\n\n\t\tprogram.getUniforms().setValue( gl, 'morphTargetBaseInfluence', morphBaseInfluence );\n\t\tprogram.getUniforms().setValue( gl, 'morphTargetInfluences', morphInfluences );\n\n\t}\n\n\treturn {\n\n\t\tupdate: update\n\n\t};\n\n}\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/webgl/WebGLMorphtargets.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLObjects.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLObjects . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLObjects\": () => (/* binding */ WebGLObjects)\n/* harmony export */ });\nfunction WebGLObjects( gl, geometries, attributes, info ) {\n\n\tlet updateMap = new WeakMap();\n\n\tfunction update( object ) {\n\n\t\tconst frame = info.render.frame;\n\n\t\tconst geometry = object.geometry;\n\t\tconst buffergeometry = geometries.get( object, geometry );\n\n\t\t// Update once per frame\n\n\t\tif ( updateMap.get( buffergeometry ) !== frame ) {\n\n\t\t\tgeometries.update( buffergeometry );\n\n\t\t\tupdateMap.set( buffergeometry, frame );\n\n\t\t}\n\n\t\tif ( object.isInstancedMesh ) {\n\n\t\t\tif ( object.hasEventListener( 'dispose', onInstancedMeshDispose ) === false ) {\n\n\t\t\t\tobject.addEventListener( 'dispose', onInstancedMeshDispose );\n\n\t\t\t}\n\n\t\t\tattributes.update( object.instanceMatrix, gl.ARRAY_BUFFER );\n\n\t\t\tif ( object.instanceColor !== null ) {\n\n\t\t\t\tattributes.update( object.instanceColor, gl.ARRAY_BUFFER );\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn buffergeometry;\n\n\t}\n\n\tfunction dispose() {\n\n\t\tupdateMap = new WeakMap();\n\n\t}\n\n\tfunction onInstancedMeshDispose( event ) {\n\n\t\tconst instancedMesh = event.target;\n\n\t\tinstancedMesh.removeEventListener( 'dispose', onInstancedMeshDispose );\n\n\t\tattributes.remove( instancedMesh.instanceMatrix );\n\n\t\tif ( instancedMesh.instanceColor !== null ) attributes.remove( instancedMesh.instanceColor );\n\n\t}\n\n\treturn {\n\n\t\tupdate: update,\n\t\tdispose: dispose\n\n\t};\n\n}\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/webgl/WebGLObjects.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLProgram.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLProgram . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLProgram\": () => (/* binding */ WebGLProgram)\n/* harmony export */ });\n/* harmony import */ var _WebGLUniforms_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./WebGLUniforms.js */ \"./node_modules/three/src/renderers/webgl/WebGLUniforms.js\");\n/* harmony import */ var _WebGLShader_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./WebGLShader.js */ \"./node_modules/three/src/renderers/webgl/WebGLShader.js\");\n/* harmony import */ var _shaders_ShaderChunk_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../shaders/ShaderChunk.js */ \"./node_modules/three/src/renderers/shaders/ShaderChunk.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../constants.js */ \"./node_modules/three/src/constants.js\" ) ; \ n \ n \ n \ n \ n \ nlet programIdCount = 0 ; \ n \ nfunction addLineNumbers ( string ) { \ n \ n \ tconst lines = string . split ( '\\n' ) ; \ n \ n \ tfor ( let i = 0 ; i < lines . length ; i ++ ) { \ n \ n \ t \ tlines [ i ] = ( i + 1 ) + ': ' + lines [ i ] ; \ n \ n \ t } \ n \ n \ treturn lines . join ( '\\n' ) ; \ n \ n } \ n \ nfunction getEncodingComponents ( encoding ) { \ n \ n \ tswitch ( encoding ) { \ n \ n \ t \ tcase _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . LinearEncoding : \ n \ t \ t \ treturn [ 'Linear' , '( value )' ] ; \ n \ t \ tcase _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . sRGBEncoding : \ n \ t \ t \ treturn [ 'sRGB' , '( value )' ] ; \ n \ t \ tcase _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . RGBEEncoding : \ n \ t \ t \ treturn [ 'RGBE' , '( value )' ] ; \ n \ t \ tcase _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . RGBM7Encoding : \ n \ t \ t \ treturn [ 'RGBM' , '( value, 7.0 )' ] ; \ n \ t \ tcase _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . RGBM16Encoding : \ n \ t \ t \ treturn [ 'RGBM' , '( value, 16.0 )' ] ; \ n \ t \ tcase _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . RGBDEncoding : \ n \ t \ t \ treturn [ 'RGBD' , '( value, 256.0 )' ] ; \ n \ t \ tcase _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . GammaEncoding : \ n \ t \ t \ treturn [ 'Gamma' , '( value, float( GAMMA_FACTOR ) )' ] ; \ n \ t \ tcase _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . LogLuvEncoding : \ n \ t \ t \ treturn [ 'LogLuv' , '( value )' ] ; \ n \ t \ tdefault : \ n \ t \ t \ tconsole . warn ( 'THREE.WebGLProgram: Unsupported encoding:' , encoding ) ; \ n \ t \ t \ treturn [ 'Linear' , '( value )' ] ; \ n \ n \ t } \ n \ n } \ n \ nfunction getShaderErrors ( gl , shader , type ) { \ n \ n \ tconst status = gl . getShaderParameter ( shader , gl . COMPILE _STATUS ) ; \ n \ tconst log = gl . getShaderInfoLog ( shader ) . trim ( ) ; \ n \ n \ tif ( status && log === '' ) return '' ; \ n \ n \ t // --enable-privileged-webgl-extension\n\t// console.log( '**' + type + '**', gl.getExtension( 'WEBGL_debug_shaders' ).getTranslatedShaderSource( shader ) );\n\n\tconst source = gl.getShaderSource( shader );\n\n\treturn 'THREE.WebGLShader: gl.getShaderInfoLog() ' + type + '\\n' + log + addLineNumbers( source );\n\n}\n\nfunction getTexelDecodingFunction( functionName, encoding ) {\n\n\tconst components = getEncodingComponents( encoding );\n\treturn 'vec4 ' + functionName + '( vec4 value ) { return ' + components[ 0 ] + 'ToLinear' + components[ 1 ] + '; }';\n\n}\n\nfunction getTexelEncodingFunction( functionName, encoding ) {\n\n\tconst components = getEncodingComponents( encoding );\n\treturn 'vec4 ' + functionName + '( vec4 value ) { return LinearTo' + components[ 0 ] + components[ 1 ] + '; }';\n\n}\n\nfunction getToneMappingFunction( functionName, toneMapping ) {\n\n\tlet toneMappingName;\n\n\tswitch ( toneMapping ) {\n\n\t\tcase _constants_js__WEBPACK_IMPORTED_MODULE_0__.LinearToneMapping:\n\t\t\ttoneMappingName = 'Linear';\n\t\t\tbreak;\n\n\t\tcase _constants_js__WEBPACK_IMPORTED_MODULE_0__.ReinhardToneMapping:\n\t\t\ttoneMappingName = 'Reinhard';\n\t\t\tbreak;\n\n\t\tcase _constants_js__WEBPACK_IMPORTED_MODULE_0__.CineonToneMapping:\n\t\t\ttoneMappingName = 'OptimizedCineon';\n\t\t\tbreak;\n\n\t\tcase _constants_js__WEBPACK_IMPORTED_MODULE_0__.ACESFilmicToneMapping:\n\t\t\ttoneMappingName = 'ACESFilmic';\n\t\t\tbreak;\n\n\t\tcase _constants_js__WEBPACK_IMPORTED_MODULE_0__.CustomToneMapping:\n\t\t\ttoneMappingName
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLPrograms.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLPrograms . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLPrograms\": () => (/* binding */ WebGLPrograms)\n/* harmony export */ });\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../constants.js */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _WebGLProgram_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./WebGLProgram.js */ \"./node_modules/three/src/renderers/webgl/WebGLProgram.js\");\n/* harmony import */ var _shaders_ShaderLib_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../shaders/ShaderLib.js */ \"./node_modules/three/src/renderers/shaders/ShaderLib.js\");\n/* harmony import */ var _shaders_UniformsUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shaders/UniformsUtils.js */ \"./node_modules/three/src/renderers/shaders/UniformsUtils.js\" ) ; \ n \ n \ n \ n \ n \ nfunction WebGLPrograms ( renderer , cubemaps , extensions , capabilities , bindingStates , clipping ) { \ n \ n \ tconst programs = [ ] ; \ n \ n \ tconst isWebGL2 = capabilities . isWebGL2 ; \ n \ tconst logarithmicDepthBuffer = capabilities . logarithmicDepthBuffer ; \ n \ tconst floatVertexTextures = capabilities . floatVertexTextures ; \ n \ tconst maxVertexUniforms = capabilities . maxVertexUniforms ; \ n \ tconst vertexTextures = capabilities . vertexTextures ; \ n \ n \ tlet precision = capabilities . precision ; \ n \ n \ tconst shaderIDs = { \ n \ t \ tMeshDepthMaterial : 'depth' , \ n \ t \ tMeshDistanceMaterial : 'distanceRGBA' , \ n \ t \ tMeshNormalMaterial : 'normal' , \ n \ t \ tMeshBasicMaterial : 'basic' , \ n \ t \ tMeshLambertMaterial : 'lambert' , \ n \ t \ tMeshPhongMaterial : 'phong' , \ n \ t \ tMeshToonMaterial : 'toon' , \ n \ t \ tMeshStandardMaterial : 'physical' , \ n \ t \ tMeshPhysicalMaterial : 'physical' , \ n \ t \ tMeshMatcapMaterial : 'matcap' , \ n \ t \ tLineBasicMaterial : 'basic' , \ n \ t \ tLineDashedMaterial : 'dashed' , \ n \ t \ tPointsMaterial : 'points' , \ n \ t \ tShadowMaterial : 'shadow' , \ n \ t \ tSpriteMaterial : 'sprite' \ n \ t } ; \ n \ n \ tconst parameterNames = [ \ n \ t \ t 'precision' , 'isWebGL2' , 'supportsVertexTextures' , 'outputEncoding' , 'instancing' , 'instancingColor' , \ n \ t \ t 'map' , 'mapEncoding' , 'matcap' , 'matcapEncoding' , 'envMap' , 'envMapMode' , 'envMapEncoding' , 'envMapCubeUV' , \ n \ t \ t 'lightMap' , 'lightMapEncoding' , 'aoMap' , 'emissiveMap' , 'emissiveMapEncoding' , 'bumpMap' , 'normalMap' , 'objectSpaceNormalMap' , 'tangentSpaceNormalMap' , 'clearcoatMap' , 'clearcoatRoughnessMap' , 'clearcoatNormalMap' , 'displacementMap' , 'specularMap' , \ n \ t \ t 'roughnessMap' , 'metalnessMap' , 'gradientMap' , \ n \ t \ t 'alphaMap' , 'combine' , 'vertexColors' , 'vertexTangents' , 'vertexUvs' , 'uvsVertexOnly' , 'fog' , 'useFog' , 'fogExp2' , \ n \ t \ t 'flatShading' , 'sizeAttenuation' , 'logarithmicDepthBuffer' , 'skinning' , \ n \ t \ t 'maxBones' , 'useVertexTexture' , 'morphTargets' , 'morphNormals' , \ n \ t \ t 'maxMorphTargets' , 'maxMorphNormals' , 'premultipliedAlpha' , \ n \ t \ t 'numDirLights' , 'numPointLights' , 'numSpotLights' , 'numHemiLights' , 'numRectAreaLights' , \ n \ t \ t 'numDirLightShadows' , 'numPointLightShadows' , 'numSpotLightShadows' , \ n \ t \ t 'shadowMapEnabled' , 'shadowMapType' , 'toneMapping' , 'physicallyCorrectLights' , \ n \ t \ t 'alphaTest' , 'doubleSided' , 'flipSided' , 'numClippingPlanes' , 'numClipIntersection' , 'depthPacking' , 'dithering' , \ n \ t \ t 'sheen' , 'transmissionMap' \ n \ t ] ; \ n \ n \ tfunction getMaxBones ( object ) { \ n \ n \ t \ tconst skeleton = object . skeleton ; \ n \ t \ tconst bones = skeleton . bones ; \ n \ n \ t \ tif ( floatVertexTextures ) { \ n \ n \ t \ t \ treturn 1024 ; \ n \ n \ t \ t } else { \ n \ n \ t \ t \ t // default for when object is not specified\n\t\t\t// ( for example when prebuilding shader to be used with multiple objects )\n\t\t\t//\n\t\t\t// - leave some extra space for other uniforms\n\t\t\t// - limit here is ANGLE's 254 max uniform vectors\n\t\t\t// (up to 54 should be safe)\n\n\t\t\tconst nVertexUniforms = maxVertexUniforms;\n\t\t\tconst nVertexMatrices = Math.floor( ( nVertexUniforms - 20 ) / 4 );\n\n\t\t\tconst maxBones = Math.min( nVertexMatrices, bones.length );\n\n\t\t\tif ( maxBones < bones.length ) {\n\n\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: Skeleton has ' + bones.length + ' bones.
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLProperties.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLProperties . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLProperties\": () => (/* binding */ WebGLProperties)\n/* harmony export */ });\nfunction WebGLProperties() {\n\n\tlet properties = new WeakMap();\n\n\tfunction get( object ) {\n\n\t\tlet map = properties.get( object );\n\n\t\tif ( map === undefined ) {\n\n\t\t\tmap = {};\n\t\t\tproperties.set( object, map );\n\n\t\t}\n\n\t\treturn map;\n\n\t}\n\n\tfunction remove( object ) {\n\n\t\tproperties.delete( object );\n\n\t}\n\n\tfunction update( object, key, value ) {\n\n\t\tproperties.get( object )[ key ] = value;\n\n\t}\n\n\tfunction dispose() {\n\n\t\tproperties = new WeakMap();\n\n\t}\n\n\treturn {\n\t\tget: get,\n\t\tremove: remove,\n\t\tupdate: update,\n\t\tdispose: dispose\n\t};\n\n}\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/webgl/WebGLProperties.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLRenderLists.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLRenderLists . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLRenderLists\": () => (/* binding */ WebGLRenderLists),\n/* harmony export */ \"WebGLRenderList\" : ( ) => ( /* binding */ WebGLRenderList ) \ n /* harmony export */ } ) ; \ nfunction painterSortStable ( a , b ) { \ n \ n \ tif ( a . groupOrder !== b . groupOrder ) { \ n \ n \ t \ treturn a . groupOrder - b . groupOrder ; \ n \ n \ t } else if ( a . renderOrder !== b . renderOrder ) { \ n \ n \ t \ treturn a . renderOrder - b . renderOrder ; \ n \ n \ t } else if ( a . program !== b . program ) { \ n \ n \ t \ treturn a . program . id - b . program . id ; \ n \ n \ t } else if ( a . material . id !== b . material . id ) { \ n \ n \ t \ treturn a . material . id - b . material . id ; \ n \ n \ t } else if ( a . z !== b . z ) { \ n \ n \ t \ treturn a . z - b . z ; \ n \ n \ t } else { \ n \ n \ t \ treturn a . id - b . id ; \ n \ n \ t } \ n \ n } \ n \ nfunction reversePainterSortStable ( a , b ) { \ n \ n \ tif ( a . groupOrder !== b . groupOrder ) { \ n \ n \ t \ treturn a . groupOrder - b . groupOrder ; \ n \ n \ t } else if ( a . renderOrder !== b . renderOrder ) { \ n \ n \ t \ treturn a . renderOrder - b . renderOrder ; \ n \ n \ t } else if ( a . z !== b . z ) { \ n \ n \ t \ treturn b . z - a . z ; \ n \ n \ t } else { \ n \ n \ t \ treturn a . id - b . id ; \ n \ n \ t } \ n \ n } \ n \ n \ nfunction WebGLRenderList ( properties ) { \ n \ n \ tconst renderItems = [ ] ; \ n \ tlet renderItemsIndex = 0 ; \ n \ n \ tconst opaque = [ ] ; \ n \ tconst transparent = [ ] ; \ n \ n \ tconst defaultProgram = { id : - 1 } ; \ n \ n \ tfunction init ( ) { \ n \ n \ t \ trenderItemsIndex = 0 ; \ n \ n \ t \ topaque . length = 0 ; \ n \ t \ ttransparent . length = 0 ; \ n \ n \ t } \ n \ n \ tfunction getNextRenderItem ( object , geometry , material , groupOrder , z , group ) { \ n \ n \ t \ tlet renderItem = renderItems [ renderItemsIndex ] ; \ n \ t \ tconst materialProperties = properties . get ( material ) ; \ n \ n \ t \ tif ( renderItem === undefined ) { \ n \ n \ t \ t \ trenderItem = { \ n \ t \ t \ t \ tid : object . id , \ n \ t \ t \ t \ tobject : object , \ n \ t \ t \ t \ tgeometry : geometry , \ n \ t \ t \ t \ tmaterial : material , \ n \ t \ t \ t \ tprogram : materialProperties . program || defaultProgram , \ n \ t \ t \ t \ tgroupOrder : groupOrder , \ n \ t \ t \ t \ trenderOrder : object . renderOrder , \ n \ t \ t \ t \ tz : z , \ n \ t \ t \ t \ tgroup : group \ n \ t \ t \ t } ; \ n \ n \ t \ t \ trenderItems [ renderItemsIndex ] = renderItem ; \ n \ n \ t \ t } else { \ n \ n \ t \ t \ trenderItem . id = object . id ; \ n \ t \ t \ trenderItem . object = object ; \ n \ t \ t \ trenderItem . geometry = geometry ; \ n \ t \ t \ trenderItem . material = material ; \ n \ t \ t \ trenderItem . program = materialProperties . program || defaultProgram ; \ n \ t \ t \ trenderItem . groupOrder = groupOrder ; \ n \ t \ t \ trenderItem . renderOrder = object . renderOrder ; \ n \ t \ t \ trenderItem . z = z ; \ n \ t \ t \ trenderItem . group = group ; \ n \ n \ t \ t } \ n \ n \ t \ trenderItemsIndex ++ ; \ n \ n \ t \ treturn renderItem ; \ n \ n \ t } \ n \ n \ tfunction push ( object , geometry , material , groupOrder , z , group ) { \ n \ n \ t \ tconst renderItem = getNextRenderItem ( object , geometry , material , groupOrder , z , group ) ; \ n \ n \ t \ t ( material . transparent === true ? transparent : opaque ) . push ( renderItem ) ; \ n \ n \ t } \ n \ n \ tfunction unshift ( object , geometry , material , groupOrder , z , group ) { \ n \ n \ t \ tconst renderItem = getNextRenderItem ( object , geometry , material , groupOrder , z , group ) ; \ n \ n \ t \ t ( material . transparent === true ? transparent : opaque ) . unshift ( renderItem ) ; \ n \ n \ t } \ n \ n \ tfunction sort ( customOpaqueSort , customTransparentSort ) { \ n \ n \ t \ tif ( opaque . length > 1 ) opaque . sort ( customOpaqueSort || painterSortStable ) ; \ n \ t \ tif ( transparent . length > 1 ) transparent . sort ( customTransparentSort || reversePainterSortStable ) ; \ n \ n \ t } \ n \ n \ tfunction finish ( ) { \ n \ n \ t \ t // Clear references from inactive renderItems in the list\n\n\t\tfor ( let i = renderItemsIndex, il = renderItems.length; i < il; i ++ ) {\n\n\t\t\tconst renderItem = renderItems[ i ];\n\n\t\t\tif ( renderItem.id === null ) break;\n\n\t\t\trenderItem.id = null;\n\t\t\trenderItem.object = null;\n\t\t\trenderItem.geometry = null;\n\t\t\trenderItem.material = null;\n\t\t\trenderItem.program = null;\n\t\t\trenderItem.group = null;\n\n\t\t}\n\n\t}\n\n\treturn {\n\n\t\topaque: opaque,\n\t\ttransparent: transparent,\n\n\t\tinit: init,\n\t\tpush: push,\n\t\tunshift: unshift,\n\t\tfinish: finish,\n\n\t\tsort: sort\n\t};\n\n}\n\nfunction WebGLRenderLists( properties ) {\n\n\tlet lists = new WeakMap();\n\n\tfun
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLRenderStates.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLRenderStates . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLRenderStates\": () => (/* binding */ WebGLRenderStates)\n/* harmony export */ });\n/* harmony import */ var _WebGLLights_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./WebGLLights.js */ \"./node_modules/three/src/renderers/webgl/WebGLLights.js\");\n\n\nfunction WebGLRenderState( extensions, capabilities ) {\n\n\tconst lights = new _WebGLLights_js__WEBPACK_IMPORTED_MODULE_0__.WebGLLights( extensions, capabilities );\n\n\tconst lightsArray = [];\n\tconst shadowsArray = [];\n\n\tfunction init() {\n\n\t\tlightsArray.length = 0;\n\t\tshadowsArray.length = 0;\n\n\t}\n\n\tfunction pushLight( light ) {\n\n\t\tlightsArray.push( light );\n\n\t}\n\n\tfunction pushShadow( shadowLight ) {\n\n\t\tshadowsArray.push( shadowLight );\n\n\t}\n\n\tfunction setupLights() {\n\n\t\tlights.setup( lightsArray );\n\n\t}\n\n\tfunction setupLightsView( camera ) {\n\n\t\tlights.setupView( lightsArray, camera );\n\n\t}\n\n\tconst state = {\n\t\tlightsArray: lightsArray,\n\t\tshadowsArray: shadowsArray,\n\n\t\tlights: lights\n\t};\n\n\treturn {\n\t\tinit: init,\n\t\tstate: state,\n\t\tsetupLights: setupLights,\n\t\tsetupLightsView: setupLightsView,\n\n\t\tpushLight: pushLight,\n\t\tpushShadow: pushShadow\n\t};\n\n}\n\nfunction WebGLRenderStates( extensions, capabilities ) {\n\n\tlet renderStates = new WeakMap();\n\n\tfunction get( scene, renderCallDepth = 0 ) {\n\n\t\tlet renderState;\n\n\t\tif ( renderStates.has( scene ) === false ) {\n\n\t\t\trenderState = new WebGLRenderState( extensions, capabilities );\n\t\t\trenderStates.set( scene, [ renderState ] );\n\n\t\t} else {\n\n\t\t\tif ( renderCallDepth >= renderStates.get( scene ).length ) {\n\n\t\t\t\trenderState = new WebGLRenderState( extensions, capabilities );\n\t\t\t\trenderStates.get( scene ).push( renderState );\n\n\t\t\t} else {\n\n\t\t\t\trenderState = renderStates.get( scene )[ renderCallDepth ];\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn renderState;\n\n\t}\n\n\tfunction dispose() {\n\n\t\trenderStates = new WeakMap();\n\n\t}\n\n\treturn {\n\t\tget: get,\n\t\tdispose: dispose\n\t};\n\n}\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/webgl/WebGLRenderStates.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLShader.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLShader . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLShader\": () => (/* binding */ WebGLShader)\n/* harmony export */ });\nfunction WebGLShader( gl, type, string ) {\n\n\tconst shader = gl.createShader( type );\n\n\tgl.shaderSource( shader, string );\n\tgl.compileShader( shader );\n\n\treturn shader;\n\n}\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/renderers/webgl/WebGLShader.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLShadowMap.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLShadowMap . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLShadowMap\": () => (/* binding */ WebGLShadowMap)\n/* harmony export */ });\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../constants.js */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _WebGLRenderTarget_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../WebGLRenderTarget.js */ \"./node_modules/three/src/renderers/WebGLRenderTarget.js\");\n/* harmony import */ var _materials_MeshDepthMaterial_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../materials/MeshDepthMaterial.js */ \"./node_modules/three/src/materials/MeshDepthMaterial.js\");\n/* harmony import */ var _materials_MeshDistanceMaterial_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../materials/MeshDistanceMaterial.js */ \"./node_modules/three/src/materials/MeshDistanceMaterial.js\");\n/* harmony import */ var _materials_ShaderMaterial_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../materials/ShaderMaterial.js */ \"./node_modules/three/src/materials/ShaderMaterial.js\");\n/* harmony import */ var _core_BufferAttribute_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../core/BufferAttribute.js */ \"./node_modules/three/src/core/BufferAttribute.js\");\n/* harmony import */ var _core_BufferGeometry_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../core/BufferGeometry.js */ \"./node_modules/three/src/core/BufferGeometry.js\");\n/* harmony import */ var _objects_Mesh_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../objects/Mesh.js */ \"./node_modules/three/src/objects/Mesh.js\");\n/* harmony import */ var _math_Vector4_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../math/Vector4.js */ \"./node_modules/three/src/math/Vector4.js\");\n/* harmony import */ var _math_Vector2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../math/Vector2.js */ \"./node_modules/three/src/math/Vector2.js\");\n/* harmony import */ var _math_Frustum_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../math/Frustum.js */ \"./node_modules/three/src/math/Frustum.js\");\n/* harmony import */ var _shaders_ShaderLib_vsm_frag_glsl_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../shaders/ShaderLib/vsm_frag.glsl.js */ \"./node_modules/three/src/renderers/shaders/ShaderLib/vsm_frag.glsl.js\");\n/* harmony import */ var _shaders_ShaderLib_vsm_vert_glsl_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../shaders/ShaderLib/vsm_vert.glsl.js */ \"./node_modules/three/src/renderers/shaders/ShaderLib/vsm_vert.glsl.js\" ) ; \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ nfunction WebGLShadowMap ( _renderer , _objects , maxTextureSize ) { \ n \ n \ tlet _frustum = new _math _Frustum _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Frustum ( ) ; \ n \ n \ tconst _shadowMapSize = new _math _Vector2 _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Vector2 ( ) , \ n \ t \ t _viewportSize = new _math _Vector2 _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Vector2 ( ) , \ n \ n \ t \ t _viewport = new _math _Vector4 _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . Vector4 ( ) , \ n \ n \ t \ t _depthMaterials = [ ] , \ n \ t \ t _distanceMaterials = [ ] , \ n \ n \ t \ t _materialCache = { } ; \ n \ n \ tconst shadowSide = { 0 : _constants _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . BackSide , 1 : _constants _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . FrontSide , 2 : _constants _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . DoubleSide } ; \ n \ n \ tconst shadowMaterialVertical = new _materials _ShaderMaterial _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ . ShaderMaterial ( { \ n \ n \ t \ tdefines : { \ n \ t \ t \ tSAMPLE _RATE : 2.0 / 8.0 , \ n \ t \ t \ tHALF _SAMPLE _RATE : 1.0 / 8.0 \ n \ t \ t } , \ n \ n \ t \ tuniforms : { \ n \ t \ t \ tshadow _pass : { value : null } , \ n \ t \ t \ tresolution : { value : new _math _Vector2 _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . Vector2 ( ) } , \ n \ t \ t \ tradius : { value : 4.0 } \ n \ t \ t } , \ n \ n \ t \ tvertexShader : _shaders _ShaderLib _vsm _vert _glsl _js _ _WEBPACK _IMPORTED _MODULE _5 _ _ . default , \ n \ n \ t \ tfragmentShader : _shaders _ShaderLib _vsm _frag _glsl _js _ _WEBPACK _IMPORTED _MODULE _6 _ _ . default \ n \ n \ t } ) ; \ n \ n \ tconst shadowMaterialHori
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLState.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLState . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLState\": () => (/* binding */ WebGLState)\n/* harmony export */ });\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../constants.js */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _math_Vector4_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../math/Vector4.js */ \"./node_modules/three/src/math/Vector4.js\" ) ; \ n \ n \ n \ nfunction WebGLState ( gl , extensions , capabilities ) { \ n \ n \ tconst isWebGL2 = capabilities . isWebGL2 ; \ n \ n \ tfunction ColorBuffer ( ) { \ n \ n \ t \ tlet locked = false ; \ n \ n \ t \ tconst color = new _math _Vector4 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector4 ( ) ; \ n \ t \ tlet currentColorMask = null ; \ n \ t \ tconst currentColorClear = new _math _Vector4 _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Vector4 ( 0 , 0 , 0 , 0 ) ; \ n \ n \ t \ treturn { \ n \ n \ t \ t \ tsetMask : function ( colorMask ) { \ n \ n \ t \ t \ t \ tif ( currentColorMask !== colorMask && ! locked ) { \ n \ n \ t \ t \ t \ t \ tgl . colorMask ( colorMask , colorMask , colorMask , colorMask ) ; \ n \ t \ t \ t \ t \ tcurrentColorMask = colorMask ; \ n \ n \ t \ t \ t \ t } \ n \ n \ t \ t \ t } , \ n \ n \ t \ t \ tsetLocked : function ( lock ) { \ n \ n \ t \ t \ t \ tlocked = lock ; \ n \ n \ t \ t \ t } , \ n \ n \ t \ t \ tsetClear : function ( r , g , b , a , premultipliedAlpha ) { \ n \ n \ t \ t \ t \ tif ( premultipliedAlpha === true ) { \ n \ n \ t \ t \ t \ t \ tr *= a ; g *= a ; b *= a ; \ n \ n \ t \ t \ t \ t } \ n \ n \ t \ t \ t \ tcolor . set ( r , g , b , a ) ; \ n \ n \ t \ t \ t \ tif ( currentColorClear . equals ( color ) === false ) { \ n \ n \ t \ t \ t \ t \ tgl . clearColor ( r , g , b , a ) ; \ n \ t \ t \ t \ t \ tcurrentColorClear . copy ( color ) ; \ n \ n \ t \ t \ t \ t } \ n \ n \ t \ t \ t } , \ n \ n \ t \ t \ treset : function ( ) { \ n \ n \ t \ t \ t \ tlocked = false ; \ n \ n \ t \ t \ t \ tcurrentColorMask = null ; \ n \ t \ t \ t \ tcurrentColorClear . set ( - 1 , 0 , 0 , 0 ) ; // set to invalid state\n\n\t\t\t}\n\n\t\t};\n\n\t}\n\n\tfunction DepthBuffer() {\n\n\t\tlet locked = false;\n\n\t\tlet currentDepthMask = null;\n\t\tlet currentDepthFunc = null;\n\t\tlet currentDepthClear = null;\n\n\t\treturn {\n\n\t\t\tsetTest: function ( depthTest ) {\n\n\t\t\t\tif ( depthTest ) {\n\n\t\t\t\t\tenable( gl.DEPTH_TEST );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tdisable( gl.DEPTH_TEST );\n\n\t\t\t\t}\n\n\t\t\t},\n\n\t\t\tsetMask: function ( depthMask ) {\n\n\t\t\t\tif ( currentDepthMask !== depthMask && ! locked ) {\n\n\t\t\t\t\tgl.depthMask( depthMask );\n\t\t\t\t\tcurrentDepthMask = depthMask;\n\n\t\t\t\t}\n\n\t\t\t},\n\n\t\t\tsetFunc: function ( depthFunc ) {\n\n\t\t\t\tif ( currentDepthFunc !== depthFunc ) {\n\n\t\t\t\t\tif ( depthFunc ) {\n\n\t\t\t\t\t\tswitch ( depthFunc ) {\n\n\t\t\t\t\t\t\tcase _constants_js__WEBPACK_IMPORTED_MODULE_1__.NeverDepth:\n\n\t\t\t\t\t\t\t\tgl.depthFunc( gl.NEVER );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase _constants_js__WEBPACK_IMPORTED_MODULE_1__.AlwaysDepth:\n\n\t\t\t\t\t\t\t\tgl.depthFunc( gl.ALWAYS );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase _constants_js__WEBPACK_IMPORTED_MODULE_1__.LessDepth:\n\n\t\t\t\t\t\t\t\tgl.depthFunc( gl.LESS );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase _constants_js__WEBPACK_IMPORTED_MODULE_1__.LessEqualDepth:\n\n\t\t\t\t\t\t\t\tgl.depthFunc( gl.LEQUAL );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase _constants_js__WEBPACK_IMPORTED_MODULE_1__.EqualDepth:\n\n\t\t\t\t\t\t\t\tgl.depthFunc( gl.EQUAL );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase _constants_js__WEBPACK_IMPORTED_MODULE_1__.GreaterEqualDepth:\n\n\t\t\t\t\t\t\t\tgl.depthFunc( gl.GEQUAL );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase _constants_js__WEBPACK_IMPORTED_MODULE_1__.GreaterDepth:\n\n\t\t\t\t\t\t\t\tgl.depthFunc( gl.GREATER );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase _constants_js__WEBPACK_IMPORTED_MODULE_1__.NotEqualDepth:\n\n\t\t\t\t\t\t\t\tgl.depthFunc( gl.NOTEQUAL );\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tdefault:\n\n\t\t\t\t\t\t\t\tgl.depthFunc( gl.LEQUAL );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tgl.depthFunc( gl.LEQUAL );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tcurrentDepthFunc = depthFunc;\n\n\t\t\t\t}\n\n\t\t\t},\n\n\t\t\tsetLocked: function ( lock ) {\n\n\t\t\t\tlocked = lock;\n\n\t\t\t},\n\n\t
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLTextures.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLTextures . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLTextures\": () => (/* binding */ WebGLTextures)\n/* harmony export */ });\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../constants.js */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _math_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../math/MathUtils.js */ \"./node_modules/three/src/math/MathUtils.js\");\n\n\n\nfunction WebGLTextures( _gl, extensions, state, properties, capabilities, utils, info ) {\n\n\tconst isWebGL2 = capabilities.isWebGL2;\n\tconst maxTextures = capabilities.maxTextures;\n\tconst maxCubemapSize = capabilities.maxCubemapSize;\n\tconst maxTextureSize = capabilities.maxTextureSize;\n\tconst maxSamples = capabilities.maxSamples;\n\n\tconst _videoTextures = new WeakMap();\n\tlet _canvas;\n\n\t// cordova iOS (as of 5.0) still uses UIWebView, which provides OffscreenCanvas,\n\t// also OffscreenCanvas.getContext(\"webgl\"), but not OffscreenCanvas.getContext(\"2d\" ) ! \ n \ t // Some implementations may only implement OffscreenCanvas partially (e.g. lacking 2d).\n\n\tlet useOffscreenCanvas = false;\n\n\ttry {\n\n\t\tuseOffscreenCanvas = typeof OffscreenCanvas !== 'undefined'\n\t\t\t&& ( new OffscreenCanvas( 1, 1 ).getContext( '2d' ) ) !== null;\n\n\t} catch ( err ) {\n\n\t\t// Ignore any errors\n\n\t}\n\n\tfunction createCanvas( width, height ) {\n\n\t\t// Use OffscreenCanvas when available. Specially needed in web workers\n\n\t\treturn useOffscreenCanvas ?\n\t\t\tnew OffscreenCanvas( width, height ) :\n\t\t\tdocument.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' );\n\n\t}\n\n\tfunction resizeImage( image, needsPowerOfTwo, needsNewCanvas, maxSize ) {\n\n\t\tlet scale = 1;\n\n\t\t// handle case if texture exceeds max size\n\n\t\tif ( image.width > maxSize || image.height > maxSize ) {\n\n\t\t\tscale = maxSize / Math.max( image.width, image.height );\n\n\t\t}\n\n\t\t// only perform resize if necessary\n\n\t\tif ( scale < 1 || needsPowerOfTwo === true ) {\n\n\t\t\t// only perform resize for certain image types\n\n\t\t\tif ( ( typeof HTMLImageElement !== 'undefined' && image instanceof HTMLImageElement ) ||\n\t\t\t\t( typeof HTMLCanvasElement !== 'undefined' && image instanceof HTMLCanvasElement ) ||\n\t\t\t\t( typeof ImageBitmap !== 'undefined' && image instanceof ImageBitmap ) ) {\n\n\t\t\t\tconst floor = needsPowerOfTwo ? _math_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.MathUtils.floorPowerOfTwo : Math.floor;\n\n\t\t\t\tconst width = floor( scale * image.width );\n\t\t\t\tconst height = floor( scale * image.height );\n\n\t\t\t\tif ( _canvas === undefined ) _canvas = createCanvas( width, height );\n\n\t\t\t\t// cube textures can't reuse the same canvas\n\n\t\t\t\tconst canvas = needsNewCanvas ? createCanvas( width, height ) : _canvas;\n\n\t\t\t\tcanvas.width = width;\n\t\t\t\tcanvas.height = height;\n\n\t\t\t\tconst context = canvas.getContext( '2d' );\n\t\t\t\tcontext.drawImage( image, 0, 0, width, height );\n\n\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: Texture has been resized from (' + image.width + 'x' + image.height + ') to (' + width + 'x' + height + ').' );\n\n\t\t\t\treturn canvas;\n\n\t\t\t} else {\n\n\t\t\t\tif ( 'data' in image ) {\n\n\t\t\t\t\tconsole.warn( 'THREE.WebGLRenderer: Image in DataTexture is too big (' + image.width + 'x' + image.height + ').' );\n\n\t\t\t\t}\n\n\t\t\t\treturn image;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn image;\n\n\t}\n\n\tfunction isPowerOfTwo( image ) {\n\n\t\treturn _math_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.MathUtils.isPowerOfTwo( image.width ) && _math_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.MathUtils.isPowerOfTwo( image.height );\n\n\t}\n\n\tfunction textureNeedsPowerOfTwo( texture ) {\n\n\t\tif ( isWebGL2 ) return false;\n\n\t\treturn ( texture.wrapS !== _constants_js__WEBPACK_IMPORTED_MODULE_1__.ClampToEdgeWrapping || texture.wrapT !== _constants_js__WEBPACK_IMPORTED_MODULE_1__.ClampToEdgeWrapping ) ||\n\
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLUniforms.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLUniforms . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLUniforms\": () => (/* binding */ WebGLUniforms)\n/* harmony export */ });\n/* harmony import */ var _textures_CubeTexture_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../textures/CubeTexture.js */ \"./node_modules/three/src/textures/CubeTexture.js\");\n/* harmony import */ var _textures_Texture_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../textures/Texture.js */ \"./node_modules/three/src/textures/Texture.js\");\n/* harmony import */ var _textures_DataTexture2DArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../textures/DataTexture2DArray.js */ \"./node_modules/three/src/textures/DataTexture2DArray.js\");\n/* harmony import */ var _textures_DataTexture3D_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../textures/DataTexture3D.js */ \"./node_modules/three/src/textures/DataTexture3D.js\" ) ; \ n /**\n * Uniforms of a program.\n * Those form a tree structure with a special top-level container for the root,\n * which you get by calling 'new WebGLUniforms( gl, program )'.\n *\n *\n * Properties of inner nodes including the top-level container:\n *\n * .seq - array of nested uniforms\n * .map - nested uniforms by name\n *\n *\n * Methods of all nodes except the top-level container:\n *\n * .setValue( gl, value, [textures] )\n *\n * \t\tuploads a uniform value(s)\n * \tthe 'textures' parameter is needed for sampler uniforms\n *\n *\n * Static methods of the top-level container (textures factorizations):\n *\n * .upload( gl, seq, values, textures )\n *\n * \t\tsets uniforms in 'seq' to 'values[id].value'\n *\n * .seqWithValue( seq, values ) : filteredSeq\n *\n * \t\tfilters 'seq' entries with corresponding entry in values\n *\n *\n * Methods of the top-level container (textures factorizations):\n *\n * .setValue( gl, name, value, textures )\n *\n * \t\tsets uniform with name 'name' to 'value'\n *\n * .setOptional( gl, obj, prop )\n *\n * \t\tlike .set for an optional property of the object\n *\n */ \ n \ n \ n \ n \ n \ n \ nconst emptyTexture = new _textures _Texture _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Texture ( ) ; \ nconst emptyTexture2dArray = new _textures _DataTexture2DArray _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . DataTexture2DArray ( ) ; \ nconst emptyTexture3d = new _textures _DataTexture3D _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . DataTexture3D ( ) ; \ nconst emptyCubeTexture = new _textures _CubeTexture _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . CubeTexture ( ) ; \ n \ n // --- Utilities ---\n\n// Array Caches (provide typed arrays for temporary by size)\n\nconst arrayCacheF32 = [];\nconst arrayCacheI32 = [];\n\n// Float32Array caches used for uploading Matrix uniforms\n\nconst mat4array = new Float32Array( 16 );\nconst mat3array = new Float32Array( 9 );\nconst mat2array = new Float32Array( 4 );\n\n// Flattening for arrays of vectors and matrices\n\nfunction flatten( array, nBlocks, blockSize ) {\n\n\tconst firstElem = array[ 0 ];\n\n\tif ( firstElem <= 0 || firstElem > 0 ) return array;\n\t// unoptimized: ! isNaN( firstElem )\n\t// see http://jacksondunstan.com/articles/983\n\n\tconst n = nBlocks * blockSize;\n\tlet r = arrayCacheF32[ n ];\n\n\tif ( r === undefined ) {\n\n\t\tr = new Float32Array( n );\n\t\tarrayCacheF32[ n ] = r;\n\n\t}\n\n\tif ( nBlocks !== 0 ) {\n\n\t\tfirstElem.toArray( r, 0 );\n\n\t\tfor ( let i = 1, offset = 0; i !== nBlocks; ++ i ) {\n\n\t\t\toffset += blockSize;\n\t\t\tarray[ i ].toArray( r, offset );\n\n\t\t}\n\n\t}\n\n\treturn r;\n\n}\n\nfunction arraysEqual( a, b ) {\n\n\tif ( a.length !== b.length ) return false;\n\n\tfor ( let i = 0, l = a.length; i < l; i ++ ) {\n\n\t\tif ( a[ i ] !== b[ i ] ) return false;\n\n\t}\n\n\treturn true;\n\n}\n\nfunction copyArray( a, b ) {\n\n\tfor ( let i = 0, l = b.length; i < l; i ++ ) {\n\n\t\ta[ i ] = b[ i ];\n\n\t}\n\n}\n\n// Texture unit allocation\n\nfunction allocTexUnits( textures, n ) {\n\n\tlet r = arrayCacheI32[ n ];\n\n\tif ( r === undefined ) {\n\n\t\tr = new Int32Array( n );\n\t\tarrayCacheI32[ n ] = r;\n\n\
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webgl/WebGLUtils.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webgl / WebGLUtils . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebGLUtils\": () => (/* binding */ WebGLUtils)\n/* harmony export */ });\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../constants.js */ \"./node_modules/three/src/constants.js\" ) ; \ n \ n \ nfunction WebGLUtils ( gl , extensions , capabilities ) { \ n \ n \ tconst isWebGL2 = capabilities . isWebGL2 ; \ n \ n \ tfunction convert ( p ) { \ n \ n \ t \ tlet extension ; \ n \ n \ t \ tif ( p === _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . UnsignedByteType ) return gl . UNSIGNED _BYTE ; \ n \ t \ tif ( p === _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . UnsignedShort4444Type ) return gl . UNSIGNED _SHORT _4 _4 _4 _4 ; \ n \ t \ tif ( p === _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . UnsignedShort5551Type ) return gl . UNSIGNED _SHORT _5 _5 _5 _1 ; \ n \ t \ tif ( p === _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . UnsignedShort565Type ) return gl . UNSIGNED _SHORT _5 _6 _5 ; \ n \ n \ t \ tif ( p === _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . ByteType ) return gl . BYTE ; \ n \ t \ tif ( p === _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . ShortType ) return gl . SHORT ; \ n \ t \ tif ( p === _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . UnsignedShortType ) return gl . UNSIGNED _SHORT ; \ n \ t \ tif ( p === _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . IntType ) return gl . INT ; \ n \ t \ tif ( p === _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . UnsignedIntType ) return gl . UNSIGNED _INT ; \ n \ t \ tif ( p === _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . FloatType ) return gl . FLOAT ; \ n \ n \ t \ tif ( p === _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . HalfFloatType ) { \ n \ n \ t \ t \ tif ( isWebGL2 ) return gl . HALF _FLOAT ; \ n \ n \ t \ t \ textension = extensions . get ( 'OES_texture_half_float' ) ; \ n \ n \ t \ t \ tif ( extension !== null ) { \ n \ n \ t \ t \ t \ treturn extension . HALF _FLOAT _OES ; \ n \ n \ t \ t \ t } else { \ n \ n \ t \ t \ t \ treturn null ; \ n \ n \ t \ t \ t } \ n \ n \ t \ t } \ n \ n \ t \ tif ( p === _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . AlphaFormat ) return gl . ALPHA ; \ n \ t \ tif ( p === _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . RGBFormat ) return gl . RGB ; \ n \ t \ tif ( p === _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . RGBAFormat ) return gl . RGBA ; \ n \ t \ tif ( p === _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . LuminanceFormat ) return gl . LUMINANCE ; \ n \ t \ tif ( p === _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . LuminanceAlphaFormat ) return gl . LUMINANCE _ALPHA ; \ n \ t \ tif ( p === _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . DepthFormat ) return gl . DEPTH _COMPONENT ; \ n \ t \ tif ( p === _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . DepthStencilFormat ) return gl . DEPTH _STENCIL ; \ n \ t \ tif ( p === _constants _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . RedFormat ) return gl . RED ; \ n \ n \ t \ t // WebGL2 formats.\n\n\t\tif ( p === _constants_js__WEBPACK_IMPORTED_MODULE_0__.RedIntegerFormat ) return gl.RED_INTEGER;\n\t\tif ( p === _constants_js__WEBPACK_IMPORTED_MODULE_0__.RGFormat ) return gl.RG;\n\t\tif ( p === _constants_js__WEBPACK_IMPORTED_MODULE_0__.RGIntegerFormat ) return gl.RG_INTEGER;\n\t\tif ( p === _constants_js__WEBPACK_IMPORTED_MODULE_0__.RGBIntegerFormat ) return gl.RGB_INTEGER;\n\t\tif ( p === _constants_js__WEBPACK_IMPORTED_MODULE_0__.RGBAIntegerFormat ) return gl.RGBA_INTEGER;\n\n\t\tif ( p === _constants_js__WEBPACK_IMPORTED_MODULE_0__.RGB_S3TC_DXT1_Format || p === _constants_js__WEBPACK_IMPORTED_MODULE_0__.RGBA_S3TC_DXT1_Format ||\n\t\t\tp === _constants_js__WEBPACK_IMPORTED_MODULE_0__.RGBA_S3TC_DXT3_Format || p === _constants_js__WEBPACK_IMPORTED_MODULE_0__.RGBA_S3TC_DXT5_Format ) {\n\n\t\t\textension = extensions.get( 'WEBGL_compressed_texture_s3tc' );\n\n\t\t\tif ( extension !== null ) {\n\n\t\t\t\tif ( p === _constants_js__WEBPACK_IMPORTED_MODULE_0__.RGB_S3TC_DXT1_Format ) return extension.COMPRESSED_RGB_S3TC_DXT1_EXT;\n\t\t\t\tif ( p === _constants_js__WEBPACK_IMPORTED_MODULE_0__.RGBA_S3TC_DXT1_Format ) return extension.COMPRESSED_RGBA_S3TC_DXT1_EXT;\n\t\t\t\tif ( p === _constants_js__WEBPACK_IMPORTED_MODULE_0__.RGBA_S3TC_DXT3_Format ) return extension.COMPRESSED_RGBA_S3TC_DXT3_EXT;\n\t\t\t\tif ( p === _constants_js__WEBPACK_IMPORTED_MODULE_0__.RGBA_S3TC_DXT5_Format ) return extension.COMPRESSE
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webxr/WebXRController.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webxr / WebXRController . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebXRController\": () => (/* binding */ WebXRController)\n/* harmony export */ });\n/* harmony import */ var _objects_Group_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../objects/Group.js */ \"./node_modules/three/src/objects/Group.js\" ) ; \ n \ n \ nfunction WebXRController ( ) { \ n \ n \ tthis . _targetRay = null ; \ n \ tthis . _grip = null ; \ n \ tthis . _hand = null ; \ n \ n } \ n \ nObject . assign ( WebXRController . prototype , { \ n \ n \ tconstructor : WebXRController , \ n \ n \ tgetHandSpace : function ( ) { \ n \ n \ t \ tif ( this . _hand === null ) { \ n \ n \ t \ t \ tthis . _hand = new _objects _Group _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Group ( ) ; \ n \ t \ t \ tthis . _hand . matrixAutoUpdate = false ; \ n \ t \ t \ tthis . _hand . visible = false ; \ n \ n \ t \ t \ tthis . _hand . joints = { } ; \ n \ t \ t \ tthis . _hand . inputState = { pinching : false } ; \ n \ n \ t \ t } \ n \ n \ t \ treturn this . _hand ; \ n \ n \ t } , \ n \ n \ tgetTargetRaySpace : function ( ) { \ n \ n \ t \ tif ( this . _targetRay === null ) { \ n \ n \ t \ t \ tthis . _targetRay = new _objects _Group _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Group ( ) ; \ n \ t \ t \ tthis . _targetRay . matrixAutoUpdate = false ; \ n \ t \ t \ tthis . _targetRay . visible = false ; \ n \ n \ t \ t } \ n \ n \ t \ treturn this . _targetRay ; \ n \ n \ t } , \ n \ n \ tgetGripSpace : function ( ) { \ n \ n \ t \ tif ( this . _grip === null ) { \ n \ n \ t \ t \ tthis . _grip = new _objects _Group _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Group ( ) ; \ n \ t \ t \ tthis . _grip . matrixAutoUpdate = false ; \ n \ t \ t \ tthis . _grip . visible = false ; \ n \ n \ t \ t } \ n \ n \ t \ treturn this . _grip ; \ n \ n \ t } , \ n \ n \ tdispatchEvent : function ( event ) { \ n \ n \ t \ tif ( this . _targetRay !== null ) { \ n \ n \ t \ t \ tthis . _targetRay . dispatchEvent ( event ) ; \ n \ n \ t \ t } \ n \ n \ t \ tif ( this . _grip !== null ) { \ n \ n \ t \ t \ tthis . _grip . dispatchEvent ( event ) ; \ n \ n \ t \ t } \ n \ n \ t \ tif ( this . _hand !== null ) { \ n \ n \ t \ t \ tthis . _hand . dispatchEvent ( event ) ; \ n \ n \ t \ t } \ n \ n \ t \ treturn this ; \ n \ n \ t } , \ n \ n \ tdisconnect : function ( inputSource ) { \ n \ n \ t \ tthis . dispatchEvent ( { type : 'disconnected' , data : inputSource } ) ; \ n \ n \ t \ tif ( this . _targetRay !== null ) { \ n \ n \ t \ t \ tthis . _targetRay . visible = false ; \ n \ n \ t \ t } \ n \ n \ t \ tif ( this . _grip !== null ) { \ n \ n \ t \ t \ tthis . _grip . visible = false ; \ n \ n \ t \ t } \ n \ n \ t \ tif ( this . _hand !== null ) { \ n \ n \ t \ t \ tthis . _hand . visible = false ; \ n \ n \ t \ t } \ n \ n \ t \ treturn this ; \ n \ n \ t } , \ n \ n \ tupdate : function ( inputSource , frame , referenceSpace ) { \ n \ n \ t \ tlet inputPose = null ; \ n \ t \ tlet gripPose = null ; \ n \ t \ tlet handPose = null ; \ n \ n \ t \ tconst targetRay = this . _targetRay ; \ n \ t \ tconst grip = this . _grip ; \ n \ t \ tconst hand = this . _hand ; \ n \ n \ t \ tif ( inputSource && frame . session . visibilityState !== 'visible-blurred' ) { \ n \ n \ t \ t \ tif ( hand && inputSource . hand ) { \ n \ n \ t \ t \ t \ thandPose = true ; \ n \ n \ t \ t \ t \ tfor ( const inputjoint of inputSource . hand . values ( ) ) { \ n \ n \ t \ t \ t \ t \ t // Update the joints groups with the XRJoint poses\n\t\t\t\t\tconst jointPose = frame.getJointPose( inputjoint, referenceSpace );\n\n\t\t\t\t\tif ( hand.joints[ inputjoint.jointName ] === undefined ) {\n\n\t\t\t\t\t\t// The transform of this joint will be updated with the joint pose on each frame\n\t\t\t\t\t\tconst joint = new _objects_Group_js__WEBPACK_IMPORTED_MODULE_0__.Group();\n\t\t\t\t\t\tjoint.matrixAutoUpdate = false;\n\t\t\t\t\t\tjoint.visible = false;\n\t\t\t\t\t\thand.joints[ inputjoint.jointName ] = joint;\n\t\t\t\t\t\t// ??\n\t\t\t\t\t\thand.add( joint );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tconst joint = hand.joints[ inputjoint.jointName ];\n\n\t\t\t\t\tif ( jointPose !== null ) {\n\n\t\t\t\t\t\tjoint.matrix.fromArray( jointPose.transform.matrix );\n\t\t\t\t\t\tjoint.matrix.decompose( joint.position, joint.rotation, joint.scale );\n\t\t\t\t\t\tjoint.jointRadius = jointPose.radius;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tjoint.visible = jointPose !== null;\n\n\t\t\t\t}\n\n\t\t\t\t// Custom events\n\n\t\t\t\t// Check pinchz\n\t\t\t\tconst indexTip = hand.joints[ 'index-finger-tip' ];\n\t\t\t\tconst thumbTip = hand.joints[ 'thumb-tip' ];\n\t\t\t\tconst distance = indexTip.position.distanceTo( thumbTip.position );\n\n\t\t\t\tconst distanceToPinch = 0.02;\n\t\t\t\tconst threshold = 0.005;\n\n\t\t\t\tif ( hand.inputState.pinching &
/***/ } ) ,
/***/ "./node_modules/three/src/renderers/webxr/WebXRManager.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / renderers / webxr / WebXRManager . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WebXRManager\": () => (/* binding */ WebXRManager)\n/* harmony export */ });\n/* harmony import */ var _cameras_ArrayCamera_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../cameras/ArrayCamera.js */ \"./node_modules/three/src/cameras/ArrayCamera.js\");\n/* harmony import */ var _core_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../core/EventDispatcher.js */ \"./node_modules/three/src/core/EventDispatcher.js\");\n/* harmony import */ var _cameras_PerspectiveCamera_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../cameras/PerspectiveCamera.js */ \"./node_modules/three/src/cameras/PerspectiveCamera.js\");\n/* harmony import */ var _math_Vector3_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../math/Vector3.js */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _math_Vector4_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../math/Vector4.js */ \"./node_modules/three/src/math/Vector4.js\");\n/* harmony import */ var _webgl_WebGLAnimation_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../webgl/WebGLAnimation.js */ \"./node_modules/three/src/renderers/webgl/WebGLAnimation.js\");\n/* harmony import */ var _WebXRController_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./WebXRController.js */ \"./node_modules/three/src/renderers/webxr/WebXRController.js\" ) ; \ n \ n \ n \ n \ n \ n \ n \ n \ nfunction WebXRManager ( renderer , gl ) { \ n \ n \ tconst scope = this ; \ n \ n \ tlet session = null ; \ n \ n \ tlet framebufferScaleFactor = 1.0 ; \ n \ n \ tlet referenceSpace = null ; \ n \ tlet referenceSpaceType = 'local-floor' ; \ n \ n \ tlet pose = null ; \ n \ n \ tconst controllers = [ ] ; \ n \ tconst inputSourcesMap = new Map ( ) ; \ n \ n \ t //\n\n\tconst cameraL = new _cameras_PerspectiveCamera_js__WEBPACK_IMPORTED_MODULE_0__.PerspectiveCamera();\n\tcameraL.layers.enable( 1 );\n\tcameraL.viewport = new _math_Vector4_js__WEBPACK_IMPORTED_MODULE_1__.Vector4();\n\n\tconst cameraR = new _cameras_PerspectiveCamera_js__WEBPACK_IMPORTED_MODULE_0__.PerspectiveCamera();\n\tcameraR.layers.enable( 2 );\n\tcameraR.viewport = new _math_Vector4_js__WEBPACK_IMPORTED_MODULE_1__.Vector4();\n\n\tconst cameras = [ cameraL, cameraR ];\n\n\tconst cameraVR = new _cameras_ArrayCamera_js__WEBPACK_IMPORTED_MODULE_2__.ArrayCamera();\n\tcameraVR.layers.enable( 1 );\n\tcameraVR.layers.enable( 2 );\n\n\tlet _currentDepthNear = null;\n\tlet _currentDepthFar = null;\n\n\t//\n\n\tthis.enabled = false;\n\n\tthis.isPresenting = false;\n\n\tthis.getController = function ( index ) {\n\n\t\tlet controller = controllers[ index ];\n\n\t\tif ( controller === undefined ) {\n\n\t\t\tcontroller = new _WebXRController_js__WEBPACK_IMPORTED_MODULE_3__.WebXRController();\n\t\t\tcontrollers[ index ] = controller;\n\n\t\t}\n\n\t\treturn controller.getTargetRaySpace();\n\n\t};\n\n\tthis.getControllerGrip = function ( index ) {\n\n\t\tlet controller = controllers[ index ];\n\n\t\tif ( controller === undefined ) {\n\n\t\t\tcontroller = new _WebXRController_js__WEBPACK_IMPORTED_MODULE_3__.WebXRController();\n\t\t\tcontrollers[ index ] = controller;\n\n\t\t}\n\n\t\treturn controller.getGripSpace();\n\n\t};\n\n\tthis.getHand = function ( index ) {\n\n\t\tlet controller = controllers[ index ];\n\n\t\tif ( controller === undefined ) {\n\n\t\t\tcontroller = new _WebXRController_js__WEBPACK_IMPORTED_MODULE_3__.WebXRController();\n\t\t\tcontrollers[ index ] = controller;\n\n\t\t}\n\n\t\treturn controller.getHandSpace();\n\n\t};\n\n\t//\n\n\tfunction onSessionEvent( event ) {\n\n\t\tconst controller = inputSourcesMap.get( event.inputSource );\n\n\t\tif ( controller ) {\n\n\t\t\tcontroller.dispatchEvent( { type: event.type, data: event.inputSource } );\n\n\t\t}\n\n\t}\n\n\tfunction onSessionEnd() {\n\n\t\tinputSourcesMap.forEach( function ( controller, inputSource ) {\n\n\t\t\tcontroller.disconnect( inputSource );\n\n\t\t} );\n\n\t\tinputSourcesMap.clear();\n\n\t\t_currentDepthNear = null;\n\
/***/ } ) ,
/***/ "./node_modules/three/src/scenes/Scene.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / scenes / Scene . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Scene\": () => (/* binding */ Scene)\n/* harmony export */ });\n/* harmony import */ var _core_Object3D_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/Object3D.js */ \"./node_modules/three/src/core/Object3D.js\");\n\n\nclass Scene extends _core_Object3D_js__WEBPACK_IMPORTED_MODULE_0__.Object3D {\n\n\tconstructor() {\n\n\t\tsuper();\n\n\t\tthis.type = 'Scene';\n\n\t\tthis.background = null;\n\t\tthis.environment = null;\n\t\tthis.fog = null;\n\n\t\tthis.overrideMaterial = null;\n\n\t\tthis.autoUpdate = true; // checked by the renderer\n\n\t\tif ( typeof __THREE_DEVTOOLS__ !== 'undefined' ) {\n\n\t\t\t__THREE_DEVTOOLS__.dispatchEvent( new CustomEvent( 'observe', { detail: this } ) ); // eslint-disable-line no-undef\n\n\t\t}\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tif ( source.background !== null ) this.background = source.background.clone();\n\t\tif ( source.environment !== null ) this.environment = source.environment.clone();\n\t\tif ( source.fog !== null ) this.fog = source.fog.clone();\n\n\t\tif ( source.overrideMaterial !== null ) this.overrideMaterial = source.overrideMaterial.clone();\n\n\t\tthis.autoUpdate = source.autoUpdate;\n\t\tthis.matrixAutoUpdate = source.matrixAutoUpdate;\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\tconst data = super.toJSON( meta );\n\n\t\tif ( this.background !== null ) data.object.background = this.background.toJSON( meta );\n\t\tif ( this.environment !== null ) data.object.environment = this.environment.toJSON( meta );\n\t\tif ( this.fog !== null ) data.object.fog = this.fog.toJSON();\n\n\t\treturn data;\n\n\t}\n\n}\n\nScene.prototype.isScene = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/scenes/Scene.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/textures/CubeTexture.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / textures / CubeTexture . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CubeTexture\": () => (/* binding */ CubeTexture)\n/* harmony export */ });\n/* harmony import */ var _Texture_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Texture.js */ \"./node_modules/three/src/textures/Texture.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants.js */ \"./node_modules/three/src/constants.js\");\n\n\n\nclass CubeTexture extends _Texture_js__WEBPACK_IMPORTED_MODULE_0__.Texture {\n\n\tconstructor( images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ) {\n\n\t\timages = images !== undefined ? images : [];\n\t\tmapping = mapping !== undefined ? mapping : _constants_js__WEBPACK_IMPORTED_MODULE_1__.CubeReflectionMapping;\n\t\tformat = format !== undefined ? format : _constants_js__WEBPACK_IMPORTED_MODULE_1__.RGBFormat;\n\n\t\tsuper( images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding );\n\n\t\t// Why CubeTexture._needsFlipEnvMap is necessary:\n\t\t//\n\t\t// By convention -- likely based on the RenderMan spec from the 1990's -- cube maps are specified by WebGL (and three.js)\n\t\t// in a coordinate system in which positive-x is to the right when looking up the positive-z axis -- in other words,\n\t\t// in a left-handed coordinate system. By continuing this convention, preexisting cube maps continued to render correctly.\n\n\t\t// three.js uses a right-handed coordinate system. So environment maps used in three.js appear to have px and nx swapped\n\t\t// and the flag _needsFlipEnvMap controls this conversion. The flip is not required (and thus _needsFlipEnvMap is set to false)\n\t\t// when using WebGLCubeRenderTarget.texture as a cube texture.\n\n\t\tthis._needsFlipEnvMap = true;\n\n\t\tthis.flipY = false;\n\n\t}\n\n\tget images() {\n\n\t\treturn this.image;\n\n\t}\n\n\tset images( value ) {\n\n\t\tthis.image = value;\n\n\t}\n\n}\n\nCubeTexture.prototype.isCubeTexture = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/textures/CubeTexture.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/textures/DataTexture.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / textures / DataTexture . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"DataTexture\": () => (/* binding */ DataTexture)\n/* harmony export */ });\n/* harmony import */ var _Texture_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Texture.js */ \"./node_modules/three/src/textures/Texture.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants.js */ \"./node_modules/three/src/constants.js\");\n\n\n\nclass DataTexture extends _Texture_js__WEBPACK_IMPORTED_MODULE_0__.Texture {\n\n\tconstructor( data, width, height, format, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, encoding ) {\n\n\t\tsuper( null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding );\n\n\t\tthis.image = { data: data || null, width: width || 1, height: height || 1 };\n\n\t\tthis.magFilter = magFilter !== undefined ? magFilter : _constants_js__WEBPACK_IMPORTED_MODULE_1__.NearestFilter;\n\t\tthis.minFilter = minFilter !== undefined ? minFilter : _constants_js__WEBPACK_IMPORTED_MODULE_1__.NearestFilter;\n\n\t\tthis.generateMipmaps = false;\n\t\tthis.flipY = false;\n\t\tthis.unpackAlignment = 1;\n\n\t\tthis.needsUpdate = true;\n\n\t}\n\n}\n\nDataTexture.prototype.isDataTexture = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/textures/DataTexture.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/textures/DataTexture2DArray.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / textures / DataTexture2DArray . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"DataTexture2DArray\": () => (/* binding */ DataTexture2DArray)\n/* harmony export */ });\n/* harmony import */ var _Texture_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Texture.js */ \"./node_modules/three/src/textures/Texture.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants.js */ \"./node_modules/three/src/constants.js\");\n\n\n\nclass DataTexture2DArray extends _Texture_js__WEBPACK_IMPORTED_MODULE_0__.Texture {\n\n\tconstructor( data = null, width = 1, height = 1, depth = 1 ) {\n\n\t\tsuper( null );\n\n\t\tthis.image = { data, width, height, depth };\n\n\t\tthis.magFilter = _constants_js__WEBPACK_IMPORTED_MODULE_1__.NearestFilter;\n\t\tthis.minFilter = _constants_js__WEBPACK_IMPORTED_MODULE_1__.NearestFilter;\n\n\t\tthis.wrapR = _constants_js__WEBPACK_IMPORTED_MODULE_1__.ClampToEdgeWrapping;\n\n\t\tthis.generateMipmaps = false;\n\t\tthis.flipY = false;\n\n\t\tthis.needsUpdate = true;\n\n\t}\n\n}\n\nDataTexture2DArray.prototype.isDataTexture2DArray = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/textures/DataTexture2DArray.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/textures/DataTexture3D.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / textures / DataTexture3D . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"DataTexture3D\": () => (/* binding */ DataTexture3D)\n/* harmony export */ });\n/* harmony import */ var _Texture_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Texture.js */ \"./node_modules/three/src/textures/Texture.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants.js */ \"./node_modules/three/src/constants.js\");\n\n\n\nclass DataTexture3D extends _Texture_js__WEBPACK_IMPORTED_MODULE_0__.Texture {\n\n\tconstructor( data = null, width = 1, height = 1, depth = 1 ) {\n\n\t\t// We're going to add .setXXX() methods for setting properties later.\n\t\t// Users can still set in DataTexture3D directly.\n\t\t//\n\t\t//\tconst texture = new THREE.DataTexture3D( data, width, height, depth );\n\t\t// \ttexture.anisotropy = 16;\n\t\t//\n\t\t// See #14839\n\n\t\tsuper( null );\n\n\t\tthis.image = { data, width, height, depth };\n\n\t\tthis.magFilter = _constants_js__WEBPACK_IMPORTED_MODULE_1__.NearestFilter;\n\t\tthis.minFilter = _constants_js__WEBPACK_IMPORTED_MODULE_1__.NearestFilter;\n\n\t\tthis.wrapR = _constants_js__WEBPACK_IMPORTED_MODULE_1__.ClampToEdgeWrapping;\n\n\t\tthis.generateMipmaps = false;\n\t\tthis.flipY = false;\n\n\t\tthis.needsUpdate = true;\n\n\t}\n\n}\n\nDataTexture3D.prototype.isDataTexture3D = true;\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/textures/DataTexture3D.js?" ) ;
/***/ } ) ,
/***/ "./node_modules/three/src/textures/Texture.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / textures / Texture . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Texture\": () => (/* binding */ Texture)\n/* harmony export */ });\n/* harmony import */ var _core_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/EventDispatcher.js */ \"./node_modules/three/src/core/EventDispatcher.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants.js */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _math_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../math/MathUtils.js */ \"./node_modules/three/src/math/MathUtils.js\");\n/* harmony import */ var _math_Vector2_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../math/Vector2.js */ \"./node_modules/three/src/math/Vector2.js\");\n/* harmony import */ var _math_Matrix3_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../math/Matrix3.js */ \"./node_modules/three/src/math/Matrix3.js\");\n/* harmony import */ var _extras_ImageUtils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../extras/ImageUtils.js */ \"./node_modules/three/src/extras/ImageUtils.js\" ) ; \ n \ n \ n \ n \ n \ n \ n \ nlet textureId = 0 ; \ n \ nclass Texture extends _core _EventDispatcher _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ . EventDispatcher { \ n \ n \ tconstructor ( image = Texture . DEFAULT _IMAGE , mapping = Texture . DEFAULT _MAPPING , wrapS = _constants _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . ClampToEdgeWrapping , wrapT = _constants _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . ClampToEdgeWrapping , magFilter = _constants _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . LinearFilter , minFilter = _constants _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . LinearMipmapLinearFilter , format = _constants _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . RGBAFormat , type = _constants _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . UnsignedByteType , anisotropy = 1 , encoding = _constants _js _ _WEBPACK _IMPORTED _MODULE _1 _ _ . LinearEncoding ) { \ n \ n \ t \ tsuper ( ) ; \ n \ n \ t \ tObject . defineProperty ( this , 'id' , { value : textureId ++ } ) ; \ n \ n \ t \ tthis . uuid = _math _MathUtils _js _ _WEBPACK _IMPORTED _MODULE _2 _ _ . MathUtils . generateUUID ( ) ; \ n \ n \ t \ tthis . name = '' ; \ n \ n \ t \ tthis . image = image ; \ n \ t \ tthis . mipmaps = [ ] ; \ n \ n \ t \ tthis . mapping = mapping ; \ n \ n \ t \ tthis . wrapS = wrapS ; \ n \ t \ tthis . wrapT = wrapT ; \ n \ n \ t \ tthis . magFilter = magFilter ; \ n \ t \ tthis . minFilter = minFilter ; \ n \ n \ t \ tthis . anisotropy = anisotropy ; \ n \ n \ t \ tthis . format = format ; \ n \ t \ tthis . internalFormat = null ; \ n \ t \ tthis . type = type ; \ n \ n \ t \ tthis . offset = new _math _Vector2 _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Vector2 ( 0 , 0 ) ; \ n \ t \ tthis . repeat = new _math _Vector2 _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Vector2 ( 1 , 1 ) ; \ n \ t \ tthis . center = new _math _Vector2 _js _ _WEBPACK _IMPORTED _MODULE _3 _ _ . Vector2 ( 0 , 0 ) ; \ n \ t \ tthis . rotation = 0 ; \ n \ n \ t \ tthis . matrixAutoUpdate = true ; \ n \ t \ tthis . matrix = new _math _Matrix3 _js _ _WEBPACK _IMPORTED _MODULE _4 _ _ . Matrix3 ( ) ; \ n \ n \ t \ tthis . generateMipmaps = true ; \ n \ t \ tthis . premultiplyAlpha = false ; \ n \ t \ tthis . flipY = true ; \ n \ t \ tthis . unpackAlignment = 4 ; \ t // valid values: 1, 2, 4, 8 (see http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPixelStorei.xml)\n\n\t\t// Values of encoding !== THREE.LinearEncoding only supported on map, envMap and emissiveMap.\n\t\t//\n\t\t// Also changing the encoding after already used by a Material will not automatically make the Material\n\t\t// update. You need to explicitly call Material.needsUpdate to trigger it to recompile.\n\t\tthis.encoding = encoding;\n\n\t\tthis.version = 0;\n\t\tthis.onUpdate = null;\n\n\t}\n\n\tupdateMatrix() {\n\n\t\tthis.matrix.setUvTransform( this.offset.x, this.offset.y, this.repeat.x, this.repeat.y, this.rotation, this.center.x, this.center.y );\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tthis.name = source.name;\n\n\t\tthis.image = source.image;\n\t\tthis.mipmaps = source.mipmaps.slice( 0 );\n\n\t\tthis.mapping = source.mapping;\n\n\t\tthis.wrapS = source.wrapS;\n\t\tthis.wrapT = source.wrapT;\n\n\t\tthis.magFilter = source.magFilter;\n\t\tthis.minFilter = source.minFi
/***/ } ) ,
/***/ "./node_modules/three/src/utils.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / three / src / utils . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"arrayMin\": () => (/* binding */ arrayMin),\n/* harmony export */ \"arrayMax\": () => (/* binding */ arrayMax),\n/* harmony export */ \"getTypedArray\": () => (/* binding */ getTypedArray)\n/* harmony export */ });\nfunction arrayMin( array ) {\n\n\tif ( array.length === 0 ) return Infinity;\n\n\tlet min = array[ 0 ];\n\n\tfor ( let i = 1, l = array.length; i < l; ++ i ) {\n\n\t\tif ( array[ i ] < min ) min = array[ i ];\n\n\t}\n\n\treturn min;\n\n}\n\nfunction arrayMax( array ) {\n\n\tif ( array.length === 0 ) return - Infinity;\n\n\tlet max = array[ 0 ];\n\n\tfor ( let i = 1, l = array.length; i < l; ++ i ) {\n\n\t\tif ( array[ i ] > max ) max = array[ i ];\n\n\t}\n\n\treturn max;\n\n}\n\nconst TYPED_ARRAYS = {\n\tInt8Array: Int8Array,\n\tUint8Array: Uint8Array,\n\tUint8ClampedArray: Uint8ClampedArray,\n\tInt16Array: Int16Array,\n\tUint16Array: Uint16Array,\n\tInt32Array: Int32Array,\n\tUint32Array: Uint32Array,\n\tFloat32Array: Float32Array,\n\tFloat64Array: Float64Array\n};\n\nfunction getTypedArray( type, buffer ) {\n\n\treturn new TYPED_ARRAYS[ type ]( buffer );\n\n}\n\n\n\n\n//# sourceURL=webpack:///./node_modules/three/src/utils.js?" ) ;
/***/ } ) ,
/***/ "./src/OrbitControls.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / src / OrbitControls . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
2021-03-23 09:13:59 +00:00
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"OrbitControls\": () => (/* binding */ OrbitControls),\n/* harmony export */ \"MapControls\": () => (/* binding */ MapControls)\n/* harmony export */ });\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/math/Quaternion.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/math/Spherical.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/math/Vector2.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/core/EventDispatcher.js\");\n\n\n\n// This set of controls performs orbiting, dollying (zooming), and panning.\n// Unlike TrackballControls, it maintains the \"up\" direction object.up (+Y by default).\n//\n// Orbit - left mouse / touch: one-finger move\n// Zoom - middle mouse, or mousewheel / touch: two-finger spread or squish\n// Pan - right mouse, or left mouse + ctrl/meta/shiftKey, or arrow keys / touch: two-finger move\n\nvar OrbitControls = function ( object, domElement ) {\n\n\tif ( domElement === undefined ) console.warn( 'THREE.OrbitControls: The second parameter \"domElement\" is now mandatory.' );\n\tif ( domElement === document ) console.error( 'THREE.OrbitControls: \"document\" should not be used as the target \"domElement\". Please use \"renderer.domElement\" instead.' );\n\n\tthis.object = object;\n\tthis.domElement = domElement;\n\n\t// Set to false to disable this control\n\tthis.enabled = true;\n\n\t// \"target\" sets the location of focus, where the object orbits around\n\tthis.target = new _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_0__.Vector3();\n\n\t// How far you can dolly in and out ( PerspectiveCamera only )\n\tthis.minDistance = 0;\n\tthis.maxDistance = Infinity;\n\n\t// How far you can zoom in and out ( OrthographicCamera only )\n\tthis.minZoom = 0;\n\tthis.maxZoom = Infinity;\n\n\t// How far you can orbit vertically, upper and lower limits.\n\t// Range is 0 to Math.PI radians.\n\tthis.minPolarAngle = 0; // radians\n\tthis.maxPolarAngle = Math.PI; // radians\n\n\t// How far you can orbit horizontally, upper and lower limits.\n\t// If set, the interval [ min, max ] must be a sub-interval of [ - 2 PI, 2 PI ], with ( max - min < 2 PI )\n\tthis.minAzimuthAngle = - Infinity; // radians\n\tthis.maxAzimuthAngle = Infinity; // radians\n\n\t// Set to true to enable damping (inertia)\n\t// If damping is enabled, you must call controls.update() in your animation loop\n\tthis.enableDamping = false;\n\tthis.dampingFactor = 0.05;\n\n\t// This option actually enables dollying in and out; left as \"zoom\" for backwards compatibility . \ n \ t // Set to false to disable zooming\n\tthis.enableZoom = true;\n\tthis.zoomSpeed = 1.0;\n\n\t// Set to false to disable rotating\n\tthis.enableRotate = true;\n\tthis.rotateSpeed = 1.0;\n\n\t// Set to false to disable panning\n\tthis.enablePan = true;\n\tthis.panSpeed = 1.0;\n\tthis.screenSpacePanning = true; // if false, pan orthogonal to world-space direction camera.up\n\tthis.keyPanSpeed = 7.0;\t// pixels moved per arrow key push\n\n\t// Set to true to automatically rotate around the target\n\t// If auto-rotate is enabled, you must call controls
2021-03-20 19:08:15 +00:00
/***/ } ) ,
/***/ "./src/Sketcher.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / src / Sketcher . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
2021-03-24 17:49:40 +00:00
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Sketcher\": () => (/* binding */ Sketcher)\n/* harmony export */ });\n/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! three */ \"./node_modules/three/build/three.module.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/objects/Group.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/helpers/PlaneHelper.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/math/Color.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/materials/Materials.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/core/Raycaster.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/math/Matrix4.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/math/Vector2.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/core/BufferGeometry.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/core/BufferAttribute.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/objects/Points.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/objects/Line.js\" ) ; \ n \ n \ n \ n \ n \ nconst factor = Math . tan ( Math . PI / 3 ) \ n \ nfunction get2PtArc ( p1 , p2 , divisions = 36 ) { \ n \ n const dx = p2 [ 0 ] - p1 [ 0 ] \ n const dy = p2 [ 1 ] - p1 [ 1 ] \ n const dist = Math . sqrt ( dx * * 2 + dy * * 2 ) \ n const midAngle = ( Math . atan2 ( dy , dx ) - Math . PI / 2 ) % ( 2 * Math . PI ) \ n let a1 = midAngle - Math . PI / 6 \ n let a2 = midAngle + Math . PI / 6 \ n \ n a1 = a1 < 0 ? a1 + 2 * Math . PI : a1 \ n a2 = a2 < 0 ? a2 + 2 * Math . PI : a1 \ n const cx = ( p1 [ 0 ] + p2 [ 0 ] - dy * factor ) / 2 \ n const cy = ( p1 [ 1 ] + p2 [ 1 ] + dx * factor ) / 2 \ n \ n const radius = dist \ n const deltaAngle = Math . PI / 3 \ n let points = new Float32Array ( ( divisions + 1 ) * 3 ) \ n \ n for ( let d = 0 ; d <= divisions ; d ++ ) { \ n const angle = a1 + ( d / divisions ) * deltaAngle ; \ n points [ 3 * d ] = cx + radius * Math . cos ( angle ) ; \ n points [ 3 * d + 1 ] = cy + radius * Math . sin ( angle ) ; \ n } \ n return [ points , [ cx , cy ] ] ; \ n } \ n \ n \ nfunction get3PtArc ( p1 , p2 , c , divisions = 36 ) { \ n \ n const v1 = [ p1 [ 0 ] - c [ 0 ] , p1 [ 1 ] - c [ 1 ] ] \ n const v2 = [ p2 [ 0 ] - c [ 0 ] , p2 [ 1 ] - c [ 1 ] ] \ n \ n let a1 = Math . atan2 ( v1 [ 1 ] , v1 [ 0 ] ) \ n let a2 = Math . atan2 ( v2 [ 1 ] , v2 [ 0 ] ) \ n \ n const radius = Math . sqrt ( v1 [ 0 ] * * 2 + v1 [ 1 ] * * 2 ) \ n \ n const deltaAngle = a2 - a1 \ n \ n let points = new Float32Array ( ( divisions + 1 ) * 3 ) \ n \ n for ( let d = 0 ; d <= divisions ; d ++ ) { \ n const angle = a1 + ( d / divisions ) * deltaAngle ; \ n points [ 3 * d ] = c [ 0 ] + radius * Math . cos ( angle ) ; \ n
2021-03-20 19:08:15 +00:00
/***/ } ) ,
/***/ "./src/index.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / src / index . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
2021-03-23 09:13:59 +00:00
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/renderers/WebGLRenderer.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/scenes/Scene.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/math/Color.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/objects/Group.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/cameras/OrthographicCamera.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/helpers/CameraHelper.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/helpers/AxesHelper.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/math/Plane.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/lights/DirectionalLight.js\");\n/* harmony import */ var _OrbitControls__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./OrbitControls */ \"./src/OrbitControls.js\");\n/* harmony import */ var _trackball__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./trackball */ \"./src/trackball.js\");\n/* harmony import */ var _Sketcher__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Sketcher */ \"./src/Sketcher.js\");\n/* harmony import */ var _node_modules_dat_gui_src_dat_gui_GUI_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../node_modules/dat.gui/src/dat/gui/GUI.js */ \"./node_modules/dat.gui/src/dat/gui/GUI.js\");\n/* harmony import */ var _node_modules_three_examples_jsm_libs_stats_module_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../node_modules/three/examples/jsm/libs/stats.module.js */ \"./node_modules/three/examples/jsm/libs/stats.module.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils */ \"./src/utils.js\" ) ; \ n // class MinMaxGUIHelper {\n// constructor(obj, minProp, maxProp, minDif) {\n// this.obj = obj;\n// this.minProp = minProp;\n// this.maxProp = maxProp;\n// this.minDif = minDif;\n// }\n// get min() {\n// return this.obj[this.minProp];\n// }\n// set min(v) {\n// this.obj[this.minProp] = v;\n// this.obj[this.maxProp] = Math.max(this.obj[this.maxProp], v + this.minDif);\n// }\n// get max() {\n// return this.obj[this.maxProp];\n// }\n// set max(v) {\n// this.obj[this.maxProp] = v;\n// this.min = this.min; // this will call the min setter\n// }\n// }\n\n// const gui = new GUI();\n// gui.add(camera, 'zoom', 0.01, 1, 0.01).listen();\n// const minMaxGUIHelper = new MinMaxGUIHelper(camera, 'near', 'far', 0.1);\n// gui.add(minMaxGUIHelper, 'min', 0.1, 50, 0.1).name('near');\n// gui.add(minMaxGUIHelper, 'max', 0.1, 50, 0.1).name('far');\n\n\n\n\n\n\n\n\n\n\n\n\nfunction main() {\n\n\n var stats = new _node_modules_three_examples_jsm_libs_stats_module_js__WEBPACK_IMPORTED_MODULE_5__.default();\n sta
2021-03-20 19:08:15 +00:00
/***/ } ) ,
/***/ "./src/trackball.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / src / trackball . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
2021-03-23 09:13:59 +00:00
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"TrackballControls\": () => (/* binding */ TrackballControls)\n/* harmony export */ });\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/constants.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/math/Vector3.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/math/Vector2.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/math/Quaternion.js\");\n/* harmony import */ var _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../node_modules/three/src/Three */ \"./node_modules/three/src/core/EventDispatcher.js\");\n\n\nvar TrackballControls = function ( object, domElement ) {\n\n\tif ( domElement === undefined ) console.warn( 'THREE.TrackballControls: The second parameter \"domElement\" is now mandatory.' );\n\tif ( domElement === document ) console.error( 'THREE.TrackballControls: \"document\" should not be used as the target \"domElement\". Please use \"renderer.domElement\" instead . ' );\n\n\tvar scope = this;\n\tvar STATE = { NONE: - 1, ROTATE: 0, ZOOM: 1, PAN: 2, TOUCH_ROTATE: 3, TOUCH_ZOOM_PAN: 4 };\n\n\tthis.object = object;\n\tthis.domElement = domElement;\n\n\t// API\n\n\tthis.enabled = true;\n\n\tthis.screen = { left: 0, top: 0, width: 0, height: 0 };\n\n\tthis.rotateSpeed = 3.0;\n\tthis.zoomSpeed = 1.2;\n\tthis.panSpeed = 89.5;\n\n\tthis.noRotate = false;\n\tthis.noZoom = false;\n\tthis.noPan = false;\n\n\tthis.staticMoving = true;\n\tthis.dynamicDampingFactor = 0.2;\n\n\tthis.minDistance = 0;\n\tthis.maxDistance = Infinity;\n\n\tthis.keys = [ 65 /*A*/, 83 /*S*/, 68 /*D*/ ];\n\n\tthis.mouseButtons = { LEFT: null, MIDDLE: _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_0__.MOUSE.ROTATE, RIGHT: _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_0__.MOUSE.PAN };\n \n\t// internals\n\n\tthis.target = new _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_1__.Vector3();\n\n\tvar EPS = 0.000001;\n\n\tvar lastPosition = new _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_1__.Vector3();\n\tvar lastZoom = 1;\n\n\tvar _state = STATE.NONE,\n\t\t_keyState = STATE.NONE,\n\n\t\t_eye = new _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_1__.Vector3(),\n\n\t\t_movePrev = new _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_2__.Vector2(),\n\t\t_moveCurr = new _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_2__.Vector2(),\n\n\t\t_lastAxis = new _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_1__.Vector3(),\n\t\t_lastAngle = 0,\n\n\t\t_zoomStart = new _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_2__.Vector2(),\n\t\t_zoomEnd = new _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_2__.Vector2(),\n\n\t\t_touchZoomDistanceStart = 0,\n\t\t_touchZoomDistanceEnd = 0,\n\n\t\t_panStart = new _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_2__.Vector2(),\n\t\t_panEnd = new _node_modules_three_src_Three__WEBPACK_IMPORTED_MODULE_2__.Vector2();\n\n\t// for reset\n\n\tthis.target0 = this.target.clone();\n\tthis.position0 = this.object.position.clone();\n\tthis.up0 = this.object.up.clone();\n\tthis.zoom0 = this.object.zoom;\n\n\t// events\n\n\tvar changeEvent = { type: ' change ' };\n\tvar startEvent = { type: ' start ' };\n\tvar endEvent = { type: ' end ' } ; \ n \ n \ n \ t // methods\n\n\tthis.handleResize = function () {\n\n\t\tvar box = scope.domElement.getBoundingClientRect();\n\t\t// adjustments come from similar code in the jquery offset() function\n\t\tvar d = scope.domElement.ownerDocument.documentElement;\n\
2021-03-20 19:08:15 +00:00
/***/ } ) ,
/***/ "./src/utils.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / src / utils . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * /
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
eval ( "__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KeyboardController\": () => (/* binding */ KeyboardController)\n/* harmony export */ });\nfunction KeyboardController() {\n this.state=\"\";\n window.addEventListener('keydown', (e)=> {\n if (e.key == \"Escape\"){\n this.state = \"\"\n } else {\n this.state = e.key\n }\n })\n}\n\n//# sourceURL=webpack:///./src/utils.js?" ) ;
/***/ } )
/******/ } ) ;
/************************************************************************/
/******/ // The module cache
/******/ var _ _webpack _module _cache _ _ = { } ;
/******/
/******/ // The require function
/******/ function _ _webpack _require _ _ ( moduleId ) {
/******/ // Check if module is in cache
/******/ var cachedModule = _ _webpack _module _cache _ _ [ moduleId ] ;
/******/ if ( cachedModule !== undefined ) {
/******/ return cachedModule . exports ;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = _ _webpack _module _cache _ _ [ moduleId ] = {
/******/ id : moduleId ,
/******/ // no module.loaded needed
/******/ exports : { }
/******/ } ;
/******/
/******/ // Execute the module function
/******/ _ _webpack _modules _ _ [ moduleId ] ( module , module . exports , _ _webpack _require _ _ ) ;
/******/
/******/ // Return the exports of the module
/******/ return module . exports ;
/******/ }
/******/
/************************************************************************/
/******/ /* webpack/runtime/compat get default export */
/******/ ( ( ) => {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ _ _webpack _require _ _ . n = ( module ) => {
/******/ var getter = module && module . _ _esModule ?
/******/ ( ) => ( module [ 'default' ] ) :
/******/ ( ) => ( module ) ;
/******/ _ _webpack _require _ _ . d ( getter , { a : getter } ) ;
/******/ return getter ;
/******/ } ;
/******/ } ) ( ) ;
/******/
/******/ /* webpack/runtime/define property getters */
/******/ ( ( ) => {
/******/ // define getter functions for harmony exports
/******/ _ _webpack _require _ _ . d = ( exports , definition ) => {
/******/ for ( var key in definition ) {
/******/ if ( _ _webpack _require _ _ . o ( definition , key ) && ! _ _webpack _require _ _ . o ( exports , key ) ) {
/******/ Object . defineProperty ( exports , key , { enumerable : true , get : definition [ key ] } ) ;
/******/ }
/******/ }
/******/ } ;
/******/ } ) ( ) ;
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ ( ( ) => {
/******/ _ _webpack _require _ _ . o = ( obj , prop ) => ( Object . prototype . hasOwnProperty . call ( obj , prop ) )
/******/ } ) ( ) ;
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ ( ( ) => {
/******/ // define __esModule on exports
/******/ _ _webpack _require _ _ . r = ( exports ) => {
/******/ if ( typeof Symbol !== 'undefined' && Symbol . toStringTag ) {
/******/ Object . defineProperty ( exports , Symbol . toStringTag , { value : 'Module' } ) ;
/******/ }
/******/ Object . defineProperty ( exports , '__esModule' , { value : true } ) ;
/******/ } ;
/******/ } ) ( ) ;
/******/
/************************************************************************/
/******/
/******/ // startup
/******/ // Load entry module and return exports
/******/ // This entry module can't be inlined because the eval devtool is used.
/******/ var _ _webpack _exports _ _ = _ _webpack _require _ _ ( "./src/index.js" ) ;
/******/
/******/ } ) ( )
;