ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅, ΠΎΡ‡Π΅Π½ΡŒ быстро...
Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ вмСстС Π΄ΠΎ ΠΏΠΎΠ±Π΅Π΄Ρ‹

Π­Ρ„Ρ„Π΅ΠΊΡ‚ Bloom. 
Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ прилоТСния

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π˜ΠΌΠΈΡ‚Π°Ρ†ΠΈΡ засвСта ΠΊΠ°Π΄Ρ€Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΈ солнСчных Π»ΡƒΡ‡Π΅ΠΉ Π² ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ. Один ΠΈΠ· ΡΠ°ΠΌΡ‹Ρ… Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»ΡΡŽΡ‰ΠΈΡ… эффСктов. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ засвСт появлялся, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли солнцС находится Π² ΠΏΠΎΠ»Π΅ зрСния. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ интСрфСйс запросов Π½Π° ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ IDirect3DQuery9 с Ρ‚ΠΈΠΏΠΎΠΌ D3DQUERYTYPE_OCCLUSION. Π’ 3D Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ Bloom Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ дСлаСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ постобработки… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π­Ρ„Ρ„Π΅ΠΊΡ‚ Bloom. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ прилоТСния (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Bloom — это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΈΠ½Π΅ΠΌΠ°Ρ‚ографичСских эффСктов постобработки, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ яркиС участки изобраТСния Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ яркими. Π­Ρ‚ΠΎ эффСкт ΠΎΡ‡Π΅Π½ΡŒ яркого свСта, ΠΏΡ€ΠΎΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ Π² Π²ΠΈΠ΄Π΅ свСчСния Π²ΠΎΠΊΡ€ΡƒΠ³ ярких повСрхностСй, послС примСнСния bloom Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Ρ‚Π°ΠΊΠΈΠ΅ повСрхности Π½Π΅ ΠΏΡ€ΠΎΡΡ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΡΡ€ΠΊΠΎΡΡ‚ΡŒ, свСт ΠΎΡ‚ Π½ΠΈΡ… (ΠΎΡ€Π΅ΠΎΠ») частично воздСйствуСт ΠΈ Π½Π° Π±ΠΎΠ»Π΅Π΅ Ρ‚Π΅ΠΌΠ½Ρ‹Π΅ области, ΡΠΎΡΠ΅Π΄ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ с ΡΡ€ΠΊΠΈΠΌΠΈ повСрхностями Π² ΠΊΠ°Π΄Ρ€Π΅.

Π’ 3D Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ Bloom Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ дСлаСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ постобработки — смСшивания смазанного Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ blur ΠΊΠ°Π΄Ρ€Π° (всСго ΠΊΠ°Π΄Ρ€Π° ΠΈΠ»ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ярких Π΅Π³ΠΎ областСй, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ примСняСтся нСсколько Ρ€Π°Π·) ΠΈ ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ°Π΄Ρ€Π°.

  • Β· Алгоритм bloom Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°, примСняСмый Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅:
  • Β· сцСна рСндСрится Π² Ρ‚Скстуру;
  • Β· Π² Ρ‚СкстурС ΠΎΡ‚ΡΠ΅ΠΊΠ°ΡŽΡ‚ΡΡ пиксСли, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… всС Ρ‚Ρ€ΠΈ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Ρ†Π²Π΅Ρ‚Π° RGB мСньшС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ значСния;
  • Β· получСнная тСкстура размываСтся Π΄Π²Π° Ρ€Π°Π·Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ blur Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°;
  • Β· Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΡΠΌΠ΅ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ с ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ сцСны, ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ся Π½Π° ΡΠΊΡ€Π°Π½.

Π­Ρ„Ρ„Π΅ΠΊΡ‚ Lens Flare

Π˜ΠΌΠΈΡ‚Π°Ρ†ΠΈΡ засвСта ΠΊΠ°Π΄Ρ€Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΈ солнСчных Π»ΡƒΡ‡Π΅ΠΉ Π² ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ. Один ΠΈΠ· ΡΠ°ΠΌΡ‹Ρ… Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»ΡΡŽΡ‰ΠΈΡ… эффСктов. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ засвСт появлялся, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли солнцС находится Π² ΠΏΠΎΠ»Π΅ зрСния. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ интСрфСйс запросов Π½Π° ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ IDirect3DQuery9 с Ρ‚ΠΈΠΏΠΎΠΌ D3DQUERYTYPE_OCCLUSION.

Алгоритм выполнСния:

  • Β· Π—Π°Ρ€Π°Π½Π΅Π΅ подготовлСнная тСкстура Π±Π»ΠΈΠΊΠ° с Π·Π°ΡΠ²Π΅Ρ‚Π°ΠΌΠΈ накладываСтся Π½Π° Π±ΠΈΠ»Π»Π±ΠΎΡ€Π΄ большого Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.
  • Β· ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π±ΠΈΠ»Π»Π±ΠΎΡ€Π΄Π° ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π° Π²Π΅ΠΊΡ‚ΠΎΡ€Π΅, ΠΈΠ΄ΡƒΡ‰Π΅ΠΌ ΠΎΡ‚ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ Π΄ΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ солнца. РасстояниС Π΄ΠΎ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ всСгда постоянноС.
  • Β· На ΠΌΠ΅ΡΡ‚Π΅ солнца устанавливаСм простой ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ² Π² Π²ΠΈΠ΄Π΅ ΠΊΡƒΠ±Π° малСнького Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.
  • Β· Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ всю Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ уровня вмСстС с ΠΊΡƒΠ±ΠΎΠΌ. Π­Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· интСрфСйс запросов Π½Π° ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅.
  • Β· ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π΅ пиксСлСй отрисованного ΠΊΡƒΠ±Π°.
  • Β· Если число пиксСлСй большС 0 Ρ‚ΠΎΠ³Π΄Π° отрисовываСм Π±ΠΈΠ»Π»Π±ΠΎΡ€Π΄. [2]
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ