From 85cf122a0912b20a2217bf1cfc8422d85045034e Mon Sep 17 00:00:00 2001 From: prospanclaudebot Date: Sat, 11 Jul 2026 00:26:09 +0000 Subject: terrain: 🌭 Π°Π½Ρ‚ΠΈ-ΠΌΡ‹Π»ΠΎ β€” чёткая Π’Π§-Π΄Π΅Ρ‚Π°Π»ΡŒ (Ρ†Π²Π΅Ρ‚+Π½ΠΎΡ€ΠΌΠ°Π»ΡŒ) Ρƒ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ с Π·Π°Ρ‚ΡƒΡ…Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ Π΄Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- serve/index.html | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'serve') diff --git a/serve/index.html b/serve/index.html index d7132e1..de0690d 100644 --- a/serve/index.html +++ b/serve/index.html @@ -1273,10 +1273,11 @@ terrainMat.onBeforeCompile = (sh) => { ' diffuseColor.rgb = mix(diffuseColor.rgb, vec3(0.93, 0.85, 0.62), sand);' + ' diffuseColor.rgb *= 0.88 + 0.20 * fbmT(vWPosT.xz * 0.3);' + // ΠΎΠ±Ρ‰ΠΈΠΉ Π΄Π΅Ρ‚Π΅ΠΉΠ» ' float ero = 1.0 - abs(2.0 * fbmT(vWPosT.xz * 0.55) - 1.0);' + // Ρ€ΠΈΠ΄ΠΆ-эрозия - ' diffuseColor.rgb *= 1.0 - 0.30 * ero * ero;') // Π·Π°Ρ‚Π΅ΠΌΠ½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΌΠΎΠΈΠ½Ρ‹ + ' diffuseColor.rgb *= 1.0 - 0.30 * ero * ero;' + // Π·Π°Ρ‚Π΅ΠΌΠ½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΌΠΎΠΈΠ½Ρ‹ + ' float _nr=1.0-smoothstep(45.0,200.0,length(vViewPosition)); diffuseColor.rgb *= 1.0 + (fbmT(vWPosT.xz*2.4)-0.5)*0.42*_nr;') // чёткая мСлкая Π΄Π΅Ρ‚Π°Π»ΡŒ Ρƒ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ (Π°Π½Ρ‚ΠΈ-ΠΌΡ‹Π»ΠΎ) .replace('#include ', '#include \n roughnessFactor *= 0.5 + 0.65*fbmT(vWPosT.xz*0.16);') .replace('#include ', '#include \n' + - ' { float hh=fbmT(vWPosT.xz*0.15); vec2 dH=vec2(dFdx(hh),dFdy(hh))*5.5;' + + ' { float _nn=1.0-smoothstep(45.0,170.0,length(vViewPosition)); float hh=fbmT(vWPosT.xz*0.15)+fbmT(vWPosT.xz*1.3)*0.55*_nn; vec2 dH=vec2(dFdx(hh),dFdy(hh))*6.0;' + ' vec3 Sx=dFdx(-vViewPosition), Sy=dFdy(-vViewPosition);' + ' vec3 R1=cross(Sy,normal), R2=cross(normal,Sx); float det=dot(Sx,R1);' + ' vec3 grad=sign(det)*(dH.x*R1+dH.y*R2); normal=normalize(abs(det)*normal-grad); }'); -- cgit v1.2.3