@anov/3d-ability 0.0.12 → 0.0.14
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/camera/index.js +31 -31
- package/dist/camera/index.js.map +1 -1
- package/dist/environment/sky/index.d.ts +15 -5
- package/dist/environment/sky/index.js +26 -20
- package/dist/environment/sky/index.js.map +1 -1
- package/dist/environment/skyv2/config.d.ts +32 -0
- package/dist/environment/skyv2/config.js +50 -0
- package/dist/environment/skyv2/config.js.map +1 -0
- package/dist/environment/skyv2/index.d.ts +14 -0
- package/dist/environment/skyv2/index.js +140 -0
- package/dist/environment/skyv2/index.js.map +1 -0
- package/dist/environment/skyv2/shader/cloud/frag.d.ts +2 -0
- package/dist/environment/skyv2/shader/cloud/frag.js +3 -0
- package/dist/environment/skyv2/shader/cloud/frag.js.map +1 -0
- package/dist/environment/skyv2/shader/cloud/vert.d.ts +2 -0
- package/dist/environment/skyv2/shader/cloud/vert.js +3 -0
- package/dist/environment/skyv2/shader/cloud/vert.js.map +1 -0
- package/dist/environment/skyv2/shader/sky/frag.d.ts +2 -0
- package/dist/environment/skyv2/shader/sky/frag.js +3 -0
- package/dist/environment/skyv2/shader/sky/frag.js.map +1 -0
- package/dist/environment/skyv2/type.d.ts +14 -0
- package/dist/environment/skyv2/type.js +26 -0
- package/dist/environment/skyv2/type.js.map +1 -0
- package/dist/index.d.ts +6 -3
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/material/fakeGlowMaterial/index.d.ts +17 -0
- package/dist/material/fakeGlowMaterial/index.js +57 -0
- package/dist/material/fakeGlowMaterial/index.js.map +1 -0
- package/dist/material/fakeGlowMaterial/shader/fragmentShader.d.ts +2 -0
- package/dist/material/fakeGlowMaterial/shader/fragmentShader.js +3 -0
- package/dist/material/fakeGlowMaterial/shader/fragmentShader.js.map +1 -0
- package/dist/material/fakeGlowMaterial/shader/vertexShader.d.ts +2 -0
- package/dist/material/fakeGlowMaterial/shader/vertexShader.js +3 -0
- package/dist/material/fakeGlowMaterial/shader/vertexShader.js.map +1 -0
- package/dist/poi/Sprite/index.js +1 -1
- package/dist/poi/Sprite/index.js.map +1 -1
- package/dist/postEffects/bloomSelect.js +40 -6
- package/dist/postEffects/bloomSelect.js.map +1 -1
- package/dist/postEffects/outlinePass.js.map +1 -1
- package/dist/weather/index.d.ts +36 -0
- package/dist/weather/index.js +273 -5
- package/dist/weather/index.js.map +1 -1
- package/dist/weather/objects/CloudMesh.d.ts +22 -0
- package/dist/weather/objects/CloudMesh.js +122 -0
- package/dist/weather/objects/CloudMesh.js.map +1 -0
- package/dist/weather/{fog2DMesh.d.ts → objects/Fog2DMesh.d.ts} +6 -7
- package/dist/weather/objects/Fog2DMesh.js +94 -0
- package/dist/weather/objects/Fog2DMesh.js.map +1 -0
- package/dist/weather/objects/SkyMesh.d.ts +7 -0
- package/dist/weather/{fog2DMesh.js → objects/SkyMesh.js} +19 -55
- package/dist/weather/objects/SkyMesh.js.map +1 -0
- package/dist/weather/objects/SnowMesh.d.ts +17 -0
- package/dist/weather/objects/SnowMesh.js +163 -0
- package/dist/weather/objects/SnowMesh.js.map +1 -0
- package/dist/weather/shaders/cloud.d.ts +37 -0
- package/dist/weather/shaders/cloud.js +38 -0
- package/dist/weather/shaders/cloud.js.map +1 -0
- package/dist/weather/shaders/fog.d.ts +16 -0
- package/dist/weather/shaders/fog.js +17 -0
- package/dist/weather/shaders/fog.js.map +1 -0
- package/dist/weather/shaders/sky.d.ts +6 -0
- package/dist/weather/shaders/sky.js +7 -0
- package/dist/weather/shaders/sky.js.map +1 -0
- package/dist/weather/shaders/snow.d.ts +28 -0
- package/dist/weather/shaders/snow.js +33 -0
- package/dist/weather/shaders/snow.js.map +1 -0
- package/dist/weather/utils/constant.d.ts +38 -0
- package/dist/weather/utils/constant.js +25 -0
- package/dist/weather/utils/constant.js.map +1 -0
- package/dist/weather/utils/type.d.ts +11 -0
- package/dist/weather/utils/type.js +23 -0
- package/dist/weather/utils/type.js.map +1 -0
- package/package.json +3 -3
- package/dist/weather/fog2DMesh.js.map +0 -1
- package/dist/weather/glsl/fog.d.ts +0 -2
- package/dist/weather/glsl/fog.js +0 -3
- package/dist/weather/glsl/fog.js.map +0 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
var CloudShader = {
|
|
2
|
+
uniforms: {
|
|
3
|
+
texture1: {
|
|
4
|
+
value: null
|
|
5
|
+
},
|
|
6
|
+
texture2: {
|
|
7
|
+
value: null
|
|
8
|
+
},
|
|
9
|
+
iTime: {
|
|
10
|
+
value: 0
|
|
11
|
+
},
|
|
12
|
+
cloudDensity: {
|
|
13
|
+
value: 0.01
|
|
14
|
+
},
|
|
15
|
+
cloudDensity2: {
|
|
16
|
+
value: 1
|
|
17
|
+
},
|
|
18
|
+
cloudalpha: {
|
|
19
|
+
value: 1
|
|
20
|
+
},
|
|
21
|
+
cloudscale: {
|
|
22
|
+
value: 8.0
|
|
23
|
+
},
|
|
24
|
+
speed: {
|
|
25
|
+
value: 0.3
|
|
26
|
+
},
|
|
27
|
+
color: {
|
|
28
|
+
value: [0.9, 0.9, 0.9]
|
|
29
|
+
},
|
|
30
|
+
flash: {
|
|
31
|
+
value: 0.0
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
vertexShader: "varying highp vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }",
|
|
35
|
+
fragmentShader: "uniform float iTime;\n uniform float cloudDensity;\n uniform float cloudDensity2;\n uniform float cloudalpha;\n uniform float cloudscale;\n uniform float speed;\n uniform float flash;\n // float log;\n uniform vec3 color;\n \n uniform sampler2D texture1;\n uniform sampler2D texture2;\n uniform sampler2D BackTex1;\n \n varying highp vec2 vUv;\n \n vec3 colorfix(vec3 color) {\n return vec3(color.r * 0.1, color.g * 0.1, color.b * 0.1);//0.00392\n }\n // -----------------------------------------------\n float distanceTo(vec2 src, vec2 dst) {\n float dx = src.x - dst.x;\n float dy = src.y - dst.y;\n float dv = dx * dx + dy * dy;\n return sqrt(dv);\n }\n float Zsin(float x) {\n float y = abs(fract(x * 0.3) - 0.5) * 2.;\n return y;\n }\n // -----------------------------------------------\n \n // -----------------------------------------------\n \n void mainImage(out vec4 fragColor, in vec2 fragCoord) {\n vec2 uv = vUv;\n uv -= vec2(.5);\n vec2 uvR = mat2(cos(iTime * speed), -sin(iTime * speed), sin(iTime * speed), cos(iTime * speed)) * uv;///\u65CB\u8F6C\u77E9\u9635\n // vec2 uvR= vUv;\n vec2 uvR_m = mat2(cos(iTime * 0.8 * speed), -sin(iTime * 0.8 * speed), sin(iTime * 0.8 * speed), cos(iTime * 0.8 * speed)) * uv;///\u65CB\u8F6C\u77E9\u9635\n uvR *= (sin(iTime) * 0.2 + 1.);\n vec3 T1 = texture(texture1, uvR_m * cloudscale).rgb;\n vec3 T2 = texture(texture2, uvR * cloudscale * 0.2).rgb;\n vec3 T1base = vec3(pow(T1.x, cloudDensity) * 10.);\n vec3 T2noise = vec3(pow(T2.x, cloudDensity));\n vec3 T2noiseS = vec3(pow(T2.x, 5.)) * vec3(0.1, 0.5, 0.8) * clamp((Zsin(iTime * 50.) * 100. - 99.), 0., 1.) * flash; \n float sphere = pow(distanceTo(vec2(0.5, 0.5), vUv), 9.) * 1000.;/////\u753B\u5706\u57082\n \n fragColor = vec4(T1base * T2noise * colorfix(color) + T2noiseS, pow(T1.x, cloudalpha) * cloudDensity2 * pow(T2.x, cloudalpha) - sphere);\n \n }\n \n void main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n }"
|
|
36
|
+
};
|
|
37
|
+
export default CloudShader;
|
|
38
|
+
//# sourceMappingURL=cloud.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CloudShader","uniforms","texture1","value","texture2","iTime","cloudDensity","cloudDensity2","cloudalpha","cloudscale","speed","color","flash","vertexShader","fragmentShader"],"sources":["../../../src/weather/shaders/cloud.ts"],"sourcesContent":["const CloudShader = {\n uniforms: {\n texture1: { value: null },\n texture2: { value: null },\n iTime: { value: 0 },\n\n cloudDensity: { value: 0.01 },\n cloudDensity2: { value: 1 },\n cloudalpha: { value: 1 },\n cloudscale: { value: 8.0 },\n speed: { value: 0.3 },\n color: { value: [0.9, 0.9, 0.9] },\n flash: { value: 0.0 },\n },\n vertexShader: `varying highp vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }`,\n fragmentShader: `uniform float iTime;\n uniform float cloudDensity;\n uniform float cloudDensity2;\n uniform float cloudalpha;\n uniform float cloudscale;\n uniform float speed;\n uniform float flash;\n // float log;\n uniform vec3 color;\n \n uniform sampler2D texture1;\n uniform sampler2D texture2;\n uniform sampler2D BackTex1;\n \n varying highp vec2 vUv;\n \n vec3 colorfix(vec3 color) {\n return vec3(color.r * 0.1, color.g * 0.1, color.b * 0.1);//0.00392\n }\n // -----------------------------------------------\n float distanceTo(vec2 src, vec2 dst) {\n float dx = src.x - dst.x;\n float dy = src.y - dst.y;\n float dv = dx * dx + dy * dy;\n return sqrt(dv);\n }\n float Zsin(float x) {\n float y = abs(fract(x * 0.3) - 0.5) * 2.;\n return y;\n }\n // -----------------------------------------------\n \n // -----------------------------------------------\n \n void mainImage(out vec4 fragColor, in vec2 fragCoord) {\n vec2 uv = vUv;\n uv -= vec2(.5);\n vec2 uvR = mat2(cos(iTime * speed), -sin(iTime * speed), sin(iTime * speed), cos(iTime * speed)) * uv;///旋转矩阵\n // vec2 uvR= vUv;\n vec2 uvR_m = mat2(cos(iTime * 0.8 * speed), -sin(iTime * 0.8 * speed), sin(iTime * 0.8 * speed), cos(iTime * 0.8 * speed)) * uv;///旋转矩阵\n uvR *= (sin(iTime) * 0.2 + 1.);\n vec3 T1 = texture(texture1, uvR_m * cloudscale).rgb;\n vec3 T2 = texture(texture2, uvR * cloudscale * 0.2).rgb;\n vec3 T1base = vec3(pow(T1.x, cloudDensity) * 10.);\n vec3 T2noise = vec3(pow(T2.x, cloudDensity));\n vec3 T2noiseS = vec3(pow(T2.x, 5.)) * vec3(0.1, 0.5, 0.8) * clamp((Zsin(iTime * 50.) * 100. - 99.), 0., 1.) * flash; \n float sphere = pow(distanceTo(vec2(0.5, 0.5), vUv), 9.) * 1000.;/////画圆圈2\n \n fragColor = vec4(T1base * T2noise * colorfix(color) + T2noiseS, pow(T1.x, cloudalpha) * cloudDensity2 * pow(T2.x, cloudalpha) - sphere);\n \n }\n \n void main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n }`,\n}\n\nexport default CloudShader"],"mappings":"AAAA,IAAMA,WAAW,GAAG;EAClBC,QAAQ,EAAE;IACRC,QAAQ,EAAE;MAAEC,KAAK,EAAE;IAAK,CAAC;IACzBC,QAAQ,EAAE;MAAED,KAAK,EAAE;IAAK,CAAC;IACzBE,KAAK,EAAE;MAAEF,KAAK,EAAE;IAAE,CAAC;IAEnBG,YAAY,EAAE;MAAEH,KAAK,EAAE;IAAK,CAAC;IAC7BI,aAAa,EAAE;MAAEJ,KAAK,EAAE;IAAE,CAAC;IAC3BK,UAAU,EAAE;MAAEL,KAAK,EAAE;IAAE,CAAC;IACxBM,UAAU,EAAE;MAAEN,KAAK,EAAE;IAAI,CAAC;IAC1BO,KAAK,EAAE;MAAEP,KAAK,EAAE;IAAI,CAAC;IACrBQ,KAAK,EAAE;MAAER,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IAAE,CAAC;IACjCS,KAAK,EAAE;MAAET,KAAK,EAAE;IAAI;EACtB,CAAC;EACDU,YAAY,yJAIR;EACJC,cAAc;AAwDhB,CAAC;AAED,eAAed,WAAW"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var FogShader = {
|
|
2
|
+
uniforms: {
|
|
3
|
+
iTime: {
|
|
4
|
+
value: 0
|
|
5
|
+
},
|
|
6
|
+
fogcolor: {
|
|
7
|
+
value: [0.9, 0.9, 0.9]
|
|
8
|
+
},
|
|
9
|
+
alpha: {
|
|
10
|
+
value: 0.5
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
vertexShader: "varying highp vec2 vUv;\n void main() {\n vUv = uv;\n // gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n gl_Position = vec4(position, 1.0);\n }",
|
|
14
|
+
fragmentShader: "uniform vec3 fogcolor;\n uniform float iTime;\n uniform float alpha;\n \n varying highp vec2 vUv;\n \n float random(vec2 _st) {\n return fract(sin(dot(_st.xy, vec2(0.630, 0.710))) *\n 43759.329);\n }\n \n //\u67CF\u6797\u566A\u58F0\n float noise(vec2 _st) {\n vec2 i = floor(_st);\n vec2 f = fract(_st);\n \n float a = random(i);\n float b = random(i + vec2(1.0, 0.0));\n float c = random(i + vec2(0.0, 1.0));\n float d = random(i + vec2(1.0, 1.0));\n \n vec2 u = f * f * (3.0 - 2.0 * f);\n \n return mix(a, b, u.x) +\n (c - a) * u.y * (1.0 - u.x) +\n (d - b) * u.x * u.y;\n }\n \n #define NUM_OCTAVES 6\n \n //\u5E03\u6717\u5206\u5F62\n float fbm(vec2 _st) {\n float v = 0.0;\n float a = 0.5;\n vec2 shift = vec2(100.0, 100.0);\n mat2 rot = mat2(cos(0.5), sin(0.5), -sin(0.5), cos(0.50));\n \n for(int i = 0; i < NUM_OCTAVES; ++i) {\n v += a * noise(_st);\n //_st = mul(_st, rot) * 2.0 + shift;\n _st = _st * rot * 2.0 + shift;\n a *= 0.5;\n }\n return v;\n }\n \n vec3 FilterColor(vec3 color1, vec3 color2) {\n //\u6EE4\u8272\n return 1.0 - (1.0 - color1) * (1.0 - color2);\n }\n \n // -----------------------------------------------\u95EA\u7535\n \n void mainImage(out vec4 fragColor, in vec2 fragCoord) {\n vec2 uv = vUv;\n vec3 backcolor = vec3(0.);\n \n uv.y = 1.0 - uv.y;\n \n vec2 st = uv * 10.0;\n \n st.x += iTime * 0.1;\n st.y -= iTime * 0.2;\n \n vec3 color;\n vec2 q;\n \n q.x = fbm(st + 0.00 * iTime * 5.0);\n q.y = fbm(st + vec2(1.0, 1.0));\n \n vec2 r;\n r.x = fbm(st + 1.0 * q + vec2(1.7, 9.2) + 0.15 * iTime * 5.0);\n r.y = fbm(st + 1.0 * q + vec2(8.3, 2.8) + 0.126 * iTime * 5.0);\n \n float f = fbm(st + r);\n \n color = mix(vec3(1.0, 1.0, 1.0), vec3(1.0, 1.0, 1.0), clamp((f * f) * 4.0, 0.0, 1.0));\n color = mix(color, vec3(1.0, 1.0, 1.0), clamp(length(q), 0.0, 1.0));\n color = mix(color, vec3(1.0, 1.0, 1.0), clamp(length(r.x), 0.0, 1.0));\n vec3 cloud = vec3((f * f * f + 0.3 * f * f + 0.5 * f) * color);\n \n fragColor = vec4(FilterColor(cloud * fogcolor, backcolor), alpha);\n \n }\n \n void main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n }"
|
|
15
|
+
};
|
|
16
|
+
export default FogShader;
|
|
17
|
+
//# sourceMappingURL=fog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FogShader","uniforms","iTime","value","fogcolor","alpha","vertexShader","fragmentShader"],"sources":["../../../src/weather/shaders/fog.ts"],"sourcesContent":["const FogShader = {\n uniforms: {\n iTime: { value: 0 },\n fogcolor: { value: [0.9, 0.9, 0.9] },\n alpha: { value: 0.5 },\n },\n vertexShader: `varying highp vec2 vUv;\n void main() {\n vUv = uv;\n // gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n gl_Position = vec4(position, 1.0);\n }`,\n fragmentShader: `uniform vec3 fogcolor;\n uniform float iTime;\n uniform float alpha;\n \n varying highp vec2 vUv;\n \n float random(vec2 _st) {\n return fract(sin(dot(_st.xy, vec2(0.630, 0.710))) *\n 43759.329);\n }\n \n //柏林噪声\n float noise(vec2 _st) {\n vec2 i = floor(_st);\n vec2 f = fract(_st);\n \n float a = random(i);\n float b = random(i + vec2(1.0, 0.0));\n float c = random(i + vec2(0.0, 1.0));\n float d = random(i + vec2(1.0, 1.0));\n \n vec2 u = f * f * (3.0 - 2.0 * f);\n \n return mix(a, b, u.x) +\n (c - a) * u.y * (1.0 - u.x) +\n (d - b) * u.x * u.y;\n }\n \n #define NUM_OCTAVES 6\n \n //布朗分形\n float fbm(vec2 _st) {\n float v = 0.0;\n float a = 0.5;\n vec2 shift = vec2(100.0, 100.0);\n mat2 rot = mat2(cos(0.5), sin(0.5), -sin(0.5), cos(0.50));\n \n for(int i = 0; i < NUM_OCTAVES; ++i) {\n v += a * noise(_st);\n //_st = mul(_st, rot) * 2.0 + shift;\n _st = _st * rot * 2.0 + shift;\n a *= 0.5;\n }\n return v;\n }\n \n vec3 FilterColor(vec3 color1, vec3 color2) {\n //滤色\n return 1.0 - (1.0 - color1) * (1.0 - color2);\n }\n \n // -----------------------------------------------闪电\n \n void mainImage(out vec4 fragColor, in vec2 fragCoord) {\n vec2 uv = vUv;\n vec3 backcolor = vec3(0.);\n \n uv.y = 1.0 - uv.y;\n \n vec2 st = uv * 10.0;\n \n st.x += iTime * 0.1;\n st.y -= iTime * 0.2;\n \n vec3 color;\n vec2 q;\n \n q.x = fbm(st + 0.00 * iTime * 5.0);\n q.y = fbm(st + vec2(1.0, 1.0));\n \n vec2 r;\n r.x = fbm(st + 1.0 * q + vec2(1.7, 9.2) + 0.15 * iTime * 5.0);\n r.y = fbm(st + 1.0 * q + vec2(8.3, 2.8) + 0.126 * iTime * 5.0);\n \n float f = fbm(st + r);\n \n color = mix(vec3(1.0, 1.0, 1.0), vec3(1.0, 1.0, 1.0), clamp((f * f) * 4.0, 0.0, 1.0));\n color = mix(color, vec3(1.0, 1.0, 1.0), clamp(length(q), 0.0, 1.0));\n color = mix(color, vec3(1.0, 1.0, 1.0), clamp(length(r.x), 0.0, 1.0));\n vec3 cloud = vec3((f * f * f + 0.3 * f * f + 0.5 * f) * color);\n \n fragColor = vec4(FilterColor(cloud * fogcolor, backcolor), alpha);\n \n }\n \n void main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n }`,\n}\n\nexport default FogShader"],"mappings":"AAAA,IAAMA,SAAS,GAAG;EAChBC,QAAQ,EAAE;IACRC,KAAK,EAAE;MAAEC,KAAK,EAAE;IAAE,CAAC;IACnBC,QAAQ,EAAE;MAAED,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IAAE,CAAC;IACpCE,KAAK,EAAE;MAAEF,KAAK,EAAE;IAAI;EACtB,CAAC;EACDG,YAAY,wMAKR;EACJC,cAAc;AAyFhB,CAAC;AAED,eAAeP,SAAS"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
var SkyShader = {
|
|
2
|
+
uniforms: {},
|
|
3
|
+
vertexShader: "varying highp vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }",
|
|
4
|
+
fragmentShader: "varying vec2 vUv;\n float distanceTo(vec2 src, vec2 dst) {\n float dx = src.x - dst.x;\n float dy = src.y - dst.y;\n float dv = dx * dx + dy * dy;\n return sqrt(dv);\n }\n void mainImage(out vec4 fragColor, in vec2 fragCoord) {\n vec4 skyColor1 = vec4(.086, .298, .458, 1.);///2d5a7c,.176,.352,.486,,164c75\n vec4 skyColor2 = vec4(.711, .849, .903, 1.);///9cbfcd,.611,.749,.803\n \n float sphere1 = pow(distanceTo(vec2(0.5, 0.5), vUv), 1.) * 2.;\n \n fragColor = skyColor1;\n fragColor = mix(skyColor1, skyColor2, sphere1);\n \n }\n \n void main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n }"
|
|
5
|
+
};
|
|
6
|
+
export default SkyShader;
|
|
7
|
+
//# sourceMappingURL=sky.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SkyShader","uniforms","vertexShader","fragmentShader"],"sources":["../../../src/weather/shaders/sky.ts"],"sourcesContent":["const SkyShader = {\n uniforms: {},\n vertexShader: `varying highp vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }`,\n fragmentShader: `varying vec2 vUv;\n float distanceTo(vec2 src, vec2 dst) {\n float dx = src.x - dst.x;\n float dy = src.y - dst.y;\n float dv = dx * dx + dy * dy;\n return sqrt(dv);\n }\n void mainImage(out vec4 fragColor, in vec2 fragCoord) {\n vec4 skyColor1 = vec4(.086, .298, .458, 1.);///2d5a7c,.176,.352,.486,,164c75\n vec4 skyColor2 = vec4(.711, .849, .903, 1.);///9cbfcd,.611,.749,.803\n \n float sphere1 = pow(distanceTo(vec2(0.5, 0.5), vUv), 1.) * 2.;\n \n fragColor = skyColor1;\n fragColor = mix(skyColor1, skyColor2, sphere1);\n \n }\n \n void main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n }`,\n}\n\nexport default SkyShader"],"mappings":"AAAA,IAAMA,SAAS,GAAG;EAChBC,QAAQ,EAAE,CAAC,CAAC;EACZC,YAAY,iJAIV;EACFC,cAAc;AAsBhB,CAAC;AAED,eAAeH,SAAS"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
declare const snowShader: {
|
|
2
|
+
uniforms: {
|
|
3
|
+
tDiffuse: {
|
|
4
|
+
value: null;
|
|
5
|
+
};
|
|
6
|
+
iResolution: {
|
|
7
|
+
value: null;
|
|
8
|
+
};
|
|
9
|
+
iTime: {
|
|
10
|
+
value: number;
|
|
11
|
+
};
|
|
12
|
+
size: {
|
|
13
|
+
value: number;
|
|
14
|
+
};
|
|
15
|
+
density: {
|
|
16
|
+
value: number;
|
|
17
|
+
};
|
|
18
|
+
snowSpeed: {
|
|
19
|
+
value: number;
|
|
20
|
+
};
|
|
21
|
+
camVert: {
|
|
22
|
+
value: number;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
vertexShader: string;
|
|
26
|
+
fragmentShader: string;
|
|
27
|
+
};
|
|
28
|
+
export default snowShader;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// source from https://www.shadertoy.com/view/wt3GWH
|
|
2
|
+
var snowShader = {
|
|
3
|
+
uniforms: {
|
|
4
|
+
tDiffuse: {
|
|
5
|
+
value: null
|
|
6
|
+
},
|
|
7
|
+
iResolution: {
|
|
8
|
+
value: null
|
|
9
|
+
},
|
|
10
|
+
iTime: {
|
|
11
|
+
value: 0
|
|
12
|
+
},
|
|
13
|
+
size: {
|
|
14
|
+
value: 0.032
|
|
15
|
+
},
|
|
16
|
+
// 0.05
|
|
17
|
+
density: {
|
|
18
|
+
value: 1.0
|
|
19
|
+
},
|
|
20
|
+
// 1.0
|
|
21
|
+
snowSpeed: {
|
|
22
|
+
value: 0.1
|
|
23
|
+
},
|
|
24
|
+
// 1.0
|
|
25
|
+
camVert: {
|
|
26
|
+
value: 1.0
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
vertexShader: /* glsl */"\n varying highp vec2 vUv;\n varying vec3 vPosition;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n }",
|
|
30
|
+
fragmentShader: /* glsl */"\n #define PI 3.14159265359\n uniform sampler2D tDiffuse;\n uniform vec2 iResolution;\n uniform float iTime;\n uniform float size;\n uniform float density;\n uniform float snowSpeed;\n uniform float camVert;\n varying highp vec2 vUv;\n\n float ball(vec2 p) {\n float d = distance(vec2(.5), p);\n return smoothstep(size,size - .05, d);\n }\n float N11(float n) {\n return fract(sin(n * 871.213) * 3134.422);\n }\n float N21(vec2 uv) {\n return N11(N11(uv.x) + uv.y);\n }\n \n float snow(vec2 uv, float t) {\n vec2 org_uv = vec2(uv.x, uv.y);\n float z = 10.;\n uv.y += t * .5;\n vec2 gv = fract(uv*z);\n vec2 id = floor(uv*z); \n gv.x += (sin(N21(id) * 128. + t) * .4);\n gv.y += (sin(N11(N21(id)) * 128. + t) * .4);\n float dots = ball(gv);\n return dots;\n }\n void main(){\n vec3 col=texture(tDiffuse,vUv).rgb;\n vec2 uv= vUv;\n float t = iTime * .3*snowSpeed;\n vec2 gh_uv = uv;\n vec3 colSnow = vec3(0.);\n float m = 0.;\n \n for(float i =0.; i <= .5; i += 1. / (5.*density)) {\n float z = mix(1., .5 , i);\n vec2 offset = vec2(N11(i), N11(N11(i)));\n m += snow((uv + offset) * z, t) * .3;\n }\n \n\n colSnow = vec3(m)*1.2;\n gl_FragColor = vec4(colSnow,colSnow.x);\n }"
|
|
31
|
+
};
|
|
32
|
+
export default snowShader;
|
|
33
|
+
//# sourceMappingURL=snow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["snowShader","uniforms","tDiffuse","value","iResolution","iTime","size","density","snowSpeed","camVert","vertexShader","fragmentShader"],"sources":["../../../src/weather/shaders/snow.ts"],"sourcesContent":["// source from https://www.shadertoy.com/view/wt3GWH\nconst snowShader = {\n uniforms: {\n tDiffuse: { value: null },\n iResolution: { value: null },\n iTime: { value: 0 },\n size: { value: 0.032 }, // 0.05\n density: { value: 1.0 }, // 1.0\n snowSpeed: { value: 0.1 }, // 1.0\n camVert: { value: 1.0 },\n },\n\n vertexShader: /* glsl */`\n varying highp vec2 vUv;\n varying vec3 vPosition;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n }`,\n\n fragmentShader: /* glsl */`\n #define PI 3.14159265359\n uniform sampler2D tDiffuse;\n uniform vec2 iResolution;\n uniform float iTime;\n uniform float size;\n uniform float density;\n uniform float snowSpeed;\n uniform float camVert;\n varying highp vec2 vUv;\n\n float ball(vec2 p) {\n float d = distance(vec2(.5), p);\n return smoothstep(size,size - .05, d);\n }\n float N11(float n) {\n return fract(sin(n * 871.213) * 3134.422);\n }\n float N21(vec2 uv) {\n return N11(N11(uv.x) + uv.y);\n }\n \n float snow(vec2 uv, float t) {\n vec2 org_uv = vec2(uv.x, uv.y);\n float z = 10.;\n uv.y += t * .5;\n vec2 gv = fract(uv*z);\n vec2 id = floor(uv*z); \n gv.x += (sin(N21(id) * 128. + t) * .4);\n gv.y += (sin(N11(N21(id)) * 128. + t) * .4);\n float dots = ball(gv);\n return dots;\n }\n void main(){\n vec3 col=texture(tDiffuse,vUv).rgb;\n vec2 uv= vUv;\n float t = iTime * .3*snowSpeed;\n vec2 gh_uv = uv;\n vec3 colSnow = vec3(0.);\n float m = 0.;\n \n for(float i =0.; i <= .5; i += 1. / (5.*density)) {\n float z = mix(1., .5 , i);\n vec2 offset = vec2(N11(i), N11(N11(i)));\n m += snow((uv + offset) * z, t) * .3;\n }\n \n\n colSnow = vec3(m)*1.2;\n gl_FragColor = vec4(colSnow,colSnow.x);\n }`,\n\n}\nexport default snowShader\n"],"mappings":"AAAA;AACA,IAAMA,UAAU,GAAG;EACjBC,QAAQ,EAAE;IACRC,QAAQ,EAAE;MAAEC,KAAK,EAAE;IAAK,CAAC;IACzBC,WAAW,EAAE;MAAED,KAAK,EAAE;IAAK,CAAC;IAC5BE,KAAK,EAAE;MAAEF,KAAK,EAAE;IAAE,CAAC;IACnBG,IAAI,EAAE;MAAEH,KAAK,EAAE;IAAM,CAAC;IAAE;IACxBI,OAAO,EAAE;MAAEJ,KAAK,EAAE;IAAI,CAAC;IAAE;IACzBK,SAAS,EAAE;MAAEL,KAAK,EAAE;IAAI,CAAC;IAAE;IAC3BM,OAAO,EAAE;MAAEN,KAAK,EAAE;IAAI;EACxB,CAAC;EAEDO,YAAY,EAAE,0OAMN;EAERC,cAAc,EAAE;AAoDlB,CAAC;AACD,eAAeX,UAAU"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { Texture } from '@anov/3d-core';
|
|
2
|
+
export declare const Rain_Icon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAOeSURBVHic7Zq9jxRlHMc/z8yz87K3nsCdmOMUuAMT9GJhYgyxk8IYG2sJMTQUUECBuU4aWhusoKUAEhttjH+AEopLLCxQCXLqeUi84y7L7t687lDMjsdL4Nh7npk1eeZbTZ7sfp9v9vns7/nNMyMYkRZu338ZYIeXzQEcnJ64Pooc1igm/T9JjmriA1Ot4wANS+wdDNUEjEJiVBP3gvi3PIDYAeB7cvcochhPQOU14Kc7a/sBfMd+AyAbjP++vLEPYHaP/0eVeWoCqp5wZtKbB8g2Fx+AiXH79ODybJV5jCeg8l0gTtIMQNqP//ZR0gfAbdiVZjKegMpqwHq7Mw9Pr3whR+bjK53oM4DJlnO5ilzGE1DZ/y2K0wigIa3G8z7XC9NFgDFPzlQQqyag9BrwoBudgq1XvlDTtfcD/PLX6kcAh16f+L60cNQElF8DekHcA/Bd6Q/zvW6Y3ARoeY23yshVyHgCSqsBq534LAy/8oXGXPtNgD9Xwk8A9k663+pLtynjCSitBoRx3vMXHd52tREm/wI0vUYpJ0bGE6C9Bqx1ogsAjrSK+30lynzHfgVgtROcAZhoeReUAj4h4wnQVgO++u6WC3Dyw9kAnn3Xt12l/RwoaVta61ZNgC6jdje4BNDynRMAQohSdpj1TnAeYOdL/jkdfjUBuoyeddanW0GUAOC7DS3ZjSdAuQ9YeRCdhPJXvpDn5JH/vt/7FGB6V/Oqil9NgKpBy7OO6AjyosqyvB/YOSY/HgzVBKhImQCBeFtHkBeeb9BeWMJ+T4dfTYAGjwMaPIaWEMzq8DGeAOVuKivK8oikes9hPAHKNaB4rq969jes4uKAQFE1AaoG/X52d3A5peo1jLJ+tqTDpyZA1UAI6+bgslIC+li/6vCpCVA1iNP0RwBH2h9AeWeBhYq+I4rjGzr8agJUDW4tta8BvHNw1xfqcbaWEHn3ut5LvtHhZzwB2v6v3SBZBGi69j5dno+qaPuCKF3O55HTOnyNJ0Db0+G1bvQ5QNP1vs5H9G4GYsDASntD69vkxhOgfc/uhfF1AK8hD8Nm1d6uin0/iPs3AJqufF8146MyngDtb4icurJ0BODi0ddWAVznv7fEhiUh7/iStJv7/lDK8wfjCSitb19Y7E4BzE27CwCetIu7xa3mzAA2wmQZ4M7d8F2AuZnWP2XkrAmoaqJ77XAeYNyVxwCkzWNPlJKUnwHaYXwZ4NVx78sqchlPwENsoeFfLBJUzgAAAABJRU5ErkJggg==";
|
|
3
|
+
export declare const Snow_Icon = "data:image/png;base64,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";
|
|
4
|
+
declare type vector3Array = [number, number, number];
|
|
5
|
+
export interface ISnowOption {
|
|
6
|
+
range?: number;
|
|
7
|
+
count?: number;
|
|
8
|
+
opacity?: number;
|
|
9
|
+
icon?: string;
|
|
10
|
+
size?: number;
|
|
11
|
+
speed?: vector3Array;
|
|
12
|
+
}
|
|
13
|
+
export interface IFogOption {
|
|
14
|
+
fogcolor?: vector3Array;
|
|
15
|
+
alpha?: number;
|
|
16
|
+
speed?: number;
|
|
17
|
+
iTime?: number;
|
|
18
|
+
}
|
|
19
|
+
export interface ICloudOption {
|
|
20
|
+
texture1?: Texture;
|
|
21
|
+
texture2?: Texture;
|
|
22
|
+
duration?: number;
|
|
23
|
+
cloudDensity?: number;
|
|
24
|
+
cloudDensity2?: number;
|
|
25
|
+
cloudalpha?: number;
|
|
26
|
+
cloudscale?: number;
|
|
27
|
+
speed?: number;
|
|
28
|
+
color?: vector3Array;
|
|
29
|
+
flash?: number;
|
|
30
|
+
iTime?: number;
|
|
31
|
+
}
|
|
32
|
+
export declare const CloudDensity: {
|
|
33
|
+
[x: string]: {
|
|
34
|
+
cloudDensity: number;
|
|
35
|
+
cloudDensity2: number;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
var _CloudDensity;
|
|
2
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
3
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
5
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
6
|
+
import { EWeatherType } from "./type";
|
|
7
|
+
export var Rain_Icon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAOeSURBVHic7Zq9jxRlHMc/z8yz87K3nsCdmOMUuAMT9GJhYgyxk8IYG2sJMTQUUECBuU4aWhusoKUAEhttjH+AEopLLCxQCXLqeUi84y7L7t687lDMjsdL4Nh7npk1eeZbTZ7sfp9v9vns7/nNMyMYkRZu338ZYIeXzQEcnJ64Pooc1igm/T9JjmriA1Ot4wANS+wdDNUEjEJiVBP3gvi3PIDYAeB7cvcochhPQOU14Kc7a/sBfMd+AyAbjP++vLEPYHaP/0eVeWoCqp5wZtKbB8g2Fx+AiXH79ODybJV5jCeg8l0gTtIMQNqP//ZR0gfAbdiVZjKegMpqwHq7Mw9Pr3whR+bjK53oM4DJlnO5ilzGE1DZ/y2K0wigIa3G8z7XC9NFgDFPzlQQqyag9BrwoBudgq1XvlDTtfcD/PLX6kcAh16f+L60cNQElF8DekHcA/Bd6Q/zvW6Y3ARoeY23yshVyHgCSqsBq534LAy/8oXGXPtNgD9Xwk8A9k663+pLtynjCSitBoRx3vMXHd52tREm/wI0vUYpJ0bGE6C9Bqx1ogsAjrSK+30lynzHfgVgtROcAZhoeReUAj4h4wnQVgO++u6WC3Dyw9kAnn3Xt12l/RwoaVta61ZNgC6jdje4BNDynRMAQohSdpj1TnAeYOdL/jkdfjUBuoyeddanW0GUAOC7DS3ZjSdAuQ9YeRCdhPJXvpDn5JH/vt/7FGB6V/Oqil9NgKpBy7OO6AjyosqyvB/YOSY/HgzVBKhImQCBeFtHkBeeb9BeWMJ+T4dfTYAGjwMaPIaWEMzq8DGeAOVuKivK8oikes9hPAHKNaB4rq969jes4uKAQFE1AaoG/X52d3A5peo1jLJ+tqTDpyZA1UAI6+bgslIC+li/6vCpCVA1iNP0RwBH2h9AeWeBhYq+I4rjGzr8agJUDW4tta8BvHNw1xfqcbaWEHn3ut5LvtHhZzwB2v6v3SBZBGi69j5dno+qaPuCKF3O55HTOnyNJ0Db0+G1bvQ5QNP1vs5H9G4GYsDASntD69vkxhOgfc/uhfF1AK8hD8Nm1d6uin0/iPs3AJqufF8146MyngDtb4icurJ0BODi0ddWAVznv7fEhiUh7/iStJv7/lDK8wfjCSitb19Y7E4BzE27CwCetIu7xa3mzAA2wmQZ4M7d8F2AuZnWP2XkrAmoaqJ77XAeYNyVxwCkzWNPlJKUnwHaYXwZ4NVx78sqchlPwENsoeFfLBJUzgAAAABJRU5ErkJggg==';
|
|
8
|
+
export var Snow_Icon = 'data:image/png;base64,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';
|
|
9
|
+
export var CloudDensity = (_CloudDensity = {}, _defineProperty(_CloudDensity, EWeatherType.Clear_Skies, {
|
|
10
|
+
cloudDensity: 0.05,
|
|
11
|
+
cloudDensity2: 2.0
|
|
12
|
+
}), _defineProperty(_CloudDensity, EWeatherType.Cloudy, {
|
|
13
|
+
cloudDensity: 0.02,
|
|
14
|
+
cloudDensity2: 1.6
|
|
15
|
+
}), _defineProperty(_CloudDensity, EWeatherType.Overcast, {
|
|
16
|
+
cloudDensity: 1.93,
|
|
17
|
+
cloudDensity2: 2.2
|
|
18
|
+
}), _defineProperty(_CloudDensity, EWeatherType.Sand_Dust_Calm, {
|
|
19
|
+
cloudDensity: 2.11,
|
|
20
|
+
cloudDensity2: 2.0
|
|
21
|
+
}), _defineProperty(_CloudDensity, EWeatherType.Foggy, {
|
|
22
|
+
cloudDensity: 0.01,
|
|
23
|
+
cloudDensity2: 2.0
|
|
24
|
+
}), _CloudDensity);
|
|
25
|
+
//# sourceMappingURL=constant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["EWeatherType","Rain_Icon","Snow_Icon","CloudDensity","Clear_Skies","cloudDensity","cloudDensity2","Cloudy","Overcast","Sand_Dust_Calm","Foggy"],"sources":["../../../src/weather/utils/constant.ts"],"sourcesContent":["import type { Texture } from '@anov/3d-core'\nimport { EWeatherType } from './type'\n\nexport const Rain_Icon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAOeSURBVHic7Zq9jxRlHMc/z8yz87K3nsCdmOMUuAMT9GJhYgyxk8IYG2sJMTQUUECBuU4aWhusoKUAEhttjH+AEopLLCxQCXLqeUi84y7L7t687lDMjsdL4Nh7npk1eeZbTZ7sfp9v9vns7/nNMyMYkRZu338ZYIeXzQEcnJ64Pooc1igm/T9JjmriA1Ot4wANS+wdDNUEjEJiVBP3gvi3PIDYAeB7cvcochhPQOU14Kc7a/sBfMd+AyAbjP++vLEPYHaP/0eVeWoCqp5wZtKbB8g2Fx+AiXH79ODybJV5jCeg8l0gTtIMQNqP//ZR0gfAbdiVZjKegMpqwHq7Mw9Pr3whR+bjK53oM4DJlnO5ilzGE1DZ/y2K0wigIa3G8z7XC9NFgDFPzlQQqyag9BrwoBudgq1XvlDTtfcD/PLX6kcAh16f+L60cNQElF8DekHcA/Bd6Q/zvW6Y3ARoeY23yshVyHgCSqsBq534LAy/8oXGXPtNgD9Xwk8A9k663+pLtynjCSitBoRx3vMXHd52tREm/wI0vUYpJ0bGE6C9Bqx1ogsAjrSK+30lynzHfgVgtROcAZhoeReUAj4h4wnQVgO++u6WC3Dyw9kAnn3Xt12l/RwoaVta61ZNgC6jdje4BNDynRMAQohSdpj1TnAeYOdL/jkdfjUBuoyeddanW0GUAOC7DS3ZjSdAuQ9YeRCdhPJXvpDn5JH/vt/7FGB6V/Oqil9NgKpBy7OO6AjyosqyvB/YOSY/HgzVBKhImQCBeFtHkBeeb9BeWMJ+T4dfTYAGjwMaPIaWEMzq8DGeAOVuKivK8oikes9hPAHKNaB4rq969jes4uKAQFE1AaoG/X52d3A5peo1jLJ+tqTDpyZA1UAI6+bgslIC+li/6vCpCVA1iNP0RwBH2h9AeWeBhYq+I4rjGzr8agJUDW4tta8BvHNw1xfqcbaWEHn3ut5LvtHhZzwB2v6v3SBZBGi69j5dno+qaPuCKF3O55HTOnyNJ0Db0+G1bvQ5QNP1vs5H9G4GYsDASntD69vkxhOgfc/uhfF1AK8hD8Nm1d6uin0/iPs3AJqufF8146MyngDtb4icurJ0BODi0ddWAVznv7fEhiUh7/iStJv7/lDK8wfjCSitb19Y7E4BzE27CwCetIu7xa3mzAA2wmQZ4M7d8F2AuZnWP2XkrAmoaqJ77XAeYNyVxwCkzWNPlJKUnwHaYXwZ4NVx78sqchlPwENsoeFfLBJUzgAAAABJRU5ErkJggg=='\nexport const Snow_Icon = 'data:image/png;base64,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'\n\ntype vector3Array = [number, number, number]\n\nexport interface ISnowOption {\n range?: number\n count?: number\n opacity?: number\n icon?: string\n size?: number\n speed?: vector3Array\n}\n\nexport interface IFogOption {\n fogcolor?: vector3Array\n alpha?: number\n speed?: number\n iTime?: number\n}\n\nexport interface ICloudOption {\n texture1?: Texture\n texture2?: Texture\n duration?: number\n cloudDensity?: number\n cloudDensity2?: number\n cloudalpha?: number\n cloudscale?: number\n speed?: number\n color?: vector3Array\n flash?: number\n iTime?: number\n}\n\nexport const CloudDensity = {\n [EWeatherType.Clear_Skies]: {\n cloudDensity: 0.05,\n cloudDensity2: 2.0,\n },\n [EWeatherType.Cloudy]: {\n cloudDensity: 0.02,\n cloudDensity2: 1.6,\n },\n [EWeatherType.Overcast]: {\n cloudDensity: 1.93,\n cloudDensity2: 2.2,\n },\n [EWeatherType.Sand_Dust_Calm]: {\n cloudDensity: 2.11,\n cloudDensity2: 2.0,\n },\n [EWeatherType.Foggy]: {\n cloudDensity: 0.01,\n cloudDensity2: 2.0,\n },\n}"],"mappings":";;;;;AACA,SAASA,YAAY;AAErB,OAAO,IAAMC,SAAS,GAAG,g2CAAg2C;AACz3C,OAAO,IAAMC,SAAS,GAAG,4xKAA4xK;AAkCrzK,OAAO,IAAMC,YAAY,uDACtBH,YAAY,CAACI,WAAW,EAAG;EAC1BC,YAAY,EAAE,IAAI;EAClBC,aAAa,EAAE;AACjB,CAAC,kCACAN,YAAY,CAACO,MAAM,EAAG;EACrBF,YAAY,EAAE,IAAI;EAClBC,aAAa,EAAE;AACjB,CAAC,kCACAN,YAAY,CAACQ,QAAQ,EAAG;EACvBH,YAAY,EAAE,IAAI;EAClBC,aAAa,EAAE;AACjB,CAAC,kCACAN,YAAY,CAACS,cAAc,EAAG;EAC7BJ,YAAY,EAAE,IAAI;EAClBC,aAAa,EAAE;AACjB,CAAC,kCACAN,YAAY,CAACU,KAAK,EAAG;EACpBL,YAAY,EAAE,IAAI;EAClBC,aAAa,EAAE;AACjB,CAAC,iBACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export var EWeatherType = {
|
|
2
|
+
Clear_Skies: 'Clear_Skies',
|
|
3
|
+
// 晴天
|
|
4
|
+
Cloudy: 'Cloudy',
|
|
5
|
+
// 多云
|
|
6
|
+
Foggy: 'Foggy',
|
|
7
|
+
// 有雾
|
|
8
|
+
Overcast: 'Overcast',
|
|
9
|
+
// 阴天
|
|
10
|
+
Rain: 'Rain',
|
|
11
|
+
// 雨
|
|
12
|
+
// Rain_Light: 'Rain_Light', // 小雨
|
|
13
|
+
Rain_Thunderstorm: 'Rain_Thunderstorm',
|
|
14
|
+
// 强雷阵雨
|
|
15
|
+
Sand_Dust_Calm: 'Sand_Dust_Calm',
|
|
16
|
+
// 沙尘暴
|
|
17
|
+
// Sand_Dust_Storm: 'Sand_Dust_Storm', // 强沙尘暴
|
|
18
|
+
Snow: 'Snow',
|
|
19
|
+
// 下雪
|
|
20
|
+
Snow_Blizzard: 'Snow_Blizzard' // 暴雪
|
|
21
|
+
// Snow_Light: 'Snow_Light', // 小雪
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["EWeatherType","Clear_Skies","Cloudy","Foggy","Overcast","Rain","Rain_Thunderstorm","Sand_Dust_Calm","Snow","Snow_Blizzard"],"sources":["../../../src/weather/utils/type.ts"],"sourcesContent":["export const EWeatherType = {\n Clear_Skies: 'Clear_Skies', // 晴天\n Cloudy: 'Cloudy', // 多云\n Foggy: 'Foggy', // 有雾\n Overcast: 'Overcast', // 阴天\n Rain: 'Rain', // 雨\n // Rain_Light: 'Rain_Light', // 小雨\n Rain_Thunderstorm: 'Rain_Thunderstorm', // 强雷阵雨\n Sand_Dust_Calm: 'Sand_Dust_Calm', // 沙尘暴\n // Sand_Dust_Storm: 'Sand_Dust_Storm', // 强沙尘暴\n Snow: 'Snow', // 下雪\n Snow_Blizzard: 'Snow_Blizzard', // 暴雪\n // Snow_Light: 'Snow_Light', // 小雪\n}"],"mappings":"AAAA,OAAO,IAAMA,YAAY,GAAG;EAC1BC,WAAW,EAAE,aAAa;EAAE;EAC5BC,MAAM,EAAE,QAAQ;EAAE;EAClBC,KAAK,EAAE,OAAO;EAAE;EAChBC,QAAQ,EAAE,UAAU;EAAE;EACtBC,IAAI,EAAE,MAAM;EAAE;EACd;EACAC,iBAAiB,EAAE,mBAAmB;EAAE;EACxCC,cAAc,EAAE,gBAAgB;EAAE;EAClC;EACAC,IAAI,EAAE,MAAM;EAAE;EACdC,aAAa,EAAE,eAAe,CAAE;EAChC;AACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anov/3d-ability",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.14",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "MIT",
|
|
@@ -23,10 +23,10 @@
|
|
|
23
23
|
"suncalc": "^1.9.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@anov/3d-core": "^0.0.
|
|
26
|
+
"@anov/3d-core": "^0.0.13"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
29
|
-
"@anov/3d-core": "^0.0.
|
|
29
|
+
"@anov/3d-core": "^0.0.13"
|
|
30
30
|
},
|
|
31
31
|
"scripts": {
|
|
32
32
|
"build": "father build",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Mesh","PlaneGeometry","ShaderMaterial","use","frag","fragmentShader","vert","vertexShader","fog2dShaderPass","uniforms","iTime","value","fogcolor","alpha","Fog2DMesh","ops","geometry","color","speed","material","side","transparent","depthWrite","renderOrder","useframe"],"sources":["../../src/weather/fog2DMesh.ts"],"sourcesContent":["import { Mesh, PlaneGeometry, ShaderMaterial, use } from '@anov/3d-core'\nimport { frag as fragmentShader, vert as vertexShader } from './glsl/fog'\n\nconst fog2dShaderPass = {\n uniforms: {\n iTime: { value: 0 },\n fogcolor: { value: [0.9, 0.9, 0.9] },\n alpha: { value: 0.5 },\n },\n\n vertexShader,\n fragmentShader,\n}\n\ninterface Fog2DMeshOptions {\n color?: [number, number, number]\n alpha?: number\n speed?: number\n}\n\nclass Fog2DMesh extends Mesh {\n private speed = 0.01\n\n constructor(ops?: Fog2DMeshOptions) {\n super()\n this.geometry = new PlaneGeometry(10, 10)\n\n fog2dShaderPass.uniforms.fogcolor.value = ops?.color || [0.9, 0.9, 0.9]\n fog2dShaderPass.uniforms.alpha.value = ops?.alpha || 0.5\n this.speed = ops?.speed || 0.01\n\n this.material = new ShaderMaterial({\n uniforms: fog2dShaderPass.uniforms,\n vertexShader: fog2dShaderPass.vertexShader,\n fragmentShader: fog2dShaderPass.fragmentShader,\n side: 2,\n transparent: true,\n depthWrite: false,\n })\n this.renderOrder = 1\n\n use.useframe(() => {\n fog2dShaderPass.uniforms.iTime.value += this.speed\n })\n }\n\n setColor(color: [number, number, number]) {\n fog2dShaderPass.uniforms.fogcolor.value = color\n }\n\n setAlpha(alpha: number) {\n fog2dShaderPass.uniforms.alpha.value = alpha\n }\n\n setSpeed(speed: number) {\n this.speed = speed\n }\n}\n\nexport default Fog2DMesh"],"mappings":";;;;;;;;;;;;;;AAAA,SAASA,IAAI,EAAEC,aAAa,EAAEC,cAAc,EAAEC,GAAG,QAAQ,eAAe;AACxE,SAASC,IAAI,IAAIC,cAAc,EAAEC,IAAI,IAAIC,YAAY;AAErD,IAAMC,eAAe,GAAG;EACtBC,QAAQ,EAAE;IACRC,KAAK,EAAE;MAAEC,KAAK,EAAE;IAAE,CAAC;IACnBC,QAAQ,EAAE;MAAED,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IAAE,CAAC;IACpCE,KAAK,EAAE;MAAEF,KAAK,EAAE;IAAI;EACtB,CAAC;EAEDJ,YAAY,EAAZA,YAAY;EACZF,cAAc,EAAdA;AACF,CAAC;AAAA,IAQKS,SAAS;EAAA;EAAA;EAGb,mBAAYC,GAAsB,EAAE;IAAA;IAAA;IAClC;IAAO,wDAHO,IAAI;IAIlB,MAAKC,QAAQ,GAAG,IAAIf,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC;IAEzCO,eAAe,CAACC,QAAQ,CAACG,QAAQ,CAACD,KAAK,GAAG,CAAAI,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEE,KAAK,KAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACvET,eAAe,CAACC,QAAQ,CAACI,KAAK,CAACF,KAAK,GAAG,CAAAI,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEF,KAAK,KAAI,GAAG;IACxD,MAAKK,KAAK,GAAG,CAAAH,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEG,KAAK,KAAI,IAAI;IAE/B,MAAKC,QAAQ,GAAG,IAAIjB,cAAc,CAAC;MACjCO,QAAQ,EAAED,eAAe,CAACC,QAAQ;MAClCF,YAAY,EAAEC,eAAe,CAACD,YAAY;MAC1CF,cAAc,EAAEG,eAAe,CAACH,cAAc;MAC9Ce,IAAI,EAAE,CAAC;MACPC,WAAW,EAAE,IAAI;MACjBC,UAAU,EAAE;IACd,CAAC,CAAC;IACF,MAAKC,WAAW,GAAG,CAAC;IAEpBpB,GAAG,CAACqB,QAAQ,CAAC,YAAM;MACjBhB,eAAe,CAACC,QAAQ,CAACC,KAAK,CAACC,KAAK,IAAI,MAAKO,KAAK;IACpD,CAAC,CAAC;IAAA;EACJ;EAAC;IAAA;IAAA,OAED,kBAASD,KAA+B,EAAE;MACxCT,eAAe,CAACC,QAAQ,CAACG,QAAQ,CAACD,KAAK,GAAGM,KAAK;IACjD;EAAC;IAAA;IAAA,OAED,kBAASJ,KAAa,EAAE;MACtBL,eAAe,CAACC,QAAQ,CAACI,KAAK,CAACF,KAAK,GAAGE,KAAK;IAC9C;EAAC;IAAA;IAAA,OAED,kBAASK,KAAa,EAAE;MACtB,IAAI,CAACA,KAAK,GAAGA,KAAK;IACpB;EAAC;EAAA;AAAA,EApCqBlB,IAAI;AAuC5B,eAAec,SAAS"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export declare const vert = "\nvarying highp vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = vec4(position, 1.0);\n}\n\n";
|
|
2
|
-
export declare const frag = "\nuniform vec3 fogcolor;\nuniform float iTime;\nuniform float alpha;\n\nvarying highp vec2 vUv;\n\nfloat random(vec2 _st) {\n return fract(sin(dot(_st.xy, vec2(0.630, 0.710))) *\n 43759.329);\n}\n\n//\u67CF\u6797\u566A\u58F0\nfloat noise(vec2 _st) {\n vec2 i = floor(_st);\n vec2 f = fract(_st);\n\n float a = random(i);\n float b = random(i + vec2(1.0, 0.0));\n float c = random(i + vec2(0.0, 1.0));\n float d = random(i + vec2(1.0, 1.0));\n\n vec2 u = f * f * (3.0 - 2.0 * f);\n\n return mix(a, b, u.x) +\n (c - a) * u.y * (1.0 - u.x) +\n (d - b) * u.x * u.y;\n}\n\n#define NUM_OCTAVES 6\n\n//\u5E03\u6717\u5206\u5F62\nfloat fbm(vec2 _st) {\n float v = 0.0;\n float a = 0.5;\n vec2 shift = vec2(100.0, 100.0);\n mat2 rot = mat2(cos(0.5), sin(0.5), -sin(0.5), cos(0.50));\n\n for(int i = 0; i < NUM_OCTAVES; ++i) {\n v += a * noise(_st);\n //_st = mul(_st, rot) * 2.0 + shift;\n _st = _st * rot * 2.0 + shift;\n a *= 0.5;\n }\n return v;\n}\n\nvec3 FilterColor(vec3 color1, vec3 color2) {\n //\u6EE4\u8272\n return 1.0 - (1.0 - color1) * (1.0 - color2);\n}\n\n// -----------------------------------------------\u95EA\u7535\n\nvoid mainImage(out vec4 fragColor, in vec2 fragCoord) {\n vec2 uv = vUv;\n vec3 backcolor = vec3(0.);\n\n uv.y = 1.0 - uv.y;\n\n vec2 st = uv * 10.0;\n\n st.x += iTime * 0.1;\n st.y -= iTime * 0.2;\n\n vec3 color;\n vec2 q;\n\n q.x = fbm(st + 0.00 * iTime * 5.0);\n q.y = fbm(st + vec2(1.0, 1.0));\n\n vec2 r;\n r.x = fbm(st + 1.0 * q + vec2(1.7, 9.2) + 0.15 * iTime * 5.0);\n r.y = fbm(st + 1.0 * q + vec2(8.3, 2.8) + 0.126 * iTime * 5.0);\n\n float f = fbm(st + r);\n\n color = mix(vec3(1.0, 1.0, 1.0), vec3(1.0, 1.0, 1.0), clamp((f * f) * 4.0, 0.0, 1.0));\n color = mix(color, vec3(1.0, 1.0, 1.0), clamp(length(q), 0.0, 1.0));\n color = mix(color, vec3(1.0, 1.0, 1.0), clamp(length(r.x), 0.0, 1.0));\n vec3 cloud = vec3((f * f * f + 0.3 * f * f + 0.5 * f) * color);\n\n fragColor = vec4(FilterColor(cloud * fogcolor, backcolor), alpha);\n\n}\n\nvoid main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n}\n";
|
package/dist/weather/glsl/fog.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export var vert = "\nvarying highp vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = vec4(position, 1.0);\n}\n\n";
|
|
2
|
-
export var frag = "\nuniform vec3 fogcolor;\nuniform float iTime;\nuniform float alpha;\n\nvarying highp vec2 vUv;\n\nfloat random(vec2 _st) {\n return fract(sin(dot(_st.xy, vec2(0.630, 0.710))) *\n 43759.329);\n}\n\n//\u67CF\u6797\u566A\u58F0\nfloat noise(vec2 _st) {\n vec2 i = floor(_st);\n vec2 f = fract(_st);\n\n float a = random(i);\n float b = random(i + vec2(1.0, 0.0));\n float c = random(i + vec2(0.0, 1.0));\n float d = random(i + vec2(1.0, 1.0));\n\n vec2 u = f * f * (3.0 - 2.0 * f);\n\n return mix(a, b, u.x) +\n (c - a) * u.y * (1.0 - u.x) +\n (d - b) * u.x * u.y;\n}\n\n#define NUM_OCTAVES 6\n\n//\u5E03\u6717\u5206\u5F62\nfloat fbm(vec2 _st) {\n float v = 0.0;\n float a = 0.5;\n vec2 shift = vec2(100.0, 100.0);\n mat2 rot = mat2(cos(0.5), sin(0.5), -sin(0.5), cos(0.50));\n\n for(int i = 0; i < NUM_OCTAVES; ++i) {\n v += a * noise(_st);\n //_st = mul(_st, rot) * 2.0 + shift;\n _st = _st * rot * 2.0 + shift;\n a *= 0.5;\n }\n return v;\n}\n\nvec3 FilterColor(vec3 color1, vec3 color2) {\n //\u6EE4\u8272\n return 1.0 - (1.0 - color1) * (1.0 - color2);\n}\n\n// -----------------------------------------------\u95EA\u7535\n\nvoid mainImage(out vec4 fragColor, in vec2 fragCoord) {\n vec2 uv = vUv;\n vec3 backcolor = vec3(0.);\n\n uv.y = 1.0 - uv.y;\n\n vec2 st = uv * 10.0;\n\n st.x += iTime * 0.1;\n st.y -= iTime * 0.2;\n\n vec3 color;\n vec2 q;\n\n q.x = fbm(st + 0.00 * iTime * 5.0);\n q.y = fbm(st + vec2(1.0, 1.0));\n\n vec2 r;\n r.x = fbm(st + 1.0 * q + vec2(1.7, 9.2) + 0.15 * iTime * 5.0);\n r.y = fbm(st + 1.0 * q + vec2(8.3, 2.8) + 0.126 * iTime * 5.0);\n\n float f = fbm(st + r);\n\n color = mix(vec3(1.0, 1.0, 1.0), vec3(1.0, 1.0, 1.0), clamp((f * f) * 4.0, 0.0, 1.0));\n color = mix(color, vec3(1.0, 1.0, 1.0), clamp(length(q), 0.0, 1.0));\n color = mix(color, vec3(1.0, 1.0, 1.0), clamp(length(r.x), 0.0, 1.0));\n vec3 cloud = vec3((f * f * f + 0.3 * f * f + 0.5 * f) * color);\n\n fragColor = vec4(FilterColor(cloud * fogcolor, backcolor), alpha);\n\n}\n\nvoid main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n}\n";
|
|
3
|
-
//# sourceMappingURL=fog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["vert","frag"],"sources":["../../../src/weather/glsl/fog.ts"],"sourcesContent":["export const vert = `\nvarying highp vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = vec4(position, 1.0);\n}\n\n`\n\nexport const frag = `\nuniform vec3 fogcolor;\nuniform float iTime;\nuniform float alpha;\n\nvarying highp vec2 vUv;\n\nfloat random(vec2 _st) {\n return fract(sin(dot(_st.xy, vec2(0.630, 0.710))) *\n 43759.329);\n}\n\n//柏林噪声\nfloat noise(vec2 _st) {\n vec2 i = floor(_st);\n vec2 f = fract(_st);\n\n float a = random(i);\n float b = random(i + vec2(1.0, 0.0));\n float c = random(i + vec2(0.0, 1.0));\n float d = random(i + vec2(1.0, 1.0));\n\n vec2 u = f * f * (3.0 - 2.0 * f);\n\n return mix(a, b, u.x) +\n (c - a) * u.y * (1.0 - u.x) +\n (d - b) * u.x * u.y;\n}\n\n#define NUM_OCTAVES 6\n\n//布朗分形\nfloat fbm(vec2 _st) {\n float v = 0.0;\n float a = 0.5;\n vec2 shift = vec2(100.0, 100.0);\n mat2 rot = mat2(cos(0.5), sin(0.5), -sin(0.5), cos(0.50));\n\n for(int i = 0; i < NUM_OCTAVES; ++i) {\n v += a * noise(_st);\n //_st = mul(_st, rot) * 2.0 + shift;\n _st = _st * rot * 2.0 + shift;\n a *= 0.5;\n }\n return v;\n}\n\nvec3 FilterColor(vec3 color1, vec3 color2) {\n //滤色\n return 1.0 - (1.0 - color1) * (1.0 - color2);\n}\n\n// -----------------------------------------------闪电\n\nvoid mainImage(out vec4 fragColor, in vec2 fragCoord) {\n vec2 uv = vUv;\n vec3 backcolor = vec3(0.);\n\n uv.y = 1.0 - uv.y;\n\n vec2 st = uv * 10.0;\n\n st.x += iTime * 0.1;\n st.y -= iTime * 0.2;\n\n vec3 color;\n vec2 q;\n\n q.x = fbm(st + 0.00 * iTime * 5.0);\n q.y = fbm(st + vec2(1.0, 1.0));\n\n vec2 r;\n r.x = fbm(st + 1.0 * q + vec2(1.7, 9.2) + 0.15 * iTime * 5.0);\n r.y = fbm(st + 1.0 * q + vec2(8.3, 2.8) + 0.126 * iTime * 5.0);\n\n float f = fbm(st + r);\n\n color = mix(vec3(1.0, 1.0, 1.0), vec3(1.0, 1.0, 1.0), clamp((f * f) * 4.0, 0.0, 1.0));\n color = mix(color, vec3(1.0, 1.0, 1.0), clamp(length(q), 0.0, 1.0));\n color = mix(color, vec3(1.0, 1.0, 1.0), clamp(length(r.x), 0.0, 1.0));\n vec3 cloud = vec3((f * f * f + 0.3 * f * f + 0.5 * f) * color);\n\n fragColor = vec4(FilterColor(cloud * fogcolor, backcolor), alpha);\n\n}\n\nvoid main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n}\n`"],"mappings":"AAAA,OAAO,IAAMA,IAAI,2GAOhB;AAED,OAAO,IAAMC,IAAI,8rEA0FhB"}
|