mage-engine 3.23.8 → 3.23.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mage.js +79 -55
- package/package.json +1 -1
package/dist/mage.js
CHANGED
|
@@ -53958,7 +53958,7 @@ var STATE_MACHINE_NOT_AVAILABLE = "".concat(PREFIX, " State Machine is not enabl
|
|
|
53958
53958
|
var EFFECT_COULD_NOT_BE_CREATED = "".concat(PREFIX, " Could not create requested effect.");
|
|
53959
53959
|
var EFFECT_UNAVAILABLE = "".concat(PREFIX, " Requested effect is not available.");
|
|
53960
53960
|
var SCRIPT_NOT_FOUND = "".concat(PREFIX, " Could not find desired script.");
|
|
53961
|
-
var
|
|
53961
|
+
var KEYBOARD_COMBO_IS_INVALID = "".concat(PREFIX, " Keyboard combo is not valid.");
|
|
53962
53962
|
var PHYSICS_ELEMENT_CANT_BE_REMOVED = "".concat(PREFIX, " This element can't be removed from physics world.");
|
|
53963
53963
|
var PHYSICS_ELEMENT_ALREADY_STORED = "".concat(PREFIX, " This element has already been added to the world.");
|
|
53964
53964
|
var ASSETS_AUDIO_LOAD_FAIL = "".concat(PREFIX, " Could not load audio.");
|
|
@@ -54633,13 +54633,15 @@ if (typeof window !== 'undefined') {
|
|
|
54633
54633
|
};
|
|
54634
54634
|
|
|
54635
54635
|
window.hotkeys = hotkeys;
|
|
54636
|
-
}var
|
|
54636
|
+
}var HOTKEYS_DEFAULT_OPTIONS = {
|
|
54637
54637
|
keyup: true,
|
|
54638
54638
|
keydown: true
|
|
54639
54639
|
};
|
|
54640
|
-
var
|
|
54641
|
-
var
|
|
54642
|
-
var
|
|
54640
|
+
var COMBINATION_DIVIDER = ",";
|
|
54641
|
+
var KEY_PRESS = "keyPress";
|
|
54642
|
+
var KEY_DOWN = "keyDown";
|
|
54643
|
+
var KEY_UP = "keyUp";
|
|
54644
|
+
var KEY_COMBO = "keyCombo";
|
|
54643
54645
|
|
|
54644
54646
|
var Keyboard = /*#__PURE__*/function (_EventDispatcher) {
|
|
54645
54647
|
_inherits(Keyboard, _EventDispatcher);
|
|
@@ -54653,6 +54655,13 @@ var Keyboard = /*#__PURE__*/function (_EventDispatcher) {
|
|
|
54653
54655
|
|
|
54654
54656
|
_this = _super.call(this);
|
|
54655
54657
|
|
|
54658
|
+
_defineProperty$1(_assertThisInitialized(_this), "handleCombo", function (event) {
|
|
54659
|
+
_this.dispatchEvent({
|
|
54660
|
+
type: KEY_COMBO,
|
|
54661
|
+
event: event
|
|
54662
|
+
});
|
|
54663
|
+
});
|
|
54664
|
+
|
|
54656
54665
|
_defineProperty$1(_assertThisInitialized(_this), "handleKeydown", function (event) {
|
|
54657
54666
|
_this.dispatchEvent({
|
|
54658
54667
|
type: KEY_DOWN,
|
|
@@ -54680,26 +54689,29 @@ var Keyboard = /*#__PURE__*/function (_EventDispatcher) {
|
|
|
54680
54689
|
}
|
|
54681
54690
|
|
|
54682
54691
|
_createClass(Keyboard, [{
|
|
54683
|
-
key: "
|
|
54684
|
-
value: function
|
|
54692
|
+
key: "listenTo",
|
|
54693
|
+
value: function listenTo() {
|
|
54694
|
+
var combos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
54695
|
+
|
|
54685
54696
|
if (this.enabled) {
|
|
54686
|
-
if (
|
|
54687
|
-
console.warn(
|
|
54688
|
-
return;
|
|
54697
|
+
if (!(combos instanceof Array) || !combos.length) {
|
|
54698
|
+
console.warn(KEYBOARD_COMBO_IS_INVALID);
|
|
54689
54699
|
}
|
|
54690
54700
|
|
|
54691
|
-
|
|
54692
|
-
hotkeys(
|
|
54701
|
+
var parsedCombos = combos.join(COMBINATION_DIVIDER);
|
|
54702
|
+
hotkeys(parsedCombos, HOTKEYS_DEFAULT_OPTIONS, this.handleCombo);
|
|
54693
54703
|
}
|
|
54694
54704
|
}
|
|
54695
54705
|
}, {
|
|
54696
54706
|
key: "enable",
|
|
54697
54707
|
value: function enable() {
|
|
54698
|
-
var
|
|
54699
|
-
return f;
|
|
54700
|
-
};
|
|
54708
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
54701
54709
|
this.enabled = true;
|
|
54702
|
-
|
|
54710
|
+
|
|
54711
|
+
if (options.combos) {
|
|
54712
|
+
this.listenTo(options.combos);
|
|
54713
|
+
}
|
|
54714
|
+
|
|
54703
54715
|
window.addEventListener(KEY_DOWN.toLowerCase(), this.handleKeydown.bind(this));
|
|
54704
54716
|
window.addEventListener(KEY_UP.toLowerCase(), this.handleKeyup.bind(this));
|
|
54705
54717
|
window.addEventListener(KEY_PRESS.toLowerCase(), this.handleKeypress.bind(this));
|
|
@@ -57786,7 +57798,7 @@ function applyMiddleware() {
|
|
|
57786
57798
|
|
|
57787
57799
|
var thunk = createThunkMiddleware();
|
|
57788
57800
|
thunk.withExtraArgument = createThunkMiddleware;var name$1 = "mage-engine";
|
|
57789
|
-
var version$1 = "3.23.
|
|
57801
|
+
var version$1 = "3.23.10";
|
|
57790
57802
|
var description = "A WebGL Javascript Game Engine, built on top of THREE.js and many other libraries.";
|
|
57791
57803
|
var main = "dist/mage.js";
|
|
57792
57804
|
var author$1 = {
|
|
@@ -58404,9 +58416,9 @@ var Gamepad = /*#__PURE__*/function (_EventDispatcher) {
|
|
|
58404
58416
|
return Gamepad;
|
|
58405
58417
|
}(EventDispatcher);var _INPUT_EVENTS;
|
|
58406
58418
|
var INPUT_EVENTS = (_INPUT_EVENTS = {
|
|
58407
|
-
KEY_PRESS: KEY_PRESS,
|
|
58408
58419
|
KEY_DOWN: KEY_DOWN,
|
|
58409
58420
|
KEY_UP: KEY_UP,
|
|
58421
|
+
KEY_COMBO: KEY_COMBO,
|
|
58410
58422
|
MOUSE_DOWN: MOUSE_DOWN,
|
|
58411
58423
|
MOUSE_UP: MOUSE_UP
|
|
58412
58424
|
}, _defineProperty$1(_INPUT_EVENTS, "MOUSE_DOWN", MOUSE_DOWN), _defineProperty$1(_INPUT_EVENTS, "MOUSE_MOVE", MOUSE_MOVE), _defineProperty$1(_INPUT_EVENTS, "ELEMENT_CLICK", ELEMENT_CLICK), _defineProperty$1(_INPUT_EVENTS, "ELEMENT_DESELECT", ELEMENT_DESELECT), _defineProperty$1(_INPUT_EVENTS, "GAMEPAD_CONNECTED_EVENT", GAMEPAD_CONNECTED_EVENT), _defineProperty$1(_INPUT_EVENTS, "GAMEPAD_DISCONNECTED_EVENT", GAMEPAD_DISCONNECTED_EVENT), _defineProperty$1(_INPUT_EVENTS, "BUTTON_PRESSED_EVENT", BUTTON_PRESSED_EVENT), _defineProperty$1(_INPUT_EVENTS, "BUTTON_RELEASED_EVENT", BUTTON_RELEASED_EVENT), _defineProperty$1(_INPUT_EVENTS, "AXIS_CHANGE_EVENT", AXIS_CHANGE_EVENT), _INPUT_EVENTS);
|
|
@@ -58484,6 +58496,7 @@ var Input = /*#__PURE__*/function (_EventDispatcher) {
|
|
|
58484
58496
|
this.keyboard.enable(options);
|
|
58485
58497
|
this.keyboard.addEventListener(KEY_DOWN, this.propagate.bind(this));
|
|
58486
58498
|
this.keyboard.addEventListener(KEY_UP, this.propagate.bind(this));
|
|
58499
|
+
this.keyboard.addEventListener(KEY_COMBO, this.propagate.bind(this));
|
|
58487
58500
|
}
|
|
58488
58501
|
}, {
|
|
58489
58502
|
key: "enableMouse",
|
|
@@ -60025,19 +60038,26 @@ var prepareModel = function prepareModel(model) {
|
|
|
60025
60038
|
return model;
|
|
60026
60039
|
};
|
|
60027
60040
|
var serializeVector = function serializeVector(vector) {
|
|
60028
|
-
return {
|
|
60041
|
+
return vector && {
|
|
60029
60042
|
x: vector.x,
|
|
60030
60043
|
y: vector.y,
|
|
60031
60044
|
z: vector.z
|
|
60032
60045
|
};
|
|
60033
60046
|
};
|
|
60034
60047
|
var serializeQuaternion = function serializeQuaternion(quaternion) {
|
|
60035
|
-
return {
|
|
60048
|
+
return quaternion && {
|
|
60036
60049
|
x: quaternion.x,
|
|
60037
60050
|
y: quaternion.y,
|
|
60038
60051
|
z: quaternion.z,
|
|
60039
60052
|
w: quaternion.w
|
|
60040
60053
|
};
|
|
60054
|
+
};
|
|
60055
|
+
var serializeColor = function serializeColor(color) {
|
|
60056
|
+
return color && {
|
|
60057
|
+
r: color.r,
|
|
60058
|
+
g: color.g,
|
|
60059
|
+
b: color.b
|
|
60060
|
+
};
|
|
60041
60061
|
};var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
60042
60062
|
|
|
60043
60063
|
function getAugmentedNamespace(n) {
|
|
@@ -61888,6 +61908,7 @@ var Element$1 = /*#__PURE__*/function (_Entity) {
|
|
|
61888
61908
|
var parseJSON = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
61889
61909
|
|
|
61890
61910
|
if (this.isSerializable()) {
|
|
61911
|
+
var color = this.getColor();
|
|
61891
61912
|
return _objectSpread2$1(_objectSpread2$1({}, _get(_getPrototypeOf(Element.prototype), "toJSON", this).call(this, parseJSON)), {}, {
|
|
61892
61913
|
physics: {
|
|
61893
61914
|
state: this.getPhysicsState(),
|
|
@@ -61897,7 +61918,7 @@ var Element$1 = /*#__PURE__*/function (_Entity) {
|
|
|
61897
61918
|
textures: this.textures,
|
|
61898
61919
|
materialType: this.getMaterialType(),
|
|
61899
61920
|
opacity: this.opacity,
|
|
61900
|
-
color:
|
|
61921
|
+
color: parseJSON ? serializeColor(color) : color
|
|
61901
61922
|
});
|
|
61902
61923
|
}
|
|
61903
61924
|
}
|
|
@@ -61984,8 +62005,8 @@ var Element$1 = /*#__PURE__*/function (_Entity) {
|
|
|
61984
62005
|
key: "randomColor",
|
|
61985
62006
|
value: function randomColor() {
|
|
61986
62007
|
var asNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
61987
|
-
var letters =
|
|
61988
|
-
var color =
|
|
62008
|
+
var letters = "0123456789ABCDEF".split("");
|
|
62009
|
+
var color = "";
|
|
61989
62010
|
|
|
61990
62011
|
for (var i = 0; i < 6; i++) {
|
|
61991
62012
|
color += letters[Math.floor(Math.random() * 16)];
|
|
@@ -91610,9 +91631,10 @@ var addHitBox = function addHitBox(element) {
|
|
|
91610
91631
|
key: "toJSON",
|
|
91611
91632
|
value: function toJSON() {
|
|
91612
91633
|
var parseJSON = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
91634
|
+
var color = this.getColor();
|
|
91613
91635
|
return _objectSpread2$1(_objectSpread2$1({}, _get(_getPrototypeOf(Light.prototype), "toJSON", this).call(this, parseJSON)), {}, {
|
|
91614
91636
|
type: this.getEntityType(),
|
|
91615
|
-
color:
|
|
91637
|
+
color: parseJSON ? serializeColor(color) : color,
|
|
91616
91638
|
intensity: this.getIntensity(),
|
|
91617
91639
|
name: this.getName(),
|
|
91618
91640
|
castShadow: this.getCastShadow()
|
|
@@ -91951,7 +91973,7 @@ var SunLight = /*#__PURE__*/function (_Light) {
|
|
|
91951
91973
|
value: function toJSON() {
|
|
91952
91974
|
var parseJSON = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
91953
91975
|
return _objectSpread2$1(_objectSpread2$1({}, _get(_getPrototypeOf(SunLight.prototype), "toJSON", this).call(this, parseJSON)), {}, {
|
|
91954
|
-
target: this.getTarget(),
|
|
91976
|
+
target: parseJSON ? this.getTarget().toJSON(parseJSON) : this.getTarget(),
|
|
91955
91977
|
bias: this.getBias(),
|
|
91956
91978
|
mapSize: this.getMapSize(),
|
|
91957
91979
|
shadowCamera: _objectSpread2$1(_objectSpread2$1({}, this.getShadowCameraNearFar()), {}, {
|
|
@@ -92481,7 +92503,7 @@ var SpotLight = /*#__PURE__*/function (_Light) {
|
|
|
92481
92503
|
value: function toJSON() {
|
|
92482
92504
|
var parseJSON = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
92483
92505
|
return _objectSpread2$1(_objectSpread2$1({}, _get(_getPrototypeOf(SpotLight.prototype), "toJSON", this).call(this, parseJSON)), {}, {
|
|
92484
|
-
target: this.getTarget(),
|
|
92506
|
+
target: parseJSON ? this.getTarget().toJSON(parseJSON) : this.getTarget(),
|
|
92485
92507
|
distance: this.getDistance(),
|
|
92486
92508
|
decay: this.getDecay(),
|
|
92487
92509
|
bias: this.getBias(),
|
|
@@ -92727,9 +92749,10 @@ var SpotLight = /*#__PURE__*/function (_Light) {
|
|
|
92727
92749
|
key: "toJSON",
|
|
92728
92750
|
value: function toJSON() {
|
|
92729
92751
|
var parseJSON = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
92752
|
+
var color = this.getColor();
|
|
92730
92753
|
return _objectSpread2$1(_objectSpread2$1({}, _get(_getPrototypeOf(Light.prototype), "toJSON", this).call(this, parseJSON)), {}, {
|
|
92731
92754
|
type: this.getEntityType(),
|
|
92732
|
-
color:
|
|
92755
|
+
color: parseJSON ? serializeColor(color) : color,
|
|
92733
92756
|
intensity: this.getIntensity(),
|
|
92734
92757
|
name: this.getName(),
|
|
92735
92758
|
castShadow: this.getCastShadow()
|
|
@@ -92859,8 +92882,9 @@ var HemisphereLight = /*#__PURE__*/function (_Light) {
|
|
|
92859
92882
|
key: "toJSON",
|
|
92860
92883
|
value: function toJSON() {
|
|
92861
92884
|
var parseJSON = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
92885
|
+
var color = this.getColor();
|
|
92862
92886
|
return _objectSpread2$1(_objectSpread2$1({}, _get(_getPrototypeOf(HemisphereLight.prototype), "toJSON", this).call(this, parseJSON)), {}, {
|
|
92863
|
-
color:
|
|
92887
|
+
color: parseJSON ? serializeColor(color) : color
|
|
92864
92888
|
});
|
|
92865
92889
|
}
|
|
92866
92890
|
}]);
|
|
@@ -94177,41 +94201,41 @@ var Water = /*#__PURE__*/function (_Element) {
|
|
|
94177
94201
|
}, {
|
|
94178
94202
|
key: "vertexShader",
|
|
94179
94203
|
value: function vertexShader() {
|
|
94180
|
-
return [
|
|
94181
|
-
|
|
94182
|
-
|
|
94204
|
+
return ["uniform vec3 sunPosition;", "uniform float rayleigh;", "uniform float turbidity;", "uniform float mieCoefficient;", "varying vec3 vWorldPosition;", "varying vec3 vSunDirection;", "varying float vSunfade;", "varying vec3 vBetaR;", "varying vec3 vBetaM;", "varying float vSunE;", "const vec3 up = vec3( 0.0, 1.0, 0.0 );", // constants for atmospheric scattering
|
|
94205
|
+
"const float e = 2.71828182845904523536028747135266249775724709369995957;", "const float pi = 3.141592653589793238462643383279502884197169;", // wavelength of used primaries, according to preetham
|
|
94206
|
+
"const vec3 lambda = vec3( 680E-9, 550E-9, 450E-9 );", // this pre-calcuation replaces older TotalRayleigh(vec3 lambda) function:
|
|
94183
94207
|
// (8.0 * pow(pi, 3.0) * pow(pow(n, 2.0) - 1.0, 2.0) * (6.0 + 3.0 * pn)) / (3.0 * N * pow(lambda, vec3(4.0)) * (6.0 - 7.0 * pn))
|
|
94184
|
-
|
|
94208
|
+
"const vec3 totalRayleigh = vec3( 5.804542996261093E-6, 1.3562911419845635E-5, 3.0265902468824876E-5 );", // mie stuff
|
|
94185
94209
|
// K coefficient for the primaries
|
|
94186
|
-
|
|
94187
|
-
|
|
94210
|
+
"const float v = 4.0;", "const vec3 K = vec3( 0.686, 0.678, 0.666 );", // MieConst = pi * pow( ( 2.0 * pi ) / lambda, vec3( v - 2.0 ) ) * K
|
|
94211
|
+
"const vec3 MieConst = vec3( 1.8399918514433978E14, 2.7798023919660528E14, 4.0790479543861094E14 );", // earth shadow hack
|
|
94188
94212
|
// cutoffAngle = pi / 1.95;
|
|
94189
|
-
|
|
94190
|
-
|
|
94213
|
+
"const float cutoffAngle = 1.6110731556870734;", "const float steepness = 1.5;", "const float EE = 1000.0;", "float sunIntensity( float zenithAngleCos ) {", " zenithAngleCos = clamp( zenithAngleCos, -1.0, 1.0 );", " return EE * max( 0.0, 1.0 - pow( e, -( ( cutoffAngle - acos( zenithAngleCos ) ) / steepness ) ) );", "}", "vec3 totalMie( float T ) {", " float c = ( 0.2 * T ) * 10E-18;", " return 0.434 * c * MieConst;", "}", "void main() {", " vec4 worldPosition = modelMatrix * vec4( position, 1.0 );", " vWorldPosition = worldPosition.xyz;", " gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", " gl_Position.z = gl_Position.w;", // set z to camera.far
|
|
94214
|
+
" vSunDirection = normalize( sunPosition );", " vSunE = sunIntensity( dot( vSunDirection, up ) );", " vSunfade = 1.0 - clamp( 1.0 - exp( ( sunPosition.y / 450000.0 ) ), 0.0, 1.0 );", " float rayleighCoefficient = rayleigh - ( 1.0 * ( 1.0 - vSunfade ) );", // extinction (absorbtion + out scattering)
|
|
94191
94215
|
// rayleigh coefficients
|
|
94192
|
-
|
|
94193
|
-
|
|
94216
|
+
" vBetaR = totalRayleigh * rayleighCoefficient;", // mie coefficients
|
|
94217
|
+
" vBetaM = totalMie( turbidity ) * mieCoefficient;", "}"].join("\n");
|
|
94194
94218
|
}
|
|
94195
94219
|
}, {
|
|
94196
94220
|
key: "fragmentShader",
|
|
94197
94221
|
value: function fragmentShader() {
|
|
94198
|
-
return [
|
|
94199
|
-
|
|
94200
|
-
|
|
94222
|
+
return ["varying vec3 vWorldPosition;", "varying vec3 vSunDirection;", "varying float vSunfade;", "varying vec3 vBetaR;", "varying vec3 vBetaM;", "varying float vSunE;", "uniform float luminance;", "uniform float mieDirectionalG;", "const vec3 cameraPos = vec3( 0.0, 0.0, 0.0 );", // constants for atmospheric scattering
|
|
94223
|
+
"const float pi = 3.141592653589793238462643383279502884197169;", "const float n = 1.0003;", // refractive index of air
|
|
94224
|
+
"const float N = 2.545E25;", // number of molecules per unit volume for air at
|
|
94201
94225
|
// 288.15K and 1013mb (sea level -45 celsius)
|
|
94202
94226
|
// optical length at zenith for molecules
|
|
94203
|
-
|
|
94204
|
-
|
|
94205
|
-
|
|
94206
|
-
|
|
94207
|
-
|
|
94208
|
-
|
|
94227
|
+
"const float rayleighZenithLength = 8.4E3;", "const float mieZenithLength = 1.25E3;", "const vec3 up = vec3( 0.0, 1.0, 0.0 );", // 66 arc seconds -> degrees, and the cosine of that
|
|
94228
|
+
"const float sunAngularDiameterCos = 0.999956676946448443553574619906976478926848692873900859324;", // 3.0 / ( 16.0 * pi )
|
|
94229
|
+
"const float THREE_OVER_SIXTEENPI = 0.05968310365946075;", // 1.0 / ( 4.0 * pi )
|
|
94230
|
+
"const float ONE_OVER_FOURPI = 0.07957747154594767;", "float rayleighPhase( float cosTheta ) {", " return THREE_OVER_SIXTEENPI * ( 1.0 + pow( cosTheta, 2.0 ) );", "}", "float hgPhase( float cosTheta, float g ) {", " float g2 = pow( g, 2.0 );", " float inverse = 1.0 / pow( 1.0 - 2.0 * g * cosTheta + g2, 1.5 );", " return ONE_OVER_FOURPI * ( ( 1.0 - g2 ) * inverse );", "}", // Filmic ToneMapping http://filmicgames.com/archives/75
|
|
94231
|
+
"const float A = 0.15;", "const float B = 0.50;", "const float C = 0.10;", "const float D = 0.20;", "const float E = 0.02;", "const float F = 0.30;", "const float whiteScale = 1.0748724675633854;", // 1.0 / Uncharted2Tonemap(1000.0)
|
|
94232
|
+
"vec3 Uncharted2Tonemap( vec3 x ) {", " return ( ( x * ( A * x + C * B ) + D * E ) / ( x * ( A * x + B ) + D * F ) ) - E / F;", "}", "void main() {", // optical length
|
|
94209
94233
|
// cutoff angle at 90 to avoid singularity in next formula.
|
|
94210
|
-
|
|
94211
|
-
|
|
94212
|
-
|
|
94213
|
-
|
|
94214
|
-
|
|
94234
|
+
" float zenithAngle = acos( max( 0.0, dot( up, normalize( vWorldPosition - cameraPos ) ) ) );", " float inverse = 1.0 / ( cos( zenithAngle ) + 0.15 * pow( 93.885 - ( ( zenithAngle * 180.0 ) / pi ), -1.253 ) );", " float sR = rayleighZenithLength * inverse;", " float sM = mieZenithLength * inverse;", // combined extinction factor
|
|
94235
|
+
" vec3 Fex = exp( -( vBetaR * sR + vBetaM * sM ) );", // in scattering
|
|
94236
|
+
" float cosTheta = dot( normalize( vWorldPosition - cameraPos ), vSunDirection );", " float rPhase = rayleighPhase( cosTheta * 0.5 + 0.5 );", " vec3 betaRTheta = vBetaR * rPhase;", " float mPhase = hgPhase( cosTheta, mieDirectionalG );", " vec3 betaMTheta = vBetaM * mPhase;", " vec3 Lin = pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * ( 1.0 - Fex ), vec3( 1.5 ) );", " Lin *= mix( vec3( 1.0 ), pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * Fex, vec3( 1.0 / 2.0 ) ), clamp( pow( 1.0 - dot( up, vSunDirection ), 5.0 ), 0.0, 1.0 ) );", // nightsky
|
|
94237
|
+
" vec3 direction = normalize( vWorldPosition - cameraPos );", " float theta = acos( direction.y ); // elevation --> y-axis, [-pi/2, pi/2]", " float phi = atan( direction.z, direction.x ); // azimuth --> x-axis [-pi/2, pi/2]", " vec2 uv = vec2( phi, theta ) / vec2( 2.0 * pi, pi ) + vec2( 0.5, 0.0 );", " vec3 L0 = vec3( 0.1 ) * Fex;", // composition + solar disc
|
|
94238
|
+
" float sundisk = smoothstep( sunAngularDiameterCos, sunAngularDiameterCos + 0.00002, cosTheta );", " L0 += ( vSunE * 19000.0 * Fex ) * sundisk;", " vec3 texColor = ( Lin + L0 ) * 0.04 + vec3( 0.0, 0.0003, 0.00075 );", " vec3 curr = Uncharted2Tonemap( ( log2( 2.0 / pow( luminance, 4.0 ) ) ) * texColor );", " vec3 color = curr * whiteScale;", " vec3 retColor = pow( color, vec3( 1.0 / ( 1.2 + ( 1.2 * vSunfade ) ) ) );", " gl_FragColor = vec4( retColor, 1.0 );", "}"].join("\n");
|
|
94215
94239
|
}
|
|
94216
94240
|
}]);
|
|
94217
94241
|
|
|
@@ -94219,10 +94243,10 @@ var Water = /*#__PURE__*/function (_Element) {
|
|
|
94219
94243
|
}();
|
|
94220
94244
|
var DEFAULT_SCALE = 10000;
|
|
94221
94245
|
var DEFAULT_TURBIDITY = 10;
|
|
94222
|
-
var DEFAULT_RALEIGH = .8;
|
|
94246
|
+
var DEFAULT_RALEIGH = 0.8;
|
|
94223
94247
|
var DEFAULT_MIE_COEFFICIENT = 0.005;
|
|
94224
|
-
var DEFAULT_MIE_DIRECTIONAL_G = .8;
|
|
94225
|
-
var DEFAULT_SUN_INCLINATION = .49;
|
|
94248
|
+
var DEFAULT_MIE_DIRECTIONAL_G = 0.8;
|
|
94249
|
+
var DEFAULT_SUN_INCLINATION = 0.49;
|
|
94226
94250
|
var DEFAULT_SUN_AZIMUTH = 0.205;
|
|
94227
94251
|
var DEFAULT_SUN_DISTANCE = 100;
|
|
94228
94252
|
|