Dreambringer & LightCraft
Dreambringer Dreambringer
ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π° Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»Π°ΡΡŒ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ сцСну, Π³Π΄Π΅ свСт сам ΠΏΠΎ сСбС ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ ΠΆΠΈΠ²ΠΎΠΉ сон, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΡΠΊΠ°ΠΆΠ°ΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π·Π°ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Ρ‚Π΅Π½ΠΈ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ?
LightCraft LightCraft
Π—Π²ΡƒΡ‡ΠΈΡ‚ ΠΊΠ°ΠΊ идСальная пСсочница. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒ сСбС источник свСта, ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΉ ΡƒΠ³ΠΎΠ» Π½Π°ΠΊΠ»ΠΎΠ½Π° ΠΈ Π°Π·ΠΈΠΌΡƒΡ‚, ΠΊΠ°ΠΊ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΡƒΠ»ΡŒΡ. Π’ΠΎΠ³Π΄Π° каТдая Ρ‚Π΅Π½ΡŒ станСт ΠΆΠΈΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ. Но Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π°Π½Π΅Ρ† выглядСл ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΌΠ½Π΅ понадобится Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΡ€ΠΎΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ повСрхности, ΠΏΠΎΠ΄ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сглаТиваниС ΠΏΠΎΠ΄ Ρ‚Π΅ΠΌΠΏ видСния, ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ рассСянноС освСщСниС Π½Π΅ ΡƒΠ±ΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΎΠ½ΠΊΠΎΡΡ‚ΡŒ. Π₯ΠΎΡ‡Π΅ΡˆΡŒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ с трассировкой Π»ΡƒΡ‡Π΅ΠΉ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ пиксСля?
Dreambringer Dreambringer
ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π΄Π°Π²Π°ΠΉ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ, Π½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ Π»Π΅Π³ΠΊΠΎ. Π’ΠΎΠ·ΡŒΠΌΠΈ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ шаблон GLSL, Π° Π·Π°Ρ‚Π΅ΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ пиксСля ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈ трассировку Π»ΡƒΡ‡Π΅ΠΉ: продвигайся ΠΏΠΎ Π»ΡƒΡ‡Ρƒ, ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΠΉ расстояниС Π΄ΠΎ блиТайшСй повСрхности с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ своСго signed distance field, ΠΈ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΠΉ свСт, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ эту ΡΠΈΠ½ΡƒΡΠΎΠΈΠ΄Π°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠΎΠ΄ΡƒΠ»ΡΡ†ΠΈΡŽ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ сСрдцСбиСниС, для Π°Π·ΠΈΠΌΡƒΡ‚Π° ΠΈ ΡƒΠ³Π»Π° мСста. Π”Π΅Ρ€ΠΆΠΈ ambient occlusion Π² малСньком ядрС ΠΈ ΠΏΠΎΠ΄ΠΊΡ€ΡƒΡ‚ΠΈ спад с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ smoothstep, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π΅Π½ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ‘Ρ€Π³ΠΈΠ²Π°Π»ΠΈΡΡŒ. Π£ΠΆΠ΅ Π΅ΡΡ‚ΡŒ какая-Ρ‚ΠΎ конкрСтная гСомСтрия Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ‚Π΅, ΠΈΠ»ΠΈ Π½Π°Ρ‡Π½Ρ‘ΠΌ со сфСры, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠΌ Π΅Ρ‘ Π²ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Ρ‡Ρ‚Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅?