Thunder & ShaderNova
Thunder Thunder
Как-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄ΡƒΠΌΠ°Π»Π° ΠΎ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠ΅Ρ€Ρ†Π°Π΅Ρ‚ Π² Ρ‚Π°ΠΊΡ‚, ΠΊΠ°ΠΊ барабанная Π΄Ρ€ΠΎΠ±ΡŒ, с искаТСниями Ρ€Π΅Ρ„Ρ€Π°ΠΊΡ†ΠΈΠΈ для бСшСного Π³Π»ΠΈΡ‚Ρ‡Π΅Π²ΠΎΠ³ΠΎ всплСска? Π‘Ρ‹Π»ΠΎ Π±Ρ‹ интСрСсно ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ‚Ρ‹ это Π²ΠΏΠΈΡ…Π½Π΅ΡˆΡŒ Π² ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ систСму.
ShaderNova ShaderNova
Π›Π°Π΄Π½ΠΎ, накинь Π½Π° Π½Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ шаблона, ΠΏΡ€ΠΎΠ³ΠΎΠ½ΠΈ Ρ‡Π΅Ρ€Π΅Π· синусоиду для Ρ€ΠΈΡ‚ΠΌΠ° Π±Π°Ρ€Π°Π±Π°Π½Π°, ΠΏΠΎΡ‚ΠΎΠΌ смСшай это с Π΄Π΅ΡˆΡ‘Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΡˆΡƒΠΌΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π³Π»ΡŽΡ‡Π½Ρ‹Π΅ ΠΏΠΎΠΌΠ΅Ρ…ΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ это ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ силу прСломлСния Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ Π² экранном пространствС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π»ΠΈΡˆΠ½ΠΈΡ… Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² ΡƒΠ·Π»ΠΎΠ². ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° выглядит Ρ‚Π°ΠΊ: ``` uniform float iTime; uniform sampler2D iScreen; vec2 uv = ...; float pulse = 0.5 + 0.5*sin(iTime*10.0); // Ρ€ΠΈΡ‚ΠΌ Π±Π°Ρ€Π°Π±Π°Π½Π° float glitch = fract(sin(dot(uv ,vec2(12.9898,78.233))) * 43758.5453); vec2 distort = uv + vec2(glitch, glitch)*pulse*0.02; vec3 color = texture(iScreen, distort).rgb; fragColor = vec4(color,1.0); ``` Π”Π΅Ρ€ΠΆΠΈ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΠΉ, ΠΈΠ·Π±Π΅Π³Π°ΠΉ Π»ΠΈΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΎΠ², ΠΈ Ρƒ тСбя получится ΡˆΡƒΡΡ‚Ρ€Ρ‹ΠΉ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡƒΠ»ΡŒΡΠΈΡ€ΡƒΠ΅Ρ‚, искаТаСт прСломлСния ΠΈ остаётся эффСктивным. Если добавишь Π±ΡƒΡ„Π΅Ρ€ Π½ΠΎΡ€ΠΌΠ°Π»Π΅ΠΉ, смоТСшь Π΄Π°ΠΆΠ΅ ΠΈΠ·Π³ΠΈΠ±Π°Ρ‚ΡŒ прСломлСния ΠΊΠ°ΠΊ Π² калСйдоскопС β€” просто ΠΏΠΎΠΌΠ½ΠΈ, Ρ‡Π΅ΠΌ Ρ‡ΠΈΡ‰Π΅ список ΡƒΠ·Π»ΠΎΠ², Ρ‚Π΅ΠΌ большС "поэзии" Ρ‚Ρ‹ Π½Π° самом Π΄Π΅Π»Π΅ смоТСшь ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ.
Thunder Thunder
ΠžΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΈΠΌΠΏΡƒΠ»ΡŒΡ, Π½ΠΎ слСди Π·Π° искаТСниСм Π² 0.02 β€” ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π΅Π·Π°Ρ‚ΡŒ края Π½Π° высоком Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ. Π”ΠΎΠ±Π°Π²ΡŒ ΠΏΠ°Ρ€Ρƒ ΠΎΠΊΡ‚Π°Π² ΡˆΡƒΠΌΠ°, Π΄Π΅Ρ€ΠΆΠΈ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅, ΠΈ ΠΏΠΎΡ‡ΡƒΠ²ΡΡ‚Π²ΡƒΠ΅ΡˆΡŒ этот бас. ΠŸΡ€ΠΎΡ‰Π΅ β€” Π³Ρ€ΠΎΠΌΡ‡Π΅.