aboutsummaryrefslogtreecommitdiff
path: root/assets/shaders/generated/geodesic.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'assets/shaders/generated/geodesic.glsl')
-rw-r--r--assets/shaders/generated/geodesic.glsl1854
1 files changed, 1854 insertions, 0 deletions
diff --git a/assets/shaders/generated/geodesic.glsl b/assets/shaders/generated/geodesic.glsl
new file mode 100644
index 0000000..5c5e069
--- /dev/null
+++ b/assets/shaders/generated/geodesic.glsl
@@ -0,0 +1,1854 @@
+#type vertex
+#version 410
+
+layout(location = 0) in vec2 input_position;
+layout(location = 1) in vec2 input_texCoord;
+layout(location = 0) out vec2 _v0;
+
+void main()
+{
+ gl_Position = vec4(input_position, 0.0, 1.0);
+ _v0 = input_texCoord;
+}
+
+
+#type fragment
+#version 410
+
+struct _Array_vector_float_4_16
+{
+ vec4 data[16];
+};
+
+struct _Array_float16
+{
+ float data[16];
+};
+
+const vec2 _1399[4] = vec2[](vec2(0.125, 0.375), vec2(0.375, -0.125), vec2(-0.125, -0.375), vec2(-0.375, 0.125));
+
+layout(std140) uniform Camera
+{
+ vec3 u_cam_pos;
+ float _pad0;
+ vec3 u_cam_right;
+ float _pad1;
+ vec3 u_cam_up;
+ float _pad2;
+ vec3 u_cam_forward;
+ float _pad3;
+ float u_tan_half_fov;
+ float u_aspect;
+ int u_moving;
+ int u_output_channel;
+ int u_raw_output;
+} cam;
+
+layout(std140) uniform Simulation
+{
+ int u_max_steps_moving;
+ int u_max_steps_static;
+ float u_early_exit_distance;
+ float u_time;
+} sim;
+
+layout(std140) uniform Disk
+{
+ float u_inner_radius;
+ float u_outer_radius;
+ float u_turbulence;
+ float u_thickness;
+ float u_brightness;
+ float u_temperature;
+} disk;
+
+layout(std140) uniform Objects
+{
+ int u_num_objects;
+ _Array_vector_float_4_16 u_obj_pos_radius;
+ _Array_vector_float_4_16 u_obj_color;
+ _Array_float16 u_mass;
+} obj;
+
+uniform samplerCube u_HDRIEnvironment;
+
+layout(location = 0) in vec2 _v0;
+layout(location = 0) out vec4 entryPointParam_fragmentMain;
+
+void main()
+{
+ bool _4918 = false;
+ bool _4023 = false;
+ bool _3148 = false;
+ bool _2258 = false;
+ do
+ {
+ if (cam.u_output_channel != 0)
+ {
+ float g = 0.0;
+ float Temit = 0.0;
+ bool hitDisk = false;
+ vec3 _1488 = normalize(((cam.u_cam_right * ((((2.0 * _v0.x) - 1.0) * cam.u_aspect) * cam.u_tan_half_fov)) - (cam.u_cam_up * ((1.0 - (2.0 * _v0.y)) * cam.u_tan_half_fov))) + cam.u_cam_forward);
+ float _1693 = length(cam.u_cam_pos);
+ float _1696 = acos(cam.u_cam_pos.z / _1693);
+ float _1698 = atan(cam.u_cam_pos.y, cam.u_cam_pos.x);
+ float _1699 = _1488.x;
+ float _1700 = _1488.y;
+ float _1701 = _1488.z;
+ float _1714 = (((sin(_1696) * cos(_1698)) * _1699) + ((sin(_1696) * sin(_1698)) * _1700)) + (cos(_1696) * _1701);
+ float _1728 = ((((cos(_1696) * cos(_1698)) * _1699) + ((cos(_1696) * sin(_1698)) * _1700)) - (sin(_1696) * _1701)) / _1693;
+ float _1738 = (((-sin(_1698)) * _1699) + (cos(_1698) * _1700)) / (_1693 * sin(_1696));
+ float _1745 = 1.0 - (12689999872.0 / _1693);
+ float _5541 = cam.u_cam_pos.x;
+ float _5542 = cam.u_cam_pos.y;
+ float _5543 = cam.u_cam_pos.z;
+ float _5544 = _1693;
+ float _5545 = _1696;
+ float _5546 = _1698;
+ float _5547 = _1714;
+ float _5548 = _1728;
+ float _5549 = _1738;
+ float _5550 = _1745 * sqrt(((_1714 * _1714) / _1745) + ((_1693 * _1693) * ((_1728 * _1728) + (((sin(_1696) * sin(_1696)) * _1738) * _1738))));
+ int _1450;
+ if (cam.u_moving != 0)
+ {
+ _1450 = sim.u_max_steps_moving;
+ }
+ else
+ {
+ _1450 = sim.u_max_steps_static;
+ }
+ if (_1450 <= 0)
+ {
+ if (cam.u_moving != 0)
+ {
+ _1450 = 12000;
+ }
+ else
+ {
+ _1450 = 8000;
+ }
+ }
+ float _1451;
+ if (sim.u_early_exit_distance > 0.0)
+ {
+ _1451 = sim.u_early_exit_distance;
+ }
+ else
+ {
+ _1451 = 1999999991808.0;
+ }
+ int _1452 = 0;
+ bool _1453;
+ bool _1454;
+ bool _1455;
+ vec3 _1456;
+ bool _1460;
+ bool _1766;
+ float _1767;
+ vec3 _1805;
+ vec3 _1915;
+ bool _1916;
+ float _1917;
+ vec3 _2019;
+ float _2020;
+ bool _2259;
+ for (;;)
+ {
+ if (!(_1452 < _1450))
+ {
+ _1453 = false;
+ _1456 = vec3(0.0);
+ _1454 = false;
+ _1455 = false;
+ break;
+ }
+ if (_5544 <= 12689999872.0)
+ {
+ _1453 = false;
+ _1456 = vec3(0.0);
+ _1454 = true;
+ _1455 = false;
+ break;
+ }
+ if (_5544 > _1451)
+ {
+ _1453 = true;
+ }
+ else
+ {
+ _1453 = _5544 > 1000000015047466219876688855040.0;
+ }
+ if (_1453)
+ {
+ _1453 = false;
+ _1456 = vec3(0.0);
+ _1454 = false;
+ _1455 = false;
+ break;
+ }
+ float _1547 = _5541;
+ float _1549 = _5542;
+ float _1551 = _5543;
+ vec3 _1552 = vec3(_1547, _1549, _1551);
+ float _5614 = _1549;
+ float _1774 = 0.0199999995529651641845703125 * max(_5544 - 19035000832.0, 0.0);
+ if (length(vec2(_1547, _1551)) < (disk.u_outer_radius * 3.0))
+ {
+ _1766 = abs(_5614) < (disk.u_thickness * 8.0);
+ }
+ else
+ {
+ _1766 = false;
+ }
+ if (_1766)
+ {
+ _1767 = min(_1774, disk.u_thickness);
+ }
+ else
+ {
+ _1767 = _1774;
+ }
+ float _1803 = clamp(_1767, 1000000.0, 20000000000.0);
+ float _5607 = _5549;
+ float _5606 = _5548;
+ float _5605 = _5547;
+ float _5604 = _5546;
+ float _5603 = _5545;
+ float _5602 = _5544;
+ float _1871 = 1.0 - (12689999872.0 / _5602);
+ float _1874 = _5550 / _1871;
+ vec3 _1875 = vec3(_5605, _5606, _5607);
+ float _1878 = (2.0 * _5602) * _5602;
+ float _1890 = sin(_5603);
+ vec3 _5640 = _1805;
+ _5640.x = ((((((-12689999872.0) / _1878) * _1871) * _1874) * _1874) + (((12689999872.0 / (_1878 * _1871)) * _5605) * _5605)) + (_5602 * ((_5606 * _5606) + (((_1890 * _1890) * _5607) * _5607)));
+ float _1898 = (-2.0) * _5605;
+ float _1901 = cos(_5603);
+ _5640.y = ((_1898 * _5606) / _5602) + (((_1890 * _1901) * _5607) * _5607);
+ _5640.z = ((_1898 * _5607) / _5602) - ((((2.0 * _1901) / _1890) * _5606) * _5607);
+ _1805 = _5640;
+ float _1815 = _5602 + (_1803 * _1875.x);
+ _5544 = _1815;
+ float _1821 = _5603 + (_1803 * _1875.y);
+ _5545 = _1821;
+ float _1827 = _5604 + (_1803 * _1875.z);
+ _5546 = _1827;
+ _5547 = _5605 + (_1803 * _5640.x);
+ _5548 = _5606 + (_1803 * _5640.y);
+ _5549 = _5607 + (_1803 * _5640.z);
+ float _1850 = (_1815 * sin(_1821)) * cos(_1827);
+ _5541 = _1850;
+ float _1855 = (_1815 * sin(_1821)) * sin(_1827);
+ _5542 = _1855;
+ float _1858 = _1815 * cos(_1821);
+ _5543 = _1858;
+ vec3 _1559 = vec3(_1850, _1855, _1858);
+ bool _1563 = (_1549 * _1855) < 0.0;
+ if (_1563)
+ {
+ _1454 = true;
+ }
+ else
+ {
+ _1454 = abs(_1855) <= disk.u_thickness;
+ }
+ if (_1454)
+ {
+ if (_1563)
+ {
+ _1456 = mix(_1552, _1559, vec3(_1549 / (_1549 - _1855)));
+ }
+ else
+ {
+ _1456 = _1559;
+ }
+ float _1583 = length(vec2(_1456.xz));
+ if (_1583 >= max(disk.u_inner_radius, 38070001664.0))
+ {
+ _1455 = _1583 <= disk.u_outer_radius;
+ }
+ else
+ {
+ _1455 = false;
+ }
+ if (_1455)
+ {
+ do
+ {
+ g = 0.0;
+ Temit = 0.0;
+ float _1924 = length(vec2(_1456.xz));
+ float _1927 = max(disk.u_inner_radius, 38070001664.0);
+ if (_1924 < _1927)
+ {
+ _1916 = true;
+ }
+ else
+ {
+ _1916 = _1924 > disk.u_outer_radius;
+ }
+ if (_1916)
+ {
+ _1915 = vec3(0.0);
+ break;
+ }
+ float _1938 = _1924 / _1927;
+ float _1947 = pow(max((1.0 - sqrt(1.0 / _1938)) / ((_1938 * _1938) * _1938), 0.0) * 17.5746936798095703125, 0.25);
+ float _1950 = disk.u_temperature * _1947;
+ float _1969 = sqrt(max(1.0 - (19035000832.0 / _1924), 0.0)) / max(1.0 - dot(normalize(cross(vec3(0.0, 1.0, 0.0), normalize(vec3(_1456.x, 0.0, _1456.z)))) * sqrt(6344999936.0 / max(_1924 - 12689999872.0, 1.0)), -normalize(_1559 - _1552)), 0.001000000047497451305389404296875);
+ g = _1969;
+ Temit = _1950;
+ float _2024 = clamp(_1969 * _1950, 1000.0, 40000.0) * 0.00999999977648258209228515625;
+ bool _2026 = _2024 <= 66.0;
+ if (_2026)
+ {
+ _2020 = 1.0;
+ }
+ else
+ {
+ _2020 = clamp(1.29293620586395263671875 * pow(_2024 - 60.0, -0.133204758167266845703125), 0.0, 1.0);
+ }
+ vec3 _5646 = _2019;
+ _5646.x = _2020;
+ _2019 = _5646;
+ if (_2026)
+ {
+ _2020 = clamp((0.390081584453582763671875 * log(_2024)) - 0.6318414211273193359375, 0.0, 1.0);
+ }
+ else
+ {
+ _2020 = clamp(1.129890918731689453125 * pow(_2024 - 60.0, -0.075514845550060272216796875), 0.0, 1.0);
+ }
+ vec3 _5648 = _2019;
+ _5648.y = _2020;
+ _2019 = _5648;
+ if (_2024 >= 66.0)
+ {
+ _2020 = 1.0;
+ }
+ else
+ {
+ if (_2024 <= 19.0)
+ {
+ _2020 = 0.0;
+ }
+ else
+ {
+ _2020 = clamp((0.54320681095123291015625 * log(_2024 - 10.0)) - 1.19625413417816162109375, 0.0, 1.0);
+ }
+ }
+ vec3 _5650 = _2019;
+ _5650.z = _2020;
+ _2019 = _5650;
+ float _1981 = (pow(_1947, 2.0) * pow(_1969, 4.0)) * (smoothstep(_1927, _1927 * 1.12000000476837158203125, _1924) * (1.0 - smoothstep(disk.u_outer_radius * 0.87999999523162841796875, disk.u_outer_radius, _1924)));
+ if (disk.u_turbulence > 0.0)
+ {
+ float _1991 = (sim.u_time * 0.300000011920928955078125) / sqrt(_1938);
+ float _1992 = cos(_1991);
+ float _1994 = sin(_1991);
+ vec3 _2064 = (vec3((_1456.x * _1992) - (_1456.z * _1994), 0.0, (_1456.x * _1994) + (_1456.z * _1992)) * 1.0000000133514319600180897396058e-10) * 3.0;
+ int _2065 = 0;
+ float _2066 = 0.5;
+ float _2067 = 0.0;
+ for (;;)
+ {
+ if (!(_2065 < 3))
+ {
+ break;
+ }
+ vec3 _2098 = floor(_2064);
+ vec3 _2099 = fract(_2064);
+ vec3 _2104 = (_2099 * _2099) * (vec3(3.0) - (_2099 * 2.0));
+ vec3 _2133 = fract(_2098 * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _2139 = _2133 + vec3(dot(_2133, _2133.yxz + vec3(33.3300018310546875)));
+ vec3 _2149 = fract((_2098 + vec3(1.0, 0.0, 0.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _2155 = _2149 + vec3(dot(_2149, _2149.yxz + vec3(33.3300018310546875)));
+ vec3 _2165 = fract((_2098 + vec3(0.0, 1.0, 0.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _2171 = _2165 + vec3(dot(_2165, _2165.yxz + vec3(33.3300018310546875)));
+ vec3 _2181 = fract((_2098 + vec3(1.0, 1.0, 0.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _2187 = _2181 + vec3(dot(_2181, _2181.yxz + vec3(33.3300018310546875)));
+ vec3 _2197 = fract((_2098 + vec3(0.0, 0.0, 1.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _2203 = _2197 + vec3(dot(_2197, _2197.yxz + vec3(33.3300018310546875)));
+ vec3 _2213 = fract((_2098 + vec3(1.0, 0.0, 1.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _2219 = _2213 + vec3(dot(_2213, _2213.yxz + vec3(33.3300018310546875)));
+ vec3 _2229 = fract((_2098 + vec3(0.0, 1.0, 1.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _2235 = _2229 + vec3(dot(_2229, _2229.yxz + vec3(33.3300018310546875)));
+ vec3 _2245 = fract((_2098 + vec3(1.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _2251 = _2245 + vec3(dot(_2245, _2245.yxz + vec3(33.3300018310546875)));
+ float _2120 = _2104.x;
+ float _2123 = _2104.y;
+ float _2080 = _2066;
+ float _2081 = _2080 * mix(mix(mix(fract((_2139.x + _2139.y) * _2139.z), fract((_2155.x + _2155.y) * _2155.z), _2120), mix(fract((_2171.x + _2171.y) * _2171.z), fract((_2187.x + _2187.y) * _2187.z), _2120), _2123), mix(mix(fract((_2203.x + _2203.y) * _2203.z), fract((_2219.x + _2219.y) * _2219.z), _2120), mix(fract((_2235.x + _2235.y) * _2235.z), fract((_2251.x + _2251.y) * _2251.z), _2120), _2123), _2104.z);
+ _2064 = (_2064 * 2.0) + vec3(100.0, 200.0, 300.0);
+ _2065++;
+ _2066 = _2080 * 0.5;
+ _2067 += _2081;
+ continue;
+ }
+ _1917 = _1981 * max(1.0 + (disk.u_turbulence * (_2067 - 0.5)), 0.0);
+ }
+ else
+ {
+ _1917 = _1981;
+ }
+ _1915 = (_5650 * _1917) * max(disk.u_brightness, 0.0);
+ break;
+ } while(false);
+ hitDisk = true;
+ _1453 = true;
+ _1456 = _1915;
+ _1454 = false;
+ _1455 = false;
+ break;
+ }
+ }
+ if ((_1452 - 5 * (_1452 / 5)) == 0)
+ {
+ float _5621 = _5541;
+ float _5622 = _5542;
+ float _5623 = _5543;
+ _2258 = false;
+ do
+ {
+ vec3 _2270 = vec3(_5621, _5622, _5623);
+ int _2260 = 0;
+ for (;;)
+ {
+ bool _2273_ladder_break = false;
+ do
+ {
+ if (!(_2260 < obj.u_num_objects))
+ {
+ _2273_ladder_break = true;
+ break;
+ }
+ vec3 _2289 = _2270 - obj.u_obj_pos_radius.data[_2260].xyz;
+ float _2290 = dot(_2289, _2289);
+ float _2291 = obj.u_obj_pos_radius.data[_2260].w * obj.u_obj_pos_radius.data[_2260].w;
+ if (_2290 > (_2291 * 4.0))
+ {
+ break;
+ }
+ if (_2290 <= _2291)
+ {
+ _2258 = true;
+ _2259 = true;
+ _2273_ladder_break = true;
+ break;
+ }
+ break;
+ } while(false);
+ if (_2273_ladder_break)
+ {
+ break;
+ }
+ _2260++;
+ continue;
+ }
+ if (_2258)
+ {
+ break;
+ }
+ _2258 = true;
+ _2259 = false;
+ break;
+ } while(false);
+ _1455 = _2259;
+ }
+ else
+ {
+ _1455 = false;
+ }
+ if (_1455)
+ {
+ _1453 = false;
+ _1456 = vec3(0.0);
+ _1454 = false;
+ _1455 = true;
+ break;
+ }
+ if (_5547 > 0.0)
+ {
+ _1460 = _5544 > 634500022272.0;
+ }
+ else
+ {
+ _1460 = false;
+ }
+ if (_1460)
+ {
+ _1453 = false;
+ _1456 = vec3(0.0);
+ _1454 = false;
+ _1455 = false;
+ break;
+ }
+ _1452++;
+ continue;
+ }
+ float value;
+ float valid;
+ if (cam.u_output_channel == 3)
+ {
+ value = length(cross(cam.u_cam_pos, normalize(((cam.u_cam_right * ((((2.0 * _v0.x) - 1.0) * cam.u_aspect) * cam.u_tan_half_fov)) - (cam.u_cam_up * ((1.0 - (2.0 * _v0.y)) * cam.u_tan_half_fov))) + cam.u_cam_forward))) * 7.8802207814643310257451958023012e-11;
+ valid = 1.0;
+ }
+ else
+ {
+ if (hitDisk)
+ {
+ value = 1.0;
+ }
+ else
+ {
+ value = 0.0;
+ }
+ if (cam.u_output_channel == 1)
+ {
+ valid = g;
+ }
+ else
+ {
+ valid = Temit;
+ }
+ float _1258 = value;
+ value = valid;
+ valid = _1258;
+ }
+ if (cam.u_raw_output != 0)
+ {
+ entryPointParam_fragmentMain = vec4(value, value, value, valid);
+ break;
+ }
+ if (valid < 0.5)
+ {
+ entryPointParam_fragmentMain = vec4(0.0, 0.0, 0.0, 1.0);
+ break;
+ }
+ float norm;
+ if (cam.u_output_channel == 1)
+ {
+ norm = value * 0.666666686534881591796875;
+ }
+ else
+ {
+ if (cam.u_output_channel == 2)
+ {
+ value *= 6.6666667407844215631484985351562e-05;
+ }
+ else
+ {
+ value *= 0.0333333350718021392822265625;
+ }
+ norm = value;
+ }
+ float _2326 = 4.0 * clamp(norm, 0.0, 1.0);
+ entryPointParam_fragmentMain = vec4(clamp(vec3(1.5 - abs(_2326 - 3.0), 1.5 - abs(_2326 - 2.0), 1.5 - abs(_2326 - 1.0)), vec3(0.0), vec3(1.0)), 1.0);
+ break;
+ }
+ if (cam.u_raw_output != 0)
+ {
+ vec3 _2378 = normalize(((cam.u_cam_right * ((((2.0 * _v0.x) - 1.0) * cam.u_aspect) * cam.u_tan_half_fov)) - (cam.u_cam_up * ((1.0 - (2.0 * _v0.y)) * cam.u_tan_half_fov))) + cam.u_cam_forward);
+ float _2583 = length(cam.u_cam_pos);
+ float _2586 = acos(cam.u_cam_pos.z / _2583);
+ float _2588 = atan(cam.u_cam_pos.y, cam.u_cam_pos.x);
+ float _2589 = _2378.x;
+ float _2590 = _2378.y;
+ float _2591 = _2378.z;
+ float _2604 = (((sin(_2586) * cos(_2588)) * _2589) + ((sin(_2586) * sin(_2588)) * _2590)) + (cos(_2586) * _2591);
+ float _2618 = ((((cos(_2586) * cos(_2588)) * _2589) + ((cos(_2586) * sin(_2588)) * _2590)) - (sin(_2586) * _2591)) / _2583;
+ float _2628 = (((-sin(_2588)) * _2589) + (cos(_2588) * _2590)) / (_2583 * sin(_2586));
+ float _2635 = 1.0 - (12689999872.0 / _2583);
+ float _5383 = cam.u_cam_pos.x;
+ float _5384 = cam.u_cam_pos.y;
+ float _5385 = cam.u_cam_pos.z;
+ float _5386 = _2583;
+ float _5387 = _2586;
+ float _5388 = _2588;
+ float _5389 = _2604;
+ float _5390 = _2618;
+ float _5391 = _2628;
+ float _5392 = _2635 * sqrt(((_2604 * _2604) / _2635) + ((_2583 * _2583) * ((_2618 * _2618) + (((sin(_2586) * sin(_2586)) * _2628) * _2628))));
+ vec4 _5453 = vec4(0.0);
+ vec3 _5454 = vec3(0.0);
+ int _2340;
+ if (cam.u_moving != 0)
+ {
+ _2340 = sim.u_max_steps_moving;
+ }
+ else
+ {
+ _2340 = sim.u_max_steps_static;
+ }
+ if (_2340 <= 0)
+ {
+ if (cam.u_moving != 0)
+ {
+ _2340 = 12000;
+ }
+ else
+ {
+ _2340 = 8000;
+ }
+ }
+ float _2341;
+ if (sim.u_early_exit_distance > 0.0)
+ {
+ _2341 = sim.u_early_exit_distance;
+ }
+ else
+ {
+ _2341 = 1999999991808.0;
+ }
+ int _2342 = 0;
+ bool _2343;
+ bool _2344;
+ bool _2345;
+ vec3 _2346;
+ bool _2350;
+ bool _2656;
+ float _2657;
+ vec3 _2695;
+ vec3 _2805;
+ bool _2806;
+ float _2807;
+ vec3 _2909;
+ float _2910;
+ bool _3149;
+ for (;;)
+ {
+ if (!(_2342 < _2340))
+ {
+ _2343 = false;
+ _2346 = vec3(0.0);
+ _2344 = false;
+ _2345 = false;
+ break;
+ }
+ if (_5386 <= 12689999872.0)
+ {
+ _2343 = false;
+ _2346 = vec3(0.0);
+ _2344 = true;
+ _2345 = false;
+ break;
+ }
+ if (_5386 > _2341)
+ {
+ _2343 = true;
+ }
+ else
+ {
+ _2343 = _5386 > 1000000015047466219876688855040.0;
+ }
+ if (_2343)
+ {
+ _2343 = false;
+ _2346 = vec3(0.0);
+ _2344 = false;
+ _2345 = false;
+ break;
+ }
+ float _2437 = _5383;
+ float _2439 = _5384;
+ float _2441 = _5385;
+ vec3 _2442 = vec3(_2437, _2439, _2441);
+ float _5459 = _2439;
+ float _2664 = 0.0199999995529651641845703125 * max(_5386 - 19035000832.0, 0.0);
+ if (length(vec2(_2437, _2441)) < (disk.u_outer_radius * 3.0))
+ {
+ _2656 = abs(_5459) < (disk.u_thickness * 8.0);
+ }
+ else
+ {
+ _2656 = false;
+ }
+ if (_2656)
+ {
+ _2657 = min(_2664, disk.u_thickness);
+ }
+ else
+ {
+ _2657 = _2664;
+ }
+ float _2693 = clamp(_2657, 1000000.0, 20000000000.0);
+ float _5449 = _5391;
+ float _5448 = _5390;
+ float _5447 = _5389;
+ float _5446 = _5388;
+ float _5445 = _5387;
+ float _5444 = _5386;
+ float _2761 = 1.0 - (12689999872.0 / _5444);
+ float _2764 = _5392 / _2761;
+ vec3 _2765 = vec3(_5447, _5448, _5449);
+ float _2768 = (2.0 * _5444) * _5444;
+ float _2780 = sin(_5445);
+ vec3 _5652 = _2695;
+ _5652.x = ((((((-12689999872.0) / _2768) * _2761) * _2764) * _2764) + (((12689999872.0 / (_2768 * _2761)) * _5447) * _5447)) + (_5444 * ((_5448 * _5448) + (((_2780 * _2780) * _5449) * _5449)));
+ float _2788 = (-2.0) * _5447;
+ float _2791 = cos(_5445);
+ _5652.y = ((_2788 * _5448) / _5444) + (((_2780 * _2791) * _5449) * _5449);
+ _5652.z = ((_2788 * _5449) / _5444) - ((((2.0 * _2791) / _2780) * _5448) * _5449);
+ _2695 = _5652;
+ float _2705 = _5444 + (_2693 * _2765.x);
+ _5386 = _2705;
+ float _2711 = _5445 + (_2693 * _2765.y);
+ _5387 = _2711;
+ float _2717 = _5446 + (_2693 * _2765.z);
+ _5388 = _2717;
+ _5389 = _5447 + (_2693 * _5652.x);
+ _5390 = _5448 + (_2693 * _5652.y);
+ _5391 = _5449 + (_2693 * _5652.z);
+ float _2740 = (_2705 * sin(_2711)) * cos(_2717);
+ _5383 = _2740;
+ float _2745 = (_2705 * sin(_2711)) * sin(_2717);
+ _5384 = _2745;
+ float _2748 = _2705 * cos(_2711);
+ _5385 = _2748;
+ vec3 _2449 = vec3(_2740, _2745, _2748);
+ bool _2453 = (_2439 * _2745) < 0.0;
+ if (_2453)
+ {
+ _2344 = true;
+ }
+ else
+ {
+ _2344 = abs(_2745) <= disk.u_thickness;
+ }
+ if (_2344)
+ {
+ if (_2453)
+ {
+ _2346 = mix(_2442, _2449, vec3(_2439 / (_2439 - _2745)));
+ }
+ else
+ {
+ _2346 = _2449;
+ }
+ float _2473 = length(vec2(_2346.xz));
+ if (_2473 >= max(disk.u_inner_radius, 38070001664.0))
+ {
+ _2345 = _2473 <= disk.u_outer_radius;
+ }
+ else
+ {
+ _2345 = false;
+ }
+ if (_2345)
+ {
+ do
+ {
+ float _2814 = length(vec2(_2346.xz));
+ float _2817 = max(disk.u_inner_radius, 38070001664.0);
+ if (_2814 < _2817)
+ {
+ _2806 = true;
+ }
+ else
+ {
+ _2806 = _2814 > disk.u_outer_radius;
+ }
+ if (_2806)
+ {
+ _2805 = vec3(0.0);
+ break;
+ }
+ float _2828 = _2814 / _2817;
+ float _2837 = pow(max((1.0 - sqrt(1.0 / _2828)) / ((_2828 * _2828) * _2828), 0.0) * 17.5746936798095703125, 0.25);
+ float _2859 = sqrt(max(1.0 - (19035000832.0 / _2814), 0.0)) / max(1.0 - dot(normalize(cross(vec3(0.0, 1.0, 0.0), normalize(vec3(_2346.x, 0.0, _2346.z)))) * sqrt(6344999936.0 / max(_2814 - 12689999872.0, 1.0)), -normalize(_2449 - _2442)), 0.001000000047497451305389404296875);
+ float _2914 = clamp(_2859 * (disk.u_temperature * _2837), 1000.0, 40000.0) * 0.00999999977648258209228515625;
+ bool _2916 = _2914 <= 66.0;
+ if (_2916)
+ {
+ _2910 = 1.0;
+ }
+ else
+ {
+ _2910 = clamp(1.29293620586395263671875 * pow(_2914 - 60.0, -0.133204758167266845703125), 0.0, 1.0);
+ }
+ vec3 _5658 = _2909;
+ _5658.x = _2910;
+ _2909 = _5658;
+ if (_2916)
+ {
+ _2910 = clamp((0.390081584453582763671875 * log(_2914)) - 0.6318414211273193359375, 0.0, 1.0);
+ }
+ else
+ {
+ _2910 = clamp(1.129890918731689453125 * pow(_2914 - 60.0, -0.075514845550060272216796875), 0.0, 1.0);
+ }
+ vec3 _5660 = _2909;
+ _5660.y = _2910;
+ _2909 = _5660;
+ if (_2914 >= 66.0)
+ {
+ _2910 = 1.0;
+ }
+ else
+ {
+ if (_2914 <= 19.0)
+ {
+ _2910 = 0.0;
+ }
+ else
+ {
+ _2910 = clamp((0.54320681095123291015625 * log(_2914 - 10.0)) - 1.19625413417816162109375, 0.0, 1.0);
+ }
+ }
+ vec3 _5662 = _2909;
+ _5662.z = _2910;
+ _2909 = _5662;
+ float _2871 = (pow(_2837, 2.0) * pow(_2859, 4.0)) * (smoothstep(_2817, _2817 * 1.12000000476837158203125, _2814) * (1.0 - smoothstep(disk.u_outer_radius * 0.87999999523162841796875, disk.u_outer_radius, _2814)));
+ if (disk.u_turbulence > 0.0)
+ {
+ float _2881 = (sim.u_time * 0.300000011920928955078125) / sqrt(_2828);
+ float _2882 = cos(_2881);
+ float _2884 = sin(_2881);
+ vec3 _2954 = (vec3((_2346.x * _2882) - (_2346.z * _2884), 0.0, (_2346.x * _2884) + (_2346.z * _2882)) * 1.0000000133514319600180897396058e-10) * 3.0;
+ int _2955 = 0;
+ float _2956 = 0.5;
+ float _2957 = 0.0;
+ for (;;)
+ {
+ if (!(_2955 < 3))
+ {
+ break;
+ }
+ vec3 _2988 = floor(_2954);
+ vec3 _2989 = fract(_2954);
+ vec3 _2994 = (_2989 * _2989) * (vec3(3.0) - (_2989 * 2.0));
+ vec3 _3023 = fract(_2988 * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _3029 = _3023 + vec3(dot(_3023, _3023.yxz + vec3(33.3300018310546875)));
+ vec3 _3039 = fract((_2988 + vec3(1.0, 0.0, 0.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _3045 = _3039 + vec3(dot(_3039, _3039.yxz + vec3(33.3300018310546875)));
+ vec3 _3055 = fract((_2988 + vec3(0.0, 1.0, 0.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _3061 = _3055 + vec3(dot(_3055, _3055.yxz + vec3(33.3300018310546875)));
+ vec3 _3071 = fract((_2988 + vec3(1.0, 1.0, 0.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _3077 = _3071 + vec3(dot(_3071, _3071.yxz + vec3(33.3300018310546875)));
+ vec3 _3087 = fract((_2988 + vec3(0.0, 0.0, 1.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _3093 = _3087 + vec3(dot(_3087, _3087.yxz + vec3(33.3300018310546875)));
+ vec3 _3103 = fract((_2988 + vec3(1.0, 0.0, 1.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _3109 = _3103 + vec3(dot(_3103, _3103.yxz + vec3(33.3300018310546875)));
+ vec3 _3119 = fract((_2988 + vec3(0.0, 1.0, 1.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _3125 = _3119 + vec3(dot(_3119, _3119.yxz + vec3(33.3300018310546875)));
+ vec3 _3135 = fract((_2988 + vec3(1.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _3141 = _3135 + vec3(dot(_3135, _3135.yxz + vec3(33.3300018310546875)));
+ float _3010 = _2994.x;
+ float _3013 = _2994.y;
+ float _2970 = _2956;
+ float _2971 = _2970 * mix(mix(mix(fract((_3029.x + _3029.y) * _3029.z), fract((_3045.x + _3045.y) * _3045.z), _3010), mix(fract((_3061.x + _3061.y) * _3061.z), fract((_3077.x + _3077.y) * _3077.z), _3010), _3013), mix(mix(fract((_3093.x + _3093.y) * _3093.z), fract((_3109.x + _3109.y) * _3109.z), _3010), mix(fract((_3125.x + _3125.y) * _3125.z), fract((_3141.x + _3141.y) * _3141.z), _3010), _3013), _2994.z);
+ _2954 = (_2954 * 2.0) + vec3(100.0, 200.0, 300.0);
+ _2955++;
+ _2956 = _2970 * 0.5;
+ _2957 += _2971;
+ continue;
+ }
+ _2807 = _2871 * max(1.0 + (disk.u_turbulence * (_2957 - 0.5)), 0.0);
+ }
+ else
+ {
+ _2807 = _2871;
+ }
+ _2805 = (_5662 * _2807) * max(disk.u_brightness, 0.0);
+ break;
+ } while(false);
+ _2343 = true;
+ _2346 = _2805;
+ _2344 = false;
+ _2345 = false;
+ break;
+ }
+ }
+ if ((_2342 - 5 * (_2342 / 5)) == 0)
+ {
+ float _5466 = _5383;
+ float _5467 = _5384;
+ float _5468 = _5385;
+ _3148 = false;
+ do
+ {
+ vec3 _3160 = vec3(_5466, _5467, _5468);
+ int _3150 = 0;
+ for (;;)
+ {
+ bool _3163_ladder_break = false;
+ do
+ {
+ if (!(_3150 < obj.u_num_objects))
+ {
+ _3163_ladder_break = true;
+ break;
+ }
+ vec3 _3179 = _3160 - obj.u_obj_pos_radius.data[_3150].xyz;
+ float _3180 = dot(_3179, _3179);
+ float _3181 = obj.u_obj_pos_radius.data[_3150].w * obj.u_obj_pos_radius.data[_3150].w;
+ if (_3180 > (_3181 * 4.0))
+ {
+ break;
+ }
+ if (_3180 <= _3181)
+ {
+ _5453 = obj.u_obj_color.data[_3150];
+ _5454 = obj.u_obj_pos_radius.data[_3150].xyz;
+ _3148 = true;
+ _3149 = true;
+ _3163_ladder_break = true;
+ break;
+ }
+ break;
+ } while(false);
+ if (_3163_ladder_break)
+ {
+ break;
+ }
+ _3150++;
+ continue;
+ }
+ if (_3148)
+ {
+ break;
+ }
+ _3148 = true;
+ _3149 = false;
+ break;
+ } while(false);
+ _2345 = _3149;
+ }
+ else
+ {
+ _2345 = false;
+ }
+ if (_2345)
+ {
+ _2343 = false;
+ _2346 = vec3(0.0);
+ _2344 = false;
+ _2345 = true;
+ break;
+ }
+ if (_5389 > 0.0)
+ {
+ _2350 = _5386 > 634500022272.0;
+ }
+ else
+ {
+ _2350 = false;
+ }
+ if (_2350)
+ {
+ _2343 = false;
+ _2346 = vec3(0.0);
+ _2344 = false;
+ _2345 = false;
+ break;
+ }
+ _2342++;
+ continue;
+ }
+ vec3 _2528 = normalize(vec3(_5383, _5384, _5385) - cam.u_cam_pos);
+ vec3 _3209 = dFdx(_2528);
+ vec3 _3212 = dFdy(_2528);
+ vec3 _2351;
+ if (_2343)
+ {
+ _2351 = _2346;
+ }
+ else
+ {
+ if (_2344)
+ {
+ _2351 = vec3(0.0);
+ }
+ else
+ {
+ if (_2345)
+ {
+ vec3 _2552 = vec3(_5383, _5384, _5385);
+ _2351 = _5453.xyz * (0.100000001490116119384765625 + (0.89999997615814208984375 * max(dot(normalize(_2552 - _5454), normalize(cam.u_cam_pos - _2552)), 0.0)));
+ }
+ else
+ {
+ _2351 = textureLod(u_HDRIEnvironment, _2528, clamp(log2(max(max(length(_3209), length(_3212)) * 666.66668701171875, 1.0)), 0.0, 10.0)).xyz;
+ }
+ }
+ }
+ entryPointParam_fragmentMain = vec4(_2351, 1.0);
+ break;
+ }
+ if (cam.u_moving != 0)
+ {
+ vec3 _3253 = normalize(((cam.u_cam_right * ((((2.0 * _v0.x) - 1.0) * cam.u_aspect) * cam.u_tan_half_fov)) - (cam.u_cam_up * ((1.0 - (2.0 * _v0.y)) * cam.u_tan_half_fov))) + cam.u_cam_forward);
+ float _3458 = length(cam.u_cam_pos);
+ float _3461 = acos(cam.u_cam_pos.z / _3458);
+ float _3463 = atan(cam.u_cam_pos.y, cam.u_cam_pos.x);
+ float _3464 = _3253.x;
+ float _3465 = _3253.y;
+ float _3466 = _3253.z;
+ float _3479 = (((sin(_3461) * cos(_3463)) * _3464) + ((sin(_3461) * sin(_3463)) * _3465)) + (cos(_3461) * _3466);
+ float _3493 = ((((cos(_3461) * cos(_3463)) * _3464) + ((cos(_3461) * sin(_3463)) * _3465)) - (sin(_3461) * _3466)) / _3458;
+ float _3503 = (((-sin(_3463)) * _3464) + (cos(_3463) * _3465)) / (_3458 * sin(_3461));
+ float _3510 = 1.0 - (12689999872.0 / _3458);
+ float _5225 = cam.u_cam_pos.x;
+ float _5226 = cam.u_cam_pos.y;
+ float _5227 = cam.u_cam_pos.z;
+ float _5228 = _3458;
+ float _5229 = _3461;
+ float _5230 = _3463;
+ float _5231 = _3479;
+ float _5232 = _3493;
+ float _5233 = _3503;
+ float _5234 = _3510 * sqrt(((_3479 * _3479) / _3510) + ((_3458 * _3458) * ((_3493 * _3493) + (((sin(_3461) * sin(_3461)) * _3503) * _3503))));
+ vec4 _5295 = vec4(0.0);
+ vec3 _5296 = vec3(0.0);
+ int _3215;
+ if (cam.u_moving != 0)
+ {
+ _3215 = sim.u_max_steps_moving;
+ }
+ else
+ {
+ _3215 = sim.u_max_steps_static;
+ }
+ if (_3215 <= 0)
+ {
+ if (cam.u_moving != 0)
+ {
+ _3215 = 12000;
+ }
+ else
+ {
+ _3215 = 8000;
+ }
+ }
+ float _3216;
+ if (sim.u_early_exit_distance > 0.0)
+ {
+ _3216 = sim.u_early_exit_distance;
+ }
+ else
+ {
+ _3216 = 1999999991808.0;
+ }
+ int _3217 = 0;
+ bool _3218;
+ bool _3219;
+ bool _3220;
+ vec3 _3221;
+ bool _3225;
+ bool _3531;
+ float _3532;
+ vec3 _3570;
+ vec3 _3680;
+ bool _3681;
+ float _3682;
+ vec3 _3784;
+ float _3785;
+ bool _4024;
+ for (;;)
+ {
+ if (!(_3217 < _3215))
+ {
+ _3218 = false;
+ _3221 = vec3(0.0);
+ _3219 = false;
+ _3220 = false;
+ break;
+ }
+ if (_5228 <= 12689999872.0)
+ {
+ _3218 = false;
+ _3221 = vec3(0.0);
+ _3219 = true;
+ _3220 = false;
+ break;
+ }
+ if (_5228 > _3216)
+ {
+ _3218 = true;
+ }
+ else
+ {
+ _3218 = _5228 > 1000000015047466219876688855040.0;
+ }
+ if (_3218)
+ {
+ _3218 = false;
+ _3221 = vec3(0.0);
+ _3219 = false;
+ _3220 = false;
+ break;
+ }
+ float _3312 = _5225;
+ float _3314 = _5226;
+ float _3316 = _5227;
+ vec3 _3317 = vec3(_3312, _3314, _3316);
+ float _5301 = _3314;
+ float _3539 = 0.0199999995529651641845703125 * max(_5228 - 19035000832.0, 0.0);
+ if (length(vec2(_3312, _3316)) < (disk.u_outer_radius * 3.0))
+ {
+ _3531 = abs(_5301) < (disk.u_thickness * 8.0);
+ }
+ else
+ {
+ _3531 = false;
+ }
+ if (_3531)
+ {
+ _3532 = min(_3539, disk.u_thickness);
+ }
+ else
+ {
+ _3532 = _3539;
+ }
+ float _3568 = clamp(_3532, 1000000.0, 20000000000.0);
+ float _5291 = _5233;
+ float _5290 = _5232;
+ float _5289 = _5231;
+ float _5288 = _5230;
+ float _5287 = _5229;
+ float _5286 = _5228;
+ float _3636 = 1.0 - (12689999872.0 / _5286);
+ float _3639 = _5234 / _3636;
+ vec3 _3640 = vec3(_5289, _5290, _5291);
+ float _3643 = (2.0 * _5286) * _5286;
+ float _3655 = sin(_5287);
+ vec3 _5664 = _3570;
+ _5664.x = ((((((-12689999872.0) / _3643) * _3636) * _3639) * _3639) + (((12689999872.0 / (_3643 * _3636)) * _5289) * _5289)) + (_5286 * ((_5290 * _5290) + (((_3655 * _3655) * _5291) * _5291)));
+ float _3663 = (-2.0) * _5289;
+ float _3666 = cos(_5287);
+ _5664.y = ((_3663 * _5290) / _5286) + (((_3655 * _3666) * _5291) * _5291);
+ _5664.z = ((_3663 * _5291) / _5286) - ((((2.0 * _3666) / _3655) * _5290) * _5291);
+ _3570 = _5664;
+ float _3580 = _5286 + (_3568 * _3640.x);
+ _5228 = _3580;
+ float _3586 = _5287 + (_3568 * _3640.y);
+ _5229 = _3586;
+ float _3592 = _5288 + (_3568 * _3640.z);
+ _5230 = _3592;
+ _5231 = _5289 + (_3568 * _5664.x);
+ _5232 = _5290 + (_3568 * _5664.y);
+ _5233 = _5291 + (_3568 * _5664.z);
+ float _3615 = (_3580 * sin(_3586)) * cos(_3592);
+ _5225 = _3615;
+ float _3620 = (_3580 * sin(_3586)) * sin(_3592);
+ _5226 = _3620;
+ float _3623 = _3580 * cos(_3586);
+ _5227 = _3623;
+ vec3 _3324 = vec3(_3615, _3620, _3623);
+ bool _3328 = (_3314 * _3620) < 0.0;
+ if (_3328)
+ {
+ _3219 = true;
+ }
+ else
+ {
+ _3219 = abs(_3620) <= disk.u_thickness;
+ }
+ if (_3219)
+ {
+ if (_3328)
+ {
+ _3221 = mix(_3317, _3324, vec3(_3314 / (_3314 - _3620)));
+ }
+ else
+ {
+ _3221 = _3324;
+ }
+ float _3348 = length(vec2(_3221.xz));
+ if (_3348 >= max(disk.u_inner_radius, 38070001664.0))
+ {
+ _3220 = _3348 <= disk.u_outer_radius;
+ }
+ else
+ {
+ _3220 = false;
+ }
+ if (_3220)
+ {
+ do
+ {
+ float _3689 = length(vec2(_3221.xz));
+ float _3692 = max(disk.u_inner_radius, 38070001664.0);
+ if (_3689 < _3692)
+ {
+ _3681 = true;
+ }
+ else
+ {
+ _3681 = _3689 > disk.u_outer_radius;
+ }
+ if (_3681)
+ {
+ _3680 = vec3(0.0);
+ break;
+ }
+ float _3703 = _3689 / _3692;
+ float _3712 = pow(max((1.0 - sqrt(1.0 / _3703)) / ((_3703 * _3703) * _3703), 0.0) * 17.5746936798095703125, 0.25);
+ float _3734 = sqrt(max(1.0 - (19035000832.0 / _3689), 0.0)) / max(1.0 - dot(normalize(cross(vec3(0.0, 1.0, 0.0), normalize(vec3(_3221.x, 0.0, _3221.z)))) * sqrt(6344999936.0 / max(_3689 - 12689999872.0, 1.0)), -normalize(_3324 - _3317)), 0.001000000047497451305389404296875);
+ float _3789 = clamp(_3734 * (disk.u_temperature * _3712), 1000.0, 40000.0) * 0.00999999977648258209228515625;
+ bool _3791 = _3789 <= 66.0;
+ if (_3791)
+ {
+ _3785 = 1.0;
+ }
+ else
+ {
+ _3785 = clamp(1.29293620586395263671875 * pow(_3789 - 60.0, -0.133204758167266845703125), 0.0, 1.0);
+ }
+ vec3 _5670 = _3784;
+ _5670.x = _3785;
+ _3784 = _5670;
+ if (_3791)
+ {
+ _3785 = clamp((0.390081584453582763671875 * log(_3789)) - 0.6318414211273193359375, 0.0, 1.0);
+ }
+ else
+ {
+ _3785 = clamp(1.129890918731689453125 * pow(_3789 - 60.0, -0.075514845550060272216796875), 0.0, 1.0);
+ }
+ vec3 _5672 = _3784;
+ _5672.y = _3785;
+ _3784 = _5672;
+ if (_3789 >= 66.0)
+ {
+ _3785 = 1.0;
+ }
+ else
+ {
+ if (_3789 <= 19.0)
+ {
+ _3785 = 0.0;
+ }
+ else
+ {
+ _3785 = clamp((0.54320681095123291015625 * log(_3789 - 10.0)) - 1.19625413417816162109375, 0.0, 1.0);
+ }
+ }
+ vec3 _5674 = _3784;
+ _5674.z = _3785;
+ _3784 = _5674;
+ float _3746 = (pow(_3712, 2.0) * pow(_3734, 4.0)) * (smoothstep(_3692, _3692 * 1.12000000476837158203125, _3689) * (1.0 - smoothstep(disk.u_outer_radius * 0.87999999523162841796875, disk.u_outer_radius, _3689)));
+ if (disk.u_turbulence > 0.0)
+ {
+ float _3756 = (sim.u_time * 0.300000011920928955078125) / sqrt(_3703);
+ float _3757 = cos(_3756);
+ float _3759 = sin(_3756);
+ vec3 _3829 = (vec3((_3221.x * _3757) - (_3221.z * _3759), 0.0, (_3221.x * _3759) + (_3221.z * _3757)) * 1.0000000133514319600180897396058e-10) * 3.0;
+ int _3830 = 0;
+ float _3831 = 0.5;
+ float _3832 = 0.0;
+ for (;;)
+ {
+ if (!(_3830 < 3))
+ {
+ break;
+ }
+ vec3 _3863 = floor(_3829);
+ vec3 _3864 = fract(_3829);
+ vec3 _3869 = (_3864 * _3864) * (vec3(3.0) - (_3864 * 2.0));
+ vec3 _3898 = fract(_3863 * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _3904 = _3898 + vec3(dot(_3898, _3898.yxz + vec3(33.3300018310546875)));
+ vec3 _3914 = fract((_3863 + vec3(1.0, 0.0, 0.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _3920 = _3914 + vec3(dot(_3914, _3914.yxz + vec3(33.3300018310546875)));
+ vec3 _3930 = fract((_3863 + vec3(0.0, 1.0, 0.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _3936 = _3930 + vec3(dot(_3930, _3930.yxz + vec3(33.3300018310546875)));
+ vec3 _3946 = fract((_3863 + vec3(1.0, 1.0, 0.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _3952 = _3946 + vec3(dot(_3946, _3946.yxz + vec3(33.3300018310546875)));
+ vec3 _3962 = fract((_3863 + vec3(0.0, 0.0, 1.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _3968 = _3962 + vec3(dot(_3962, _3962.yxz + vec3(33.3300018310546875)));
+ vec3 _3978 = fract((_3863 + vec3(1.0, 0.0, 1.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _3984 = _3978 + vec3(dot(_3978, _3978.yxz + vec3(33.3300018310546875)));
+ vec3 _3994 = fract((_3863 + vec3(0.0, 1.0, 1.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _4000 = _3994 + vec3(dot(_3994, _3994.yxz + vec3(33.3300018310546875)));
+ vec3 _4010 = fract((_3863 + vec3(1.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _4016 = _4010 + vec3(dot(_4010, _4010.yxz + vec3(33.3300018310546875)));
+ float _3885 = _3869.x;
+ float _3888 = _3869.y;
+ float _3845 = _3831;
+ float _3846 = _3845 * mix(mix(mix(fract((_3904.x + _3904.y) * _3904.z), fract((_3920.x + _3920.y) * _3920.z), _3885), mix(fract((_3936.x + _3936.y) * _3936.z), fract((_3952.x + _3952.y) * _3952.z), _3885), _3888), mix(mix(fract((_3968.x + _3968.y) * _3968.z), fract((_3984.x + _3984.y) * _3984.z), _3885), mix(fract((_4000.x + _4000.y) * _4000.z), fract((_4016.x + _4016.y) * _4016.z), _3885), _3888), _3869.z);
+ _3829 = (_3829 * 2.0) + vec3(100.0, 200.0, 300.0);
+ _3830++;
+ _3831 = _3845 * 0.5;
+ _3832 += _3846;
+ continue;
+ }
+ _3682 = _3746 * max(1.0 + (disk.u_turbulence * (_3832 - 0.5)), 0.0);
+ }
+ else
+ {
+ _3682 = _3746;
+ }
+ _3680 = (_5674 * _3682) * max(disk.u_brightness, 0.0);
+ break;
+ } while(false);
+ _3218 = true;
+ _3221 = _3680;
+ _3219 = false;
+ _3220 = false;
+ break;
+ }
+ }
+ if ((_3217 - 5 * (_3217 / 5)) == 0)
+ {
+ float _5308 = _5225;
+ float _5309 = _5226;
+ float _5310 = _5227;
+ _4023 = false;
+ do
+ {
+ vec3 _4035 = vec3(_5308, _5309, _5310);
+ int _4025 = 0;
+ for (;;)
+ {
+ bool _4038_ladder_break = false;
+ do
+ {
+ if (!(_4025 < obj.u_num_objects))
+ {
+ _4038_ladder_break = true;
+ break;
+ }
+ vec3 _4054 = _4035 - obj.u_obj_pos_radius.data[_4025].xyz;
+ float _4055 = dot(_4054, _4054);
+ float _4056 = obj.u_obj_pos_radius.data[_4025].w * obj.u_obj_pos_radius.data[_4025].w;
+ if (_4055 > (_4056 * 4.0))
+ {
+ break;
+ }
+ if (_4055 <= _4056)
+ {
+ _5295 = obj.u_obj_color.data[_4025];
+ _5296 = obj.u_obj_pos_radius.data[_4025].xyz;
+ _4023 = true;
+ _4024 = true;
+ _4038_ladder_break = true;
+ break;
+ }
+ break;
+ } while(false);
+ if (_4038_ladder_break)
+ {
+ break;
+ }
+ _4025++;
+ continue;
+ }
+ if (_4023)
+ {
+ break;
+ }
+ _4023 = true;
+ _4024 = false;
+ break;
+ } while(false);
+ _3220 = _4024;
+ }
+ else
+ {
+ _3220 = false;
+ }
+ if (_3220)
+ {
+ _3218 = false;
+ _3221 = vec3(0.0);
+ _3219 = false;
+ _3220 = true;
+ break;
+ }
+ if (_5231 > 0.0)
+ {
+ _3225 = _5228 > 634500022272.0;
+ }
+ else
+ {
+ _3225 = false;
+ }
+ if (_3225)
+ {
+ _3218 = false;
+ _3221 = vec3(0.0);
+ _3219 = false;
+ _3220 = false;
+ break;
+ }
+ _3217++;
+ continue;
+ }
+ vec3 _3403 = normalize(vec3(_5225, _5226, _5227) - cam.u_cam_pos);
+ vec3 _4084 = dFdx(_3403);
+ vec3 _4087 = dFdy(_3403);
+ vec3 _3226;
+ if (_3218)
+ {
+ _3226 = _3221;
+ }
+ else
+ {
+ if (_3219)
+ {
+ _3226 = vec3(0.0);
+ }
+ else
+ {
+ if (_3220)
+ {
+ vec3 _3427 = vec3(_5225, _5226, _5227);
+ _3226 = _5295.xyz * (0.100000001490116119384765625 + (0.89999997615814208984375 * max(dot(normalize(_3427 - _5296), normalize(cam.u_cam_pos - _3427)), 0.0)));
+ }
+ else
+ {
+ _3226 = textureLod(u_HDRIEnvironment, _3403, clamp(log2(max(max(length(_4084), length(_4087)) * 666.66668701171875, 1.0)), 0.0, 10.0)).xyz;
+ }
+ }
+ }
+ entryPointParam_fragmentMain = vec4(clamp((_3226 * ((_3226 * 2.5099999904632568359375) + vec3(0.02999999932944774627685546875))) / ((_3226 * ((_3226 * 2.4300000667572021484375) + vec3(0.589999973773956298828125))) + vec3(0.14000000059604644775390625)), vec3(0.0), vec3(1.0)), 1.0);
+ break;
+ }
+ float _4104 = dFdx(_v0.x);
+ float _4107 = dFdy(_v0.y);
+ vec2 _1390 = vec2(_4104, _4107);
+ int i = 0;
+ vec3 sum = vec3(0.0);
+ int _4110;
+ float _4111;
+ bool _4113;
+ bool _4114;
+ bool _4115;
+ vec3 _4116;
+ bool _4120;
+ vec3 _4121;
+ bool _4426;
+ float _4427;
+ vec3 _4465;
+ vec3 _4575;
+ bool _4576;
+ float _4577;
+ vec3 _4679;
+ float _4680;
+ bool _4919;
+ for (;;)
+ {
+ if (!(i < 4))
+ {
+ break;
+ }
+ vec2 _1413 = _v0 + (_1399[i] * _1390);
+ vec3 _4148 = normalize(((cam.u_cam_right * ((((2.0 * _1413.x) - 1.0) * cam.u_aspect) * cam.u_tan_half_fov)) - (cam.u_cam_up * ((1.0 - (2.0 * _1413.y)) * cam.u_tan_half_fov))) + cam.u_cam_forward);
+ float _4353 = length(cam.u_cam_pos);
+ float _4356 = acos(cam.u_cam_pos.z / _4353);
+ float _4358 = atan(cam.u_cam_pos.y, cam.u_cam_pos.x);
+ float _4359 = _4148.x;
+ float _4360 = _4148.y;
+ float _4361 = _4148.z;
+ float _4374 = (((sin(_4356) * cos(_4358)) * _4359) + ((sin(_4356) * sin(_4358)) * _4360)) + (cos(_4356) * _4361);
+ float _4388 = ((((cos(_4356) * cos(_4358)) * _4359) + ((cos(_4356) * sin(_4358)) * _4360)) - (sin(_4356) * _4361)) / _4353;
+ float _4398 = (((-sin(_4358)) * _4359) + (cos(_4358) * _4360)) / (_4353 * sin(_4356));
+ float _4405 = 1.0 - (12689999872.0 / _4353);
+ float _5067 = cam.u_cam_pos.x;
+ float _5068 = cam.u_cam_pos.y;
+ float _5069 = cam.u_cam_pos.z;
+ float _5070 = _4353;
+ float _5071 = _4356;
+ float _5072 = _4358;
+ float _5073 = _4374;
+ float _5074 = _4388;
+ float _5075 = _4398;
+ float _5076 = _4405 * sqrt(((_4374 * _4374) / _4405) + ((_4353 * _4353) * ((_4388 * _4388) + (((sin(_4356) * sin(_4356)) * _4398) * _4398))));
+ vec4 _5137 = vec4(0.0);
+ vec3 _5138 = vec3(0.0);
+ if (cam.u_moving != 0)
+ {
+ _4110 = sim.u_max_steps_moving;
+ }
+ else
+ {
+ _4110 = sim.u_max_steps_static;
+ }
+ if (_4110 <= 0)
+ {
+ if (cam.u_moving != 0)
+ {
+ _4110 = 12000;
+ }
+ else
+ {
+ _4110 = 8000;
+ }
+ }
+ if (sim.u_early_exit_distance > 0.0)
+ {
+ _4111 = sim.u_early_exit_distance;
+ }
+ else
+ {
+ _4111 = 1999999991808.0;
+ }
+ int _4112 = 0;
+ for (;;)
+ {
+ if (!(_4112 < _4110))
+ {
+ _4113 = false;
+ _4116 = vec3(0.0);
+ _4114 = false;
+ _4115 = false;
+ break;
+ }
+ if (_5070 <= 12689999872.0)
+ {
+ _4113 = false;
+ _4116 = vec3(0.0);
+ _4114 = true;
+ _4115 = false;
+ break;
+ }
+ if (_5070 > _4111)
+ {
+ _4113 = true;
+ }
+ else
+ {
+ _4113 = _5070 > 1000000015047466219876688855040.0;
+ }
+ if (_4113)
+ {
+ _4113 = false;
+ _4116 = vec3(0.0);
+ _4114 = false;
+ _4115 = false;
+ break;
+ }
+ float _4207 = _5067;
+ float _4209 = _5068;
+ float _4211 = _5069;
+ vec3 _4212 = vec3(_4207, _4209, _4211);
+ float _5143 = _4209;
+ float _4434 = 0.0199999995529651641845703125 * max(_5070 - 19035000832.0, 0.0);
+ if (length(vec2(_4207, _4211)) < (disk.u_outer_radius * 3.0))
+ {
+ _4426 = abs(_5143) < (disk.u_thickness * 8.0);
+ }
+ else
+ {
+ _4426 = false;
+ }
+ if (_4426)
+ {
+ _4427 = min(_4434, disk.u_thickness);
+ }
+ else
+ {
+ _4427 = _4434;
+ }
+ float _4463 = clamp(_4427, 1000000.0, 20000000000.0);
+ float _5133 = _5075;
+ float _5132 = _5074;
+ float _5131 = _5073;
+ float _5130 = _5072;
+ float _5129 = _5071;
+ float _5128 = _5070;
+ float _4531 = 1.0 - (12689999872.0 / _5128);
+ float _4534 = _5076 / _4531;
+ vec3 _4535 = vec3(_5131, _5132, _5133);
+ float _4538 = (2.0 * _5128) * _5128;
+ float _4550 = sin(_5129);
+ vec3 _5676 = _4465;
+ _5676.x = ((((((-12689999872.0) / _4538) * _4531) * _4534) * _4534) + (((12689999872.0 / (_4538 * _4531)) * _5131) * _5131)) + (_5128 * ((_5132 * _5132) + (((_4550 * _4550) * _5133) * _5133)));
+ float _4558 = (-2.0) * _5131;
+ float _4561 = cos(_5129);
+ _5676.y = ((_4558 * _5132) / _5128) + (((_4550 * _4561) * _5133) * _5133);
+ _5676.z = ((_4558 * _5133) / _5128) - ((((2.0 * _4561) / _4550) * _5132) * _5133);
+ _4465 = _5676;
+ float _4475 = _5128 + (_4463 * _4535.x);
+ _5070 = _4475;
+ float _4481 = _5129 + (_4463 * _4535.y);
+ _5071 = _4481;
+ float _4487 = _5130 + (_4463 * _4535.z);
+ _5072 = _4487;
+ _5073 = _5131 + (_4463 * _5676.x);
+ _5074 = _5132 + (_4463 * _5676.y);
+ _5075 = _5133 + (_4463 * _5676.z);
+ float _4510 = (_4475 * sin(_4481)) * cos(_4487);
+ _5067 = _4510;
+ float _4515 = (_4475 * sin(_4481)) * sin(_4487);
+ _5068 = _4515;
+ float _4518 = _4475 * cos(_4481);
+ _5069 = _4518;
+ vec3 _4219 = vec3(_4510, _4515, _4518);
+ bool _4223 = (_4209 * _4515) < 0.0;
+ if (_4223)
+ {
+ _4114 = true;
+ }
+ else
+ {
+ _4114 = abs(_4515) <= disk.u_thickness;
+ }
+ if (_4114)
+ {
+ if (_4223)
+ {
+ _4116 = mix(_4212, _4219, vec3(_4209 / (_4209 - _4515)));
+ }
+ else
+ {
+ _4116 = _4219;
+ }
+ float _4243 = length(vec2(_4116.xz));
+ if (_4243 >= max(disk.u_inner_radius, 38070001664.0))
+ {
+ _4115 = _4243 <= disk.u_outer_radius;
+ }
+ else
+ {
+ _4115 = false;
+ }
+ if (_4115)
+ {
+ do
+ {
+ float _4584 = length(vec2(_4116.xz));
+ float _4587 = max(disk.u_inner_radius, 38070001664.0);
+ if (_4584 < _4587)
+ {
+ _4576 = true;
+ }
+ else
+ {
+ _4576 = _4584 > disk.u_outer_radius;
+ }
+ if (_4576)
+ {
+ _4575 = vec3(0.0);
+ break;
+ }
+ float _4598 = _4584 / _4587;
+ float _4607 = pow(max((1.0 - sqrt(1.0 / _4598)) / ((_4598 * _4598) * _4598), 0.0) * 17.5746936798095703125, 0.25);
+ float _4629 = sqrt(max(1.0 - (19035000832.0 / _4584), 0.0)) / max(1.0 - dot(normalize(cross(vec3(0.0, 1.0, 0.0), normalize(vec3(_4116.x, 0.0, _4116.z)))) * sqrt(6344999936.0 / max(_4584 - 12689999872.0, 1.0)), -normalize(_4219 - _4212)), 0.001000000047497451305389404296875);
+ float _4684 = clamp(_4629 * (disk.u_temperature * _4607), 1000.0, 40000.0) * 0.00999999977648258209228515625;
+ bool _4686 = _4684 <= 66.0;
+ if (_4686)
+ {
+ _4680 = 1.0;
+ }
+ else
+ {
+ _4680 = clamp(1.29293620586395263671875 * pow(_4684 - 60.0, -0.133204758167266845703125), 0.0, 1.0);
+ }
+ vec3 _5682 = _4679;
+ _5682.x = _4680;
+ _4679 = _5682;
+ if (_4686)
+ {
+ _4680 = clamp((0.390081584453582763671875 * log(_4684)) - 0.6318414211273193359375, 0.0, 1.0);
+ }
+ else
+ {
+ _4680 = clamp(1.129890918731689453125 * pow(_4684 - 60.0, -0.075514845550060272216796875), 0.0, 1.0);
+ }
+ vec3 _5684 = _4679;
+ _5684.y = _4680;
+ _4679 = _5684;
+ if (_4684 >= 66.0)
+ {
+ _4680 = 1.0;
+ }
+ else
+ {
+ if (_4684 <= 19.0)
+ {
+ _4680 = 0.0;
+ }
+ else
+ {
+ _4680 = clamp((0.54320681095123291015625 * log(_4684 - 10.0)) - 1.19625413417816162109375, 0.0, 1.0);
+ }
+ }
+ vec3 _5686 = _4679;
+ _5686.z = _4680;
+ _4679 = _5686;
+ float _4641 = (pow(_4607, 2.0) * pow(_4629, 4.0)) * (smoothstep(_4587, _4587 * 1.12000000476837158203125, _4584) * (1.0 - smoothstep(disk.u_outer_radius * 0.87999999523162841796875, disk.u_outer_radius, _4584)));
+ if (disk.u_turbulence > 0.0)
+ {
+ float _4651 = (sim.u_time * 0.300000011920928955078125) / sqrt(_4598);
+ float _4652 = cos(_4651);
+ float _4654 = sin(_4651);
+ vec3 _4724 = (vec3((_4116.x * _4652) - (_4116.z * _4654), 0.0, (_4116.x * _4654) + (_4116.z * _4652)) * 1.0000000133514319600180897396058e-10) * 3.0;
+ int _4725 = 0;
+ float _4726 = 0.5;
+ float _4727 = 0.0;
+ for (;;)
+ {
+ if (!(_4725 < 3))
+ {
+ break;
+ }
+ vec3 _4758 = floor(_4724);
+ vec3 _4759 = fract(_4724);
+ vec3 _4764 = (_4759 * _4759) * (vec3(3.0) - (_4759 * 2.0));
+ vec3 _4793 = fract(_4758 * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _4799 = _4793 + vec3(dot(_4793, _4793.yxz + vec3(33.3300018310546875)));
+ vec3 _4809 = fract((_4758 + vec3(1.0, 0.0, 0.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _4815 = _4809 + vec3(dot(_4809, _4809.yxz + vec3(33.3300018310546875)));
+ vec3 _4825 = fract((_4758 + vec3(0.0, 1.0, 0.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _4831 = _4825 + vec3(dot(_4825, _4825.yxz + vec3(33.3300018310546875)));
+ vec3 _4841 = fract((_4758 + vec3(1.0, 1.0, 0.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _4847 = _4841 + vec3(dot(_4841, _4841.yxz + vec3(33.3300018310546875)));
+ vec3 _4857 = fract((_4758 + vec3(0.0, 0.0, 1.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _4863 = _4857 + vec3(dot(_4857, _4857.yxz + vec3(33.3300018310546875)));
+ vec3 _4873 = fract((_4758 + vec3(1.0, 0.0, 1.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _4879 = _4873 + vec3(dot(_4873, _4873.yxz + vec3(33.3300018310546875)));
+ vec3 _4889 = fract((_4758 + vec3(0.0, 1.0, 1.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _4895 = _4889 + vec3(dot(_4889, _4889.yxz + vec3(33.3300018310546875)));
+ vec3 _4905 = fract((_4758 + vec3(1.0)) * vec3(0.103100001811981201171875, 0.10300000011920928955078125, 0.097300000488758087158203125));
+ vec3 _4911 = _4905 + vec3(dot(_4905, _4905.yxz + vec3(33.3300018310546875)));
+ float _4780 = _4764.x;
+ float _4783 = _4764.y;
+ float _4740 = _4726;
+ float _4741 = _4740 * mix(mix(mix(fract((_4799.x + _4799.y) * _4799.z), fract((_4815.x + _4815.y) * _4815.z), _4780), mix(fract((_4831.x + _4831.y) * _4831.z), fract((_4847.x + _4847.y) * _4847.z), _4780), _4783), mix(mix(fract((_4863.x + _4863.y) * _4863.z), fract((_4879.x + _4879.y) * _4879.z), _4780), mix(fract((_4895.x + _4895.y) * _4895.z), fract((_4911.x + _4911.y) * _4911.z), _4780), _4783), _4764.z);
+ _4724 = (_4724 * 2.0) + vec3(100.0, 200.0, 300.0);
+ _4725++;
+ _4726 = _4740 * 0.5;
+ _4727 += _4741;
+ continue;
+ }
+ _4577 = _4641 * max(1.0 + (disk.u_turbulence * (_4727 - 0.5)), 0.0);
+ }
+ else
+ {
+ _4577 = _4641;
+ }
+ _4575 = (_5686 * _4577) * max(disk.u_brightness, 0.0);
+ break;
+ } while(false);
+ _4113 = true;
+ _4116 = _4575;
+ _4114 = false;
+ _4115 = false;
+ break;
+ }
+ }
+ if ((_4112 - 5 * (_4112 / 5)) == 0)
+ {
+ float _5150 = _5067;
+ float _5151 = _5068;
+ float _5152 = _5069;
+ _4918 = false;
+ do
+ {
+ vec3 _4930 = vec3(_5150, _5151, _5152);
+ int _4920 = 0;
+ for (;;)
+ {
+ bool _4933_ladder_break = false;
+ do
+ {
+ if (!(_4920 < obj.u_num_objects))
+ {
+ _4933_ladder_break = true;
+ break;
+ }
+ vec3 _4949 = _4930 - obj.u_obj_pos_radius.data[_4920].xyz;
+ float _4950 = dot(_4949, _4949);
+ float _4951 = obj.u_obj_pos_radius.data[_4920].w * obj.u_obj_pos_radius.data[_4920].w;
+ if (_4950 > (_4951 * 4.0))
+ {
+ break;
+ }
+ if (_4950 <= _4951)
+ {
+ _5137 = obj.u_obj_color.data[_4920];
+ _5138 = obj.u_obj_pos_radius.data[_4920].xyz;
+ _4918 = true;
+ _4919 = true;
+ _4933_ladder_break = true;
+ break;
+ }
+ break;
+ } while(false);
+ if (_4933_ladder_break)
+ {
+ break;
+ }
+ _4920++;
+ continue;
+ }
+ if (_4918)
+ {
+ break;
+ }
+ _4918 = true;
+ _4919 = false;
+ break;
+ } while(false);
+ _4115 = _4919;
+ }
+ else
+ {
+ _4115 = false;
+ }
+ if (_4115)
+ {
+ _4113 = false;
+ _4116 = vec3(0.0);
+ _4114 = false;
+ _4115 = true;
+ break;
+ }
+ if (_5073 > 0.0)
+ {
+ _4120 = _5070 > 634500022272.0;
+ }
+ else
+ {
+ _4120 = false;
+ }
+ if (_4120)
+ {
+ _4113 = false;
+ _4116 = vec3(0.0);
+ _4114 = false;
+ _4115 = false;
+ break;
+ }
+ _4112++;
+ continue;
+ }
+ vec3 _4298 = normalize(vec3(_5067, _5068, _5069) - cam.u_cam_pos);
+ vec3 _4979 = dFdx(_4298);
+ vec3 _4982 = dFdy(_4298);
+ if (_4113)
+ {
+ _4121 = _4116;
+ }
+ else
+ {
+ if (_4114)
+ {
+ _4121 = vec3(0.0);
+ }
+ else
+ {
+ if (_4115)
+ {
+ vec3 _4322 = vec3(_5067, _5068, _5069);
+ _4121 = _5137.xyz * (0.100000001490116119384765625 + (0.89999997615814208984375 * max(dot(normalize(_4322 - _5138), normalize(cam.u_cam_pos - _4322)), 0.0)));
+ }
+ else
+ {
+ _4121 = textureLod(u_HDRIEnvironment, _4298, clamp(log2(max(max(length(_4979), length(_4982)) * 666.66668701171875, 1.0)), 0.0, 10.0)).xyz;
+ }
+ }
+ }
+ i++;
+ sum += _4121;
+ continue;
+ }
+ vec3 _1426 = sum * 0.25;
+ entryPointParam_fragmentMain = vec4(clamp((_1426 * ((_1426 * 2.5099999904632568359375) + vec3(0.02999999932944774627685546875))) / ((_1426 * ((_1426 * 2.4300000667572021484375) + vec3(0.589999973773956298828125))) + vec3(0.14000000059604644775390625)), vec3(0.0), vec3(1.0)), 1.0);
+ break;
+ } while(false);
+}
+
+