ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° прилоТСния для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… сцСн с использованиСм ΠΊΠ°Ρ€Ρ‚ освСщСния ΠΈ динамичСского освСщСния

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

Как ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ППО Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎ-нСзависимы ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ³Ρ€Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ консоли ΠΈ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹, с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ внСсёнными Π² ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ измСнСниями (ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π±Π΅Π· Ρ‚Π°ΠΊΠΎΠ²Ρ‹Ρ…). Часто ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ΅ ППО ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ систСмы Π΄Π²ΠΈΠΆΠΊΠ° Π±ΠΎΠ»Π΅Π΅ спСциализированны-ΠΌΠΈ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° прилоТСния для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… сцСн с использованиСм ΠΊΠ°Ρ€Ρ‚ освСщСния ΠΈ динамичСского освСщСния (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π”Π˜ΠŸΠ›ΠžΠœΠΠ«Π™ ΠŸΠ ΠžΠ•ΠšΠ’

На Ρ‚Π΅ΠΌΡƒ: «Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° прилоТСния для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… сцСн с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ°Ρ€Ρ‚ освСщСния ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΎΠ³ΠΎ освСщСния»

ЦСль описываСмой Ρ€Π°Π±ΠΎΡ‚Ρ‹ — ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ систСму отрисовки 3D сцСн с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ динамичнского освСщСния Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’Π°ΠΊΡƒΡŽ систСму Π² ΡΡ€Π΅Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€ (для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ) принято Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ «Π³Ρ€Π°Ρ„ичСским Π΄Π²ΠΈΠΆΠΊΠΎΠΌ» (graphic engine). ГрафичСский Π΄Π²ΠΈΠΆΠΎΠΊ — являСтся основной Ρ‡Π°ΡΡ‚ΡŒΡŽ слоТного комплСкса для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ прилоТСния, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ «ΠΈΠ³Ρ€ΠΎΠ²Ρ‹ΠΌ Π΄Π²ΠΈΠΆΠΊΠΎΠΌ».

Π˜Π³Ρ€ΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ (Π°Π½Π³Π». game engine) — это Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Он ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ основныС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ Ρ‡Π°ΡΡ‚ΠΎ Π΄Π°Ρ‘Ρ‚ ΠΈΠ³Ρ€Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ консоли ΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, GNU/Linux, Mac OS X ΠΈ Microsoft Windows.

БловосочСтаниС «ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ» ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Ρ†Π΅Π»Ρ‹ΠΉ комплСкс ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ графичСский Π΄Π²ΠΈΠΆΠΎΠΊ для 2D ΠΈΠ»ΠΈ 3D Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, физичСский Π΄Π²ΠΈΠΆΠΎΠΊ, Π·Π²ΡƒΠΊ, Π½Π°Π±ΠΎΡ€ инструмСнтария, Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ, искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚, сСтСвой ΠΊΠΎΠ΄, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π‘Ρ‚Ρ€ΠΎΠ³ΠΎ говоря, всС части ΠΊΠΎΠ΄Π°, написанныС программистами ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ³Ρ€Ρ‹, ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Π΄Π²ΠΈΠΆΠΊΠ°. Π˜Π³Ρ€ΠΎΠ²ΠΎΠΉ процСсс (gameplay) опрСдСляСтся функциями, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΡΡ‚ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ….

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ, ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π½Π°Π±ΠΎΡ€ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… инструмСнтов для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π­Ρ‚ΠΈ инструмСнты ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½ΠΎΠΉ, быстрой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ³Ρ€ Π½Π° ΠΌΠ°Π½Π΅Ρ€ ΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ производства. Π­Ρ‚ΠΈ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ «ΠΈΠ³Ρ€ΠΎΠ²Ρ‹ΠΌ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм» (сокр. ППО; Π°Π½Π³Π». middleware), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ, с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния бизнСса, ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π³ΠΈΠ±ΠΊΡƒΡŽ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ со Π²ΡΠ΅ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ прилоТСния, сокращая Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹, ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ — всС критичСскиС Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹ Π² ΡΠΈΠ»ΡŒΠ½ΠΎΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ индустрии Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€.

Как ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ППО Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎ-нСзависимы ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ³Ρ€Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ консоли ΠΈ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹, с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ внСсёнными Π² ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ измСнСниями (ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π±Π΅Π· Ρ‚Π°ΠΊΠΎΠ²Ρ‹Ρ…). Часто ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ΅ ППО ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ систСмы Π΄Π²ΠΈΠΆΠΊΠ° Π±ΠΎΠ»Π΅Π΅ спСциализированны-ΠΌΠΈ (ΠΈ Ρ‡Π°ΡΡ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ Π΄ΠΎΡ€ΠΎΠ³ΠΈΠΌΠΈ) ППО ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Havok — для Ρ„ΠΈΠ·ΠΈΠΊΠΈ, FMOD — для Π·Π²ΡƒΠΊΠ° ΠΈΠ»ΠΈ SpeedTree — для Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°. НСкоторыС ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ RenderWare, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ слабосвязанных ППО ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ для создания собствСнного Π΄Π²ΠΈΠΆΠΊΠ°, вмСсто Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ настройки Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ достигнута ΠΈ ΠΎΡΡ‚аётся высокоприоритСтной Π² ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… Π΄Π²ΠΈΠΆΠΊΠ°Ρ… ΠΈΠ·-Π·Π° ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… возмоТностСй ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ. НСсмотря Π½Π° ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ названия, ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½Ρ‹Π΅ Ρ€ΠΎΠ»ΠΈΠΊΠΈ, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ симуляторы ΠΈ ΡΡ€Π΅Π΄Ρ‹ модСлирования.

НСкоторыС ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ возмоТности 3D Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ вмСсто всСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΈΠ³Ρ€Π°ΠΌ. Π­Ρ‚ΠΈ Π΄Π²ΠΈΠΆΠΊΠΈ Π΄ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΈΠ³Ρ€Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ»ΠΈ Π΅Ρ‘ ΡΠ±ΠΎΡ€ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ППО ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π’Π°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π²ΠΈΠΆΠΊΠΎΠ² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ относят ΠΊ «Π³Ρ€Π°Ρ„ичСским Π΄Π²ΠΈΠΆΠΊΠ°ΠΌ», «Π΄Π²ΠΈΠΆΠΊΠ°ΠΌ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°» ΠΈΠ»ΠΈ «3D Π΄Π²ΠΈΠΆΠΊΠ°ΠΌ» вмСсто Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° «ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ». Однако эта тСрминология ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ²ΠΎ: Ρ‚Π°ΠΊ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ 3D Π΄Π²ΠΈΠΆΠΊΠΈ упомянуты просто ΠΊΠ°ΠΊ «3D Π΄Π²ΠΈΠΆΠΊΠΈ». НСкоторыС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ графичСских Π΄Π²ΠΈΠΆΠΊΠΎΠ²: RealmForge, Ogre 3D, Power Render, Crystal Space ΠΈ Genesis3D.

ГрафичСский Π΄Π²ΠΈΠΆΠΎΠΊ (Π°Π½Π³Π». graphics engine; ΠΈΠ½ΠΎΠ³Π΄Π° «Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Ρ€» ΠΈΠ»ΠΈ «Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€») — ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, основной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ являСтся визуализация (Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³) Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ ΠΈΠ»ΠΈ Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. ΠœΠΎΠΆΠ΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΈΠ»ΠΈ Π² ΡΠΎΡΡ‚Π°Π²Π΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ°. ΠœΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Π²ΠΈΠ·ΡƒΠ°-Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎ. ГрафичСскиС Π΄Π²ΠΈΠΆΠΊΠΈ, ис-ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π΅ΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ (Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠ°ΠΊ 3ds Max, Maya, Cinema 4D, Zbrush, Blender), ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ «Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Ρ€Π°ΠΌΠΈ», «ΠΎΡ‚рисовщиками» ΠΈΠ»ΠΈ «Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ». Π‘Π°ΠΌΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ «Π³Ρ€Π°Ρ„ичСский Π΄Π²ΠΈΠΆΠΎΠΊ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€Π°Ρ….

ОсновноС ΠΈ Π²Π°ΠΆΠ½Π΅ΠΉΡˆΠ΅Π΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ «ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ…» графичСских Π΄Π²ΠΈΠΆΠΊΠΎΠ² ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Ρ€ΠΎΠ² состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π²Ρ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΎ дСсятков часов Π½Π° Π²Ρ‹Π²ΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠ³ΠΎ изобраТСния. Π’Ρ‚ΠΎΡ€Ρ‹ΠΌ сущСствСнным ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ начиная ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ с 1995;1997 Π³ΠΎΠ΄Π°, графичСскиС Π΄Π²ΠΈΠΆΠΊΠΈ производят Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ графичСских процСссоров (Π°Π½Π³Π». GPU), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ установлСны Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Π°Ρ… — Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π°Ρ…. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Ρ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ процСссоры (Π°Π½Π³Π». CPU).

На ΡΡ‚Π°ΠΏΠ΅ становлСния ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€ графичСский Π΄Π²ΠΈΠΆΠΎΠΊ являлся главнСйшСй Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ°. БобствСнно, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 90−95% ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° составлял ΠΈΠΌΠ΅Π½Π½ΠΎ графичСский Π΄Π²ΠΈΠΆΠΎΠΊ (ΠΎΡΡ‚Π°Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π·Π°Π½ΠΈΠΌΠ°Π»ΠΈ подсистСмы Π²Π²ΠΎΠ΄Π° / Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ Ρ‚. ΠΏ.). Однако с ΡΠ΅Ρ€Π΅Π΄ΠΈΠ½Ρ‹ 90-Ρ… Π³ΠΎΠ΄ΠΎΠ² вслСдствиС ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ развития ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠ³Ρ€ Π½Π°Ρ‡Π°Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² ΡΠ²ΠΎΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ подсистСмы, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ, Ρ€Π°Π±ΠΎΡ‚Π° с ΡΠ΅Ρ‚ΡŒΡŽ.

Π§Π°Ρ‰Π΅ всСго 3D Π΄Π²ΠΈΠΆΠΊΠΈ ΠΈΠ»ΠΈ систСмы Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π² ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… Π΄Π²ΠΈΠΆΠΊΠ°Ρ… построСны Π½Π° Π³Ρ€Π°Ρ„ичСском API, Ρ‚Π°ΠΊΠΎΠΌ ΠΊΠ°ΠΊ Direct3D ΠΈΠ»ΠΈ OpenGL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ GPU ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρ‹. НизкоуровнСвыС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, DirectX, SDL ΠΈ OpenAL, Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΈΠ³Ρ€Π°Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ-нСзависимый доступ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΊΠ°ΠΊ устройства Π²Π²ΠΎΠ΄Π° (ΠΌΡ‹ΡˆΡŒ, ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° ΠΈ Π΄ΠΆΠΎΠΉΡΡ‚ΠΈΠΊ), сСтСвыС ΠΈ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹. Π”ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ-ускоряСмой 3D Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ использовались ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ всё Π΅Ρ‰Ρ‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… инструмСнтах модСлирования для Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Π°Ρ Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€Π½ΠΎΡΡ‚ΡŒ Π²Π°ΠΆΠ½Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (количСство ΠΊΠ°Π΄Ρ€ΠΎΠ² Π² ΡΠ΅ΠΊΡƒΠ½Π΄Ρƒ) ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ обСспСчСниС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚воряСт трСбованиям, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Ρ‹.

Π’ Π½Π°ΡΡ‚оящСС врСмя сущСствуСт мноТСство ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… Π΄Π²ΠΈΠΆΠΊΠΎΠ² со ΡΠ²ΠΎΠΈΠΌΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°-Ρ‚ΠΎΡ€Π°ΠΌΠΈ. К ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡŽ, самыС ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΎΡ€ΠΎΠ³ΠΈ, Π° Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚раняСмыС бСсплатно Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ достаточным Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ, ΠΈΠ»ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ограничСния Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ схСмы ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ процСсса.

Π—Π°Π΄Π°Ρ‡Π΅ΠΉ Π±Ρ‹Π»ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ систСму, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰Π΅ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ функциями, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° построСния Ρ‚Π΅Π½Π΅ΠΉ.

1. ΠžΠ±Π·ΠΎΡ€ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области

1.1 Π˜ΡΡ‚ΠΎΡ€ΠΈΡ возникновСния ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… Π΄Π²ΠΈΠΆΠΊΠΎΠ²

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ ΠΈΠ³Ρ€Ρ‹ сСгодня ΡΠ²Π»ΡΡŽΡ‚ΡΡ довольно популярным Π²ΠΈΠ΄ΠΎΠΌ развлСчСния, ΠΊΠ°ΠΊ срСди подростков, Ρ‚Π°ΠΊ ΠΈ ΡΡ€Π΅Π΄ΠΈ взрослых, ΡΠΎΡΡ‚ΠΎΡΠ²ΡˆΠΈΡ…ΡΡ людСй. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΈ Π½Π΅ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ сСйчас сущСствуСт мноТСство ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… ΠΈ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΡ…ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΈΠ³Ρ€, ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π², Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΈΡ… Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€Ρ‹ Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Π² 1950;Ρ… ΠΈ 1960;Ρ… Π³ΠΎΠ΄Π°Ρ…. Они Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π½Π° Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, ΠΊΠ°ΠΊ осциллографы, унивСрситСтскиС ΠΌΠ΅ΠΉΠ½Ρ„Ρ€Π΅ΠΉΠΌΡ‹ ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ EDSAC. Π‘Π°ΠΌΠΎΠΉ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΈΠ³Ρ€ΠΎΠΉ, стал симулятор Ρ€Π°ΠΊΠ΅Ρ‚Ρ‹, созданный Π² 1942 Π³ΠΎΠ΄Ρƒ Вомасом Голдсмитом Младшим ΠΈ Π˜ΡΡ‚Π» Π Π΅ΠΉ МСнном. ПозТС, Π² 1952, появилась ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΈΠ³Ρ€Π°ΡŽΡ‰Π°Ρ Π² «ΠΊΡ€Π΅ΡΡ‚ΠΈΠΊΠΈ-Π½ΠΎΠ»ΠΈΠΊΠΈ», созданная А. Π‘. Дугласом ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ Π΅Π³ΠΎ докторской диссСртации Π² ΠšΠ΅ΠΌΠ±Ρ€ΠΈΠ΄ΠΆΡΠΊΠΎΠΌ УнивСрситСтС. Π˜Π³Ρ€Π° Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΎΠΌ унивСрситСтском ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, извСстном ΠΊΠ°ΠΊ EDSAC (Electronic Delay Storage Automatic Calculator). Π’ 1958 Π³ΠΎΠ΄Ρƒ, Уильям Π₯ΠΈΠ³ΠΈΠ½Π±ΠΎΡ‚Π΅ΠΌ, помогавший ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΡΠ΄Π΅Ρ€Π½ΡƒΡŽ Π±ΠΎΠΌΠ±Ρƒ, Π² ΠΠ°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Π›Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ Π‘Ρ€ΡƒΠΊΡ…Π΅Π²Π΅Π½ (Аптон, Нью-Π™ΠΎΡ€ΠΊ), для развлСчСния посСтитСлСй создал «Π’Сннис для Π΄Π²ΠΎΠΈΡ…». Π’ 1962 Π³ΠΎΠ΄Ρƒ, Π‘Ρ‚ΠΈΠ² РассСл написал «ΠšΠΎΡΠΌΠΈΡ‡Π΅ΡΠΊΠ°Ρ Π²ΠΎΠΉΠ½Π° ΠΈ Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ ΠŸΡ€ΠΈΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π”ΠΆΠΎΠ½Π°». Π˜Π³Ρ€Π° Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Π½Π° ΠΌΠΈΠ½ΠΈΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ PDP-1 ΠΈ Π±Ρ‹ΡΡ‚Ρ€ΠΎ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΠΈΠ»Π°ΡΡŒ ΠΏΠΎ Π²ΡΠ΅ΠΌ унивСрситСтам страны. Π’ 1968 Π³ΠΎΠ΄Ρƒ, Π Π°Π»ΡŒΡ„ Π‘Π°Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·ΠΆΠ΅ стал извСстСн ΠΊΠ°ΠΊ «ΠšΠΎΡ€ΠΎΠ»ΡŒ Π’ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€». запросил ΠΏΠ°Ρ‚Π΅Π½Ρ‚ Π½Π° Ρ€Π°Π½Π½ΡŽΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ консоли «Televisio n Gaming and Training Appataus». Π’ 1967 Π³ΠΎΠ΄Ρƒ, Π‘Π°Π΅Ρ€ создал ΠΏΠΈΠ½Π³ΠΏΠΈΠ½Π³ ΠΈΠ³Ρ€Ρƒ, ΠΏΠΎΡ…ΠΎΠΆΡƒΡŽ Π½Π° «Π’Сннис для Π΄Π²ΠΎΠΈΡ…». ВмСстС с Magnavox ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π°Π΄ созданиСм ΠΏΠ΅Ρ€Π²ΠΎΠΉ консоли, Π½Π°Π·Π²Π°Π½Π½ΠΎΠΉ Magnavox Odyssey Π² 1972 Π³ΠΎΠ΄Ρƒ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠ² Π² 1970;Ρ… ΠΏΡ€ΠΈΠ²Π΅Π»Π° ΠΊ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌΡƒ «Π—ΠΎΠ»ΠΎΡ‚ΠΎΠΌΡƒ Π²Π΅ΠΊΡƒ Π°Ρ€ΠΊΠ°Π΄». Одна ΠΈΠ· ΡΠ°ΠΌΡ‹Ρ… извСстных ΠΈΠ³Ρ€ Ρ‚ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ — «Pong».

Π‘ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², ΠΈΠ³Ρ€Ρ‹ быстро Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΠΈΠ»ΠΈΡΡŒ ΠΈ Π½Π° ΡΡ‚ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅. И Π² Π½Π°ΡΡ‚оящСС врСмя самыми популярными ΠΈΠ³Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ приставки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ PlayStation 3 ΠΈ Xbox 360.

Π‘ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠ΅ΠΉ ΠΈΠ³Ρ€ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΡ… ΡΠΎΠ·Π΄Π°Π½ΠΈΡ. Π’Π°ΠΊ Π² Π½Π°Ρ‡Π°Π»Π΅ 90-Ρ… Π³ΠΎΠ΄ΠΎΠ² 20-Π³ΠΎ Π²Π΅ΠΊΠ°, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, создавая Π½ΠΎΠ²ΡƒΡŽ ΠΈΠ³Ρ€Ρƒ, ΠΌΠΎΠ³Π»ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄ своих ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². ΠŸΠΎΡ‚ΠΎΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ поняли, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΡ‚ Π²ΡΠ΅ΠΉ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ³Ρ€Ρ‹. Π’Π°ΠΊ стали Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΈΠ΅ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ Π²Ρ‹Π²ΠΎΠ΄ изобраТСния, Π·Π²ΡƒΠΊ, Ρ€Π°Π±ΠΎΡ‚Π° Π² ΡΠ΅Ρ‚ΠΈ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. ΠŸΠ΅Ρ€Π²ΠΎΠΏΡ€ΠΎΡ…ΠΎΠ΄Ρ†Π΅ΠΌ здСсь ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ Doom ΠΎΡ‚ id Software. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» ΠΈΠ³Ρ€ΠΎΠΊΠ°ΠΌ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Π°ΠΌ быстро Π²ΠΈΠ΄ΠΎΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ΅ ядро — ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΈΠ³Ρ€Ρ‹ с Π½ΠΎΠ²Ρ‹ΠΌΠΈ модСлями, сцСнариСм, Π·Π²ΡƒΠΊΠ°ΠΌΠΈ, ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π».

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΡ создания ΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ Π΄Π²ΠΈΠΆΠΊΠΎΠ² ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Π»Π° поистинС ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Ρ€Π°Π·ΠΌΠ°Ρ… благодаря Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ 3D-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. РСализация Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ ΠΈ Π·Π²ΡƒΠΊΠΎΠΌ стала ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΎΠΉ ΠΈ Π΄ΠΎΡ€ΠΎΠ³ΠΎΡΡ‚оящСй, ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ для своих ΠΈΠ³Ρ€. ΠŸΡ€ΠΎΠ΄Π°ΠΆΠ° Π΄Π²ΠΈΠΆΠΊΠΎΠ² стала Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎΠΉ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠ³Ρ€ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ созданиСм Π΄Π²ΠΈΠΆΠΊΠΎΠ², Π° Π½Π΅ ΠΈΠ³Ρ€. НапримСр, Ρ†Π΅Π½Π° Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ Π½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ извСстного Π΄Π²ΠΈΠΆΠΊΠ° Unreal Engine 2 ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Epic Games составляСт 750 000 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π½Π° ΠΎΠ΄Π½Ρƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ плюс 100 000 Π·Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ, Π° ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΈΠ³Ρ€, Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Π½Π° ΡΡ‚ΠΎΠΌ Π΄Π²ΠΈΠΆΠΊΠ΅, ΠΏΠ΅Ρ€Π΅Π²Π°Π»ΠΈΠ»ΠΎ Π·Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ дСсятка. Π Π°Π· Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ являСтся основой для построСния ΠΈΠ³Ρ€, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ ΠΎΠ½ ΠΈΠ· сСбя прСдставляСт.

1.2 ΠžΠ±Ρ‰Π°Ρ характСристика ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… Π΄Π²ΠΈΠΆΠΊΠΎΠ²

НС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ, общСпринятого опрСдСлСния ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΅Π³ΠΎ ΠΏΠΎ-своСму, ΠΈ Π²Ρ‹Π΄Π΅Π»ΡΠ΅Ρ‚ Π² Π½Π΅Π³ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ элСмСнты. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ схСму ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ°.

Π˜Π³Ρ€ΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ — это Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ³Ρ€ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Он ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ основныС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ Ρ‡Π°ΡΡ‚ΠΎ Π΄Π°Ρ‘Ρ‚ ΠΈΠ³Ρ€Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ консоли ΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Linux, Mac OS ΠΈ Microsoft Windows.

Π˜Π³Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π³ΠΈΠ±ΠΊΡƒΡŽ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ со Π²ΡΠ΅ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ прилоТСния, сокращая Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹, ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ — всС критичСскиС Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹ Π² ΡΠΈΠ»ΡŒΠ½ΠΎ ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ индустрии Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€.

Π’ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ случаС, ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ:

Β· БистСму ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ

Β· БистСму Π²Π²ΠΎΠ΄Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΡΠ΅Ρ‚ΠΈ

Β· БистСму Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ

Β· ЀизичСский Π΄Π²ΠΈΠΆΠΎΠΊ ΠΈΠ»ΠΈ систСму Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΡ столкновСния

Β· БистСму искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π°

Β· Π—Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ

Β· Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Ρ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ

Β· Π‘Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Β· Π Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π²ΠΈΠΆΠΊΠΎΠΌ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ³Ρ€Ρ‹ НСкоторыС ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ возмоТности 3D Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° (Ρ‚.Π΅. Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ) Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ вмСсто всСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΈΠ³Ρ€Π°ΠΌ. Π­Ρ‚ΠΈ Π΄Π²ΠΈΠΆΠΊΠΈ Π΄ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΈΠ³Ρ€Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ»ΠΈ Π΅Ρ‘ ΡΠ±ΠΎΡ€ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π’Π°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π²ΠΈΠΆΠΊΠΎΠ² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ относят ΠΊ Π³Ρ€Π°Ρ„ичСским Π΄Π²ΠΈΠΆΠΊΠ°ΠΌ («Π΄Π²ΠΈΠΆΠΊΠ°ΠΌ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°» ΠΈΠ»ΠΈ «3D Π΄Π²ΠΈΠΆΠΊΠ°ΠΌ») вмСсто Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° «ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ». Однако эта тСрминология ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ²ΠΎ: Ρ‚Π°ΠΊ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ 3D Π΄Π²ΠΈΠΆΠΊΠΈ упомянуты ΠΏΡ€ΠΎ сто ΠΊΠ°ΠΊ «3D Π΄Π²ΠΈΠΆΠΊΠΈ».

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

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° сильно зависит ΠΈ ΠΎΡ‚ ΠΆΠ°Π½Ρ€Π° ΠΈΠ³Ρ€Ρ‹, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ ΡΠΎΠ·Π΄Π°Π΅Ρ‚ся. НапримСр, Π² Π³ΠΎΠ½ΠΎΡ‡Π½Ρ‹Ρ… Π°Ρ€ΠΊΠ°Π΄Π°Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π²ΠΈΡ‚ΠΎΠ³ΠΎ физичСского Π΄Π²ΠΈΠΆΠΊΠ°, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΡ‡Π΅Ρ‚ сил трСния, ΡƒΠΏΡ€ΡƒΠ³ΠΈΡ… соударСний ΠΈ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°. А Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ³Ρ€Π°Ρ… Ρ„ΠΈΠ·ΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ процСсса (гСймплСя — ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… возмоТностСй, ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΠΈΡ… собствСнно ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ процСсс) Π΄Π°Π½Π½ΠΎΠΉ ΠΈΠ³Ρ€Ρ‹, ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Half-life 2.

Часто ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ систСмы Π΄Π²ΠΈΠΆΠΊΠ° Π±ΠΎΠ»Π΅Π΅ спСциализированными ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ. НСкоторыС ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ RenderWare, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ слабосвязанных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ для создания собствСнного Π΄Π²ΠΈΠΆΠΊΠ°, вмСсто Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ настройки Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

НизкоуровнСвыС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, DirectX, SDL ΠΈ OpenAL, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΈΠ³Ρ€Π°Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ-нСзависимый доступ ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΊΠ°ΠΊ устройства Π²Π²ΠΎΠ΄Π° (ΠΌΡ‹ΡˆΡŒ, ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° ΠΈ Π΄ΠΆΠΎΠΉΡΡ‚ΠΈΠΊ), сСтСвыС ΠΈ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹, ΠΈ ΡΠΈΠ»ΡŒΠ½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈΠ³Ρ€.

НСсмотря Π½Π° ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ названия, ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½Ρ‹Π΅ Π΄Π΅ΠΌΠΎ-Ρ€ΠΎΠ»ΠΈΠΊΠΈ, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ симуляторы ΠΈ ΡΡ€Π΅Π΄Ρ‹ модСлирования.

1.3 ГрафичСский Π΄Π²ΠΈΠΆΠΎΠΊ

ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°

ГрафичСский Π΄Π²ΠΈΠΆΠΎΠΊ прСдставляСт собой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ структуры Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π° ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΌΠΈΡ€ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΈΠ³Ρ€ΠΎΠΊΠ° ΠΈΠ»ΠΈ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹. РСшСниС этой Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простым, Ссли ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ разрабатываСтся ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΌ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ имССтся Π½Π΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ связСй ΠΌΠ΅ΠΆΠ΄Ρƒ графичСским Π΄Π²ΠΈΠΆΠΊΠΎΠΌ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ подсистСмами.

ГрафичСский Π΄Π²ΠΈΠΆΠΎΠΊ являСтся «Π»ΠΈΡ†ΠΎΠΌ» ΠΈΠ³Ρ€Ρ‹. ИмСнно ΠΏΠΎ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Ρƒ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Ρƒ ΠΈΠ³Ρ€ΠΎΠΊΠ° складываСтся ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΈΠ³Ρ€Π΅. И ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° — Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π±Π°Π»Π°Π½ΡΠ° ΠΈ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ миссий Π² ΠΈΠ³Ρ€Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ Π½Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ графичСский Π΄Π²ΠΈΠΆΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΌΠ΅Ρ‚ΡŒ:

Β· Π ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ интСрфСйс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ:

Β· Π­ΠΊΡ€Π°Π½Π½Ρ‹Π΅ мСню

Β· Π˜Π³Ρ€ΠΎΠ²ΠΎΠΉ интСрфСйс

Β· Π ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ сцСну:

Β· Π›Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚

Β· ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹

Β· МодСли (с Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠ΅ΠΉ)

Β· ΠžΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ (Π½Π΅Π±ΠΎ, ΠΎΠ±Π»Π°ΠΊΠ°, ΠΏΠΎΠ³ΠΎΠ΄Π° ΠΈ Ρ‚. Π΄.)

Β· Π­Ρ„Ρ„Π΅ΠΊΡ‚Ρ‹ Π’Π΅Π½ΠΈ Π”Π°Π½Π½Ρ‹ΠΉ список ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ всС зависит ΠΎΡ‚ ΠΆΠ°Π½Ρ€Π° ΠΈΠ³Ρ€Ρ‹, ΠΈ ΠΎΡ‚ ΡΡ‚ΠΎΠ³ΠΎ ΠΆΠ΅ зависит, Π½Π° ΠΊΠ°ΠΊΠΈΡ… частях Π΄Π²ΠΈΠΆΠΊΠ° дСлаСтся ΡƒΠΏΠΎΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². НапримСр, Π² ΡΡ‚ратСгиях, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ 3D-ΡˆΡƒΡ‚Π΅Ρ€ΠΎΠ², Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ ΡΡ‚ΠΎΠ»ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚, Ρ‚Π΅Π½ΠΈ.

Π§Π°Ρ‰Π΅ всСго 3D Π΄Π²ΠΈΠΆΠΊΠΈ ΠΈΠ»ΠΈ систСмы Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π² ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… Π΄Π²ΠΈΠΆΠΊΠ°Ρ… построСны Π½Π° Π³Ρ€Π°Ρ„ичСском API, Ρ‚Π°ΠΊΠΎΠΌ ΠΊΠ°ΠΊ Direct3D ΠΈΠ»ΠΈ OpenGL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ GPU ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρ‹. Π”ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ-ускоряСмой 3D Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ использовались ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ всё Π΅Ρ‰Ρ‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… инструмСнтах модСлирования, для Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Π°Ρ Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€Π½ΠΎΡΡ‚ΡŒ Π²Π°ΠΆΠ½Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (количСство ΠΊΠ°Π΄Ρ€ΠΎΠ² Π² ΡΠ΅ΠΊΡƒΠ½Π΄Ρƒ) ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ обСспСчСниС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚воряСт трСбованиям, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Ρ‹ ΠΈΠ»ΠΈ, Π² ΡΠ»ΡƒΡ‡Π°Π΅ Windows Vista, — Direct3D 10.

ΠšΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ готовая ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° оказываСтся Π½Π° ΡΠΊΡ€Π°Π½Π΅ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π°, выполняСтся ряд ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ условно Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ ΠΊ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Ρƒ ΠΈ ΡΠ°ΠΌ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³.

На ΡΡ‚Π°ΠΏΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΊ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Ρƒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ процСссор опрСдСляСт, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ сСйчас задСйствованы, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚, ΠΊΠ°ΠΊΠΈΠ΅ тСкстуры ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚, Ρ‡Ρ‚ΠΎ с Π½ΠΈΠΌΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ дальшС ΠΈ Π³Π΄Π΅ ΠΎΠ½ΠΈ находятся Π² ΠΌΠΈΡ€Π΅. Π˜Π³Ρ€Π° Ρ‚Π°ΠΊΠΆΠ΅ опрСдСляСт мСстополоТСниС ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ ΠΈ Π΅Π΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅. Π”Π°Π»Π΅Π΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ процСссор ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρƒ.

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΡΡ†Π΅Π½Π΅, графичСский Π΄Π²ΠΈΠΆΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ, собствСнно, Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Ρƒ сцСны. ΠšΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° ΠΌΠΎΠΆΠ΅Ρ‚ нСсколько ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ, Π² Π·Π°Π²ΠΈΡΠΈΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ 3D API. Но Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰Π΅ΠΌ случаС Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’ ΡΠ»ΡƒΡ‡Π°Π΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ сначала ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈ ΠΌΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹, ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ модСль Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΡΠΊΡ€Π°Π½Π΅, ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π»ΠΈ ΠΎΠ½Π° Π² ΠΏΠΎΠ»Π΅ зрСния ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹, ΠΈΠ»ΠΈ ΠΎΠ½Π° Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ΄Π°Π»Π΅Π½Π°, Ρ‡Ρ‚ΠΎ Π΅Π΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ. Π’ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ способ описания ΠΌΠΈΡ€Π° для нахоТдСния видимости ΠΌΠΎΠ΄Π΅Π»ΠΈ.

БистСма Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΈΡ€Π° опрСдСляСт, Π³Π΄Π΅ Π² ΠΌΠΈΡ€Π΅ находится ΠΊΠ°ΠΌΠ΅Ρ€Π°, ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ сСкции / ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Ρ‹ ΠΌΠΈΡ€Π° Π²ΠΈΠ΄Π½Ρ‹ Π² ΠΏΠΎΠ»Π΅ зрСния ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹. ВсС это ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. НапримСр, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ BSP Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π², ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΏΠΎΡ€Ρ‚Π°Π»ΠΎΠ². Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². ВсС ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Ρ‹, проходящиС Ρ‡Π΅Ρ€Π΅Π· тСст отсСчСния лишнСй Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ, ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρƒ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ΠΎΠ².

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²ΡˆΠ΅Π³ΠΎΡΡ Π½Π° Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€, Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ осущСствляСт Ρ‚Ρ€Π°Π½ΡΡ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π° Π² ΡΠΎΠΎΡ‚вСтствии с Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΉ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ) ΠΈ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΉ ΠΌΠΈΡ€Π° (мСстополоТСния ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ ΠΊΠ°ΠΌΠ΅Ρ€Π΅). Π—Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Ρ‹ ΠΈΡΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ наличия Π½Π΅Π»ΠΈΡ†Π΅Π²Ρ‹Ρ… ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ΠΎΠ² (находящихся Π½Π° Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ сторонС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°). НСлицСвыС ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Ρ‹, ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅, ΠΎΡ‚Π±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‚ΡΡ. ΠžΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Ρ‹ ΠΎΡΠ²Π΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΡΠΎΠΎΡ‚вСтствии с Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ свСтовыми источниками. Π’ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ Π·Π°Ρ‚Π΅ΠΌ опрСдСляСт, ΠΊΠ°ΠΊΠΈΠ΅ тСкстуры ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈ ΡƒΠ΄ΠΎΡΡ‚овСряСтся, Ρ‡Ρ‚ΠΎ API/Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ Ρ‚Скстуры для отобраТСния. Π—Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Ρ‹ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π° API Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρƒ.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ получаСтся сформированноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π±ΡƒΡ„Π΅Ρ€Π΅ ΠΊΠ°Π΄Ρ€Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°Ρ‚Π΅ΠΌ отобраТаСтся Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π΅.

ΠžΡ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΠΈ прохоТдСния ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π² Π±ΠΎΠ»ΡŒΡˆΠΎΠΉ стСпСни зависит ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ высокотСхнологичСских ΠΈΠ³Ρ€. МСдлСнная ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ³Ρ€Ρ‹ ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ нСприятноС Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±Ρ‰ΠΈΠΉ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ процСсс. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ графичСского Π΄Π²ΠΈΠΆΠΊΠ° являСтся ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΠ³Ρ€, ΠΈ Π²Π°ΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ баланс ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. Для возмоТности запуска ΠΈΠ³Ρ€Ρ‹ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… конфигурациях ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² (это Π½Π΅ ΠΎΡ‚носится ΠΊ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹ΠΌ приставкам, Ρ‚. ΠΊ. тСхничСскиС возмоТности приставок ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΈΡ… ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ся Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ всСго Ρ†ΠΈΠΊΠ»Π° ΠΈΡ… ΠΆΠΈΠ·Π½ΠΈ) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ самим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ качСства ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ. БоотвСтствСнно Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… настроСк Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ прСдусмотрСна ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ графичСского Π΄Π²ΠΈΠΆΠΊΠ°

1.4 Π¨Π΅ΠΉΠ΄Π΅Ρ€Π½Ρ‹Π΅ эффСкты

1.4.1 О ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π°Ρ…

Π¨Π΅ΠΉΠ΄Π΅Ρ€ΠΎΠΌ Π² ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ смыслС называСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ опрСдСлСния повСрхности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ описаниС освСщСния, тСкстурирования, постобработки ΠΈ Ρ‚. ΠΏ. Π¨Π΅ΠΉΠ΄Π΅Ρ€Ρ‹ выросли ΠΈΠ· Ρ€Π°Π±ΠΎΡ‚ ΠšΡƒΠΊΠ° (Cook's shade trees [12]) ΠΈ ΠŸΠ΅Ρ€Π»ΠΈΠ½Π° (Perlin's pixel stream language). ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Ρ‹ Π±Ρ‹Π»ΠΈ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ прСдставлСны Π² RenderMan ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Pixar, Ρ‚Π°ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ нСсколько Ρ‚ΠΈΠΏΠΎΠ² ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ²: light source shaders, surface shaders, displacement shaders, volume shaders, imager shaders. Π­Ρ‚ΠΈ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Ρ‹ Ρ‡Π°Ρ‰Π΅ всСго ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ процСссорами ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΎΠ»Π½ΠΎΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ исслСдоватСли описывали ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ Π½Π° RenderMan языки, Π½ΠΎ ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ускорСния. Peercy сотоварищи Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ ΠΈ ΡƒΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π° Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΎΠ² Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°. Π¨Π΅ΠΉΠ΄Π΅Ρ€Ρ‹ RenderMan Ρ€Π°Π·Π±ΠΈΠ²Π°Π»ΠΈΡΡŒ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ Π²ΠΎ Π±ΡƒΡ„Π΅Ρ€Π΅ ΠΊΠ°Π΄Ρ€Π°. ПозднСС появились языки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ ускорСнными Π² Direct X ΠΈ OpenGL. Π’Π°ΠΊ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Ρ‹ Π±Ρ‹Π»ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ для графичСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’ΠΈΠ΄Π΅ΠΎΡ‡ΠΈΠΏΡ‹ Ρ€Π°Π½Π½Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ дСйствия (fixed-function), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ освСщСния Π±Ρ‹Π» ТСстко зафиксирован Π² Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌ обСспСчСнии, Π³Π΄Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ нСльзя Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Π—Π°Ρ‚Π΅ΠΌ, ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ-ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ Π²ΠΈΠ΄Π΅ΠΎΡ‡ΠΈΠΏΠΎΠ² постСпСнно Π²Π²Π΅Π»ΠΈ Π² ΡΠ²ΠΎΠΈ Ρ‡ΠΈΠΏΡ‹ элСмСнты программируСмости, сначала это Π±Ρ‹Π»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ слабыС возмоТности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π² Microsoft DirectX API, Π½ΠΎ ΡΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ возмоТности постоянно Ρ€Π°ΡΡˆΠΈΡ€ΡΠ»ΠΈΡΡŒ.

ВСрсия Shader Model 2.0 (SM2), появившись Π² DirectX 9, ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ»Π° возмоТности ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ² Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΈ ΡΠ»ΠΎΠΆΠ½Ρ‹Π΅ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Ρ‹ ΠΈ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ²ΡˆΠΈΠΉΡΡ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄. Π‘Ρ‹Π»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ расчСтов с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π² ΠΏΠΈΠΊΡΠ΅Π»ΡŒΠ½Ρ‹Ρ… ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π°Ρ…, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ стало ваТнСйшим ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ. DirectX 9, Π² Π»ΠΈΡ†Π΅ возмоТностСй SM2, Ρ‚Π°ΠΊΠΆΠ΅ привнСс ΠΈ ΡΠ·Ρ‹ΠΊ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² высокого уровня — high-level shader language (HLSL), вСсьма ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° ΡΠ·Ρ‹ΠΊ Π‘ΠΈ. И ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ компилятор, пСрСводящий HLSL ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ ΠΊΠΎΠ΄, «ΠΏΠΎΠ½ΡΡ‚Π½Ρ‹ΠΉ» для Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… срСдств Π’ Ρ†Π΅Π»ΠΎΠΌ, ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΊ Π³Ρ€Π°Ρ„ичСскому ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρƒ мноТСство Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй ΠΏΠΎ Ρ‚рансформации ΠΈ ΠΎΡΠ²Π΅Ρ‰Π΅Π½ΠΈΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΈ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ пиксСлСй Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ этого хотят Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ прилоТСния.

ВсС ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Ρ‹ состоях ΠΈΠ· Π΄Π²ΡƒΡ… ΡΠΎΡΡ‚ΠΎΠ²Π»ΡΡŽΡ‰ΠΈΡ…: это Π²Π΅Ρ€ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΈ ΠΏΠΈΠΊΡΠ΅Π»ΡŒΠ½Ρ‹Π΅ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Ρ‹. Π’Π΅Ρ€ΡˆΠΈΠ½Π½Ρ‹Π΅ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Ρ‹ — это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, выполняСмыС Π²ΠΈΠ΄Π΅ΠΎ Ρ‡ΠΈΠΏΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ производят матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ, ΠΈΠ½Π°Ρ‡Π΅ говоря, ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΏΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΈ ΠΈΡ… ΠΎΡΠ²Π΅Ρ‰Π΅Π½ΠΈΡŽ. КаТдая Π²Π΅Ρ€ΡˆΠΈΠ½Π° опрСдСляСтся нСсколькими ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π² 3D пространствС опрСдСляСтся ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ: x, y ΠΈ z. Π’Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎ ΠΏΠΈΡΠ°Π½Ρ‹ характСристиками Ρ†Π²Π΅Ρ‚Π°, тСкстурными ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ ΠΈ Ρ‚. ΠΏ. Π’Π΅Ρ€ΡˆΠΈΠ½Π½Ρ‹Π΅ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Ρ‹, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ эти Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, вычисляя ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΈ / ΠΈΠ»ΠΈ Ρ†Π²Π΅Ρ‚. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Π½ΠΎΠ³ΠΎ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π° — Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ гСомСтричСской ΠΌΠΎΠ΄Π΅Π»ΠΈ, которая Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ обрабатываСтся. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π² ΠΏΡ€ΠΎΡΡ‚ранствС, Π½ΠΎΡ€ΠΌΠ°Π»ΡŒ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Ρ†Π²Π΅Ρ‚Π° ΠΈ Ρ‚СкстурныС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹. Π Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ выполняСмой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ слуТат Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ для дальнСйшСй части ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°, растСризатор Π΄Π΅Π»Π°Π΅Ρ‚ Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΡΡ†ΠΈΡŽ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… для повСрхности Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ пиксСля исполняСт ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠΈΠΊΡΠ΅Π»ΡŒΠ½Ρ‹ΠΉ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€.

ΠŸΠΈΠΊΡΠ΅Π»ΡŒΠ½Ρ‹Π΅ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Ρ‹ — это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, выполняСмыС Π²ΠΈΠ΄Π΅ΠΎΡ‡ΠΈΠΏΠΎΠΌ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ растСризации для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ пиксСля изобраТСния, ΠΎΠ½ΠΈ производят Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΈΠ· Ρ‚Скстур ΠΈ / ΠΈΠ»ΠΈ матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Ρ†Π²Π΅Ρ‚ΠΎΠΌ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ (Z-buffer) пиксСлСй. ВсС инструкции пиксСльного ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ попиксСльно, послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚рансформированиСм ΠΈ ΠΎΡΠ²Π΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Ρ‹. ΠŸΠΈΠΊΡΠ΅Π»ΡŒΠ½Ρ‹ΠΉ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ Π² ΠΈΡ‚ΠΎΠ³Π΅ своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π²Π΅Ρ‚Π° пиксСля ΠΈ Z-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ этапа графичСского ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°, смСшивания (blending).

1.4.2 ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ происходит Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ изобраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π·Π±ΠΈΡ‚ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… шагов [1, 3]. Π˜Π½Ρ‹ΠΌΠΈ словами Π² Π³Ρ€Π°Ρ„ичСском процСссорС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конвСйСрная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ….

1) Π’ ΡΠ°ΠΌΠΎΠΌ Π½Π°Ρ‡Π°Π»Π΅ графичСского ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° располоТСн Π±Π»ΠΎΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π΅Ρ€ΡˆΠΈΠ½. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ происходит ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° — Π΅ΡΡ‚ΡŒ Π²Π΅Ρ€ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ (Vertex Shader). Помимо значСния ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ привязаны тСкстурныС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹, Ρ†Π²Π΅Ρ‚, Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ, ΠΈ.Ρ‚.Π΄. ШСйдСрная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΈΡ…, выдавая трансформированныС Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ Π² Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΎΠΉ систСмС ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΈ Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ΅ ΠΎΡ‚ -1.0 Π΄ΠΎ 1.0. Π’Π°ΠΊ ΠΆΠ΅ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ этапС вычисляСтся ΠΎΡΠ²Π΅Ρ‰Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ, находящСйся Π² Π²Π΅Ρ€ΡˆΠΈΠ½Π½ΠΎΠΌ Π±ΡƒΡ„Π΅Ρ€Π΅.

ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Рисунок 1.1 Π‘Ρ…Π΅ΠΌΠ° графичСского ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°

2) На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ этапС ΠΈΠ΄Π΅Ρ‚ процСсс сборки Π²Π΅Ρ€ΡˆΠΈΠ½ Π² ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹. Π’ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² это ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, это ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ΠΈ), Π»ΠΈΠ½ΠΈΠΈ, Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΈ Ρ‚. ΠΏ. На ΡΡ‚ΠΎΠΌ ΠΆΠ΅ этапС ΠΈΠ΄Π΅Ρ‚ отсСчСниС Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ…, скрытых ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹Ρ… частСй. Π­Ρ‚ΠΎ дСлаСтся с Ρ†Π΅Π»ΡŒΡŽ экономии рСсурсов ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅Ρ‚ нСобходимости Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Π΅Π³ΠΎ Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ. Π’ ΠΈΡ‚ΠΎΠ³Π΅ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ стадии ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π΅Π»ΠΎ с ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ², Π° Π½Π΅ с Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½Ρ‹Ρ… Π²Π΅Ρ€ΡˆΠΈΠ½.

3) ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΈΠ· Ρ‚ΠΎΡ‡Π΅ΠΊ Π±Ρ‹Π»ΠΈ собраны графичСскиС ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ Π² Π΄Π΅Π»ΠΎ вступаСт гСомСтричСский ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ (ΠΏΡ€ΠΈ условии Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±Ρ‹Π»Π° написана Π½Π° Shader Model 4.0 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ ΠΈ ΠΏΡ€ΠΈ нСобходимости добавляСт Π½ΠΎΠ²Ρ‹Π΅.

4) Π”Π°Π»Π΅Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π²Π΅Ρ€ΡˆΠΈΠ½ Ρ‚Ρ€Π°Π½ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΎΠΊΠΎΠ½Π½ΡƒΡŽ систСму, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ΠΈ ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π½Π° ΡΠΊΡ€Π°Π½. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ программист ΠΌΠΎΠΆΠ΅Ρ‚ с ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°Ρ‡Π°Π»Π° Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ всС Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π² ΠΎΠΊΠΎΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°Ρ…. Π’ ΡΡ‚ΠΎΠΌ случаС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² 1−3 ΡˆΠ°Π³Π°Ρ… ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° ΠΎΡ‚ΠΏΠ°Π΄Π°Π΅Ρ‚.

5) ПослС окончания процСсса трансформации ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π² ΠΎΠΊΠΎΠ½Π½ΡƒΡŽ систСму слСдуСт этап растСризации, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² Π½Π°Π±ΠΎΡ€Ρ‹ пиксСлСй экрана. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, привязанныС ΠΊ Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌ, ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π°ΡŽΡ‚ΡΡ интСрполяции, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ пиксСль ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свойства, ΠΏΠΎΠΌΠΈΠΌΠΎ Π΅Π³ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°Π΄Π°Π² Ρ†Π²Π΅Ρ‚Π° для Π²Π΅Ρ€ΡˆΠΈΠ½ Π»ΠΈΠ½ΠΈΠΈ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΏΠ»Π°Π²Π½Ρ‹ΠΉ Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΏΠΎ Ρ†Π²Π΅Ρ‚Ρƒ Π½Π° ΠΏΡ€ΠΎΡ‚яТСнии всСй Π΄Π»ΠΈΠ½Ρ‹ Π»ΠΈΠ½ΠΈΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π½Π°Π±ΠΎΡ€ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… пиксСлСй, Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ значСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄ΡƒΡ‚ вычислСны ΠΏΠΎΠ·ΠΆΠ΅. По ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡŽ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ этапа, ΠΌΡ‹ Ρ‚СряСм ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ связь с Π²Π΅Ρ€ΡˆΠΈΠ½Π½Ρ‹ΠΌ прСдставлСниСм ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ², Π΄Π°Π»Π΅Π΅ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ с Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹ΠΌΠΈ значСниями.

6) Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΡ‚ΠΎΠΊ пиксСлСй, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ интСрполирования ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ², ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ ΠΏΠΈΠΊΡΠ΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Ρƒ (Pixel Shader), Π³Π΄Π΅ ΠΎΠ½ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚ываСтся Π² ΡΠΎΠΎΡ‚вСтствии с Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Помимо Ρ†Π²Π΅Ρ‚Π° пиксСля, Π½Π° Π²Ρ…ΠΎΠ΄ ΠΊ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Ρƒ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Π§Π°Ρ‰Π΅ всСго это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ тСкстурных ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ происходит Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° тСксСля ΠΈΠ· Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ тСкстуры, находящСйся Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠ°Ρ€Ρ‚Ρ‹. Π’Π½Π΅ зависимости ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΈΠΊΡΠ΅Π»ΡŒΠ½Ρ‹ΠΉ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ обязан Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ†Π²Π΅Ρ‚ ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ пиксСля, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰Π΅Π³ΠΎ Π½Π° Π²Ρ…ΠΎΠ΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ этапу графичСского ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°.

7) ΠŸΠΎΡΡ‚ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° пиксСлСй прСдставляСт собой занСсСниС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² выполнСния ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π±ΡƒΡ„Π΅Ρ€ ΠΊΠ°Π΄Ρ€ΠΎΠ², ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π²Π΅Π΄Π΅Π½ Π½Π° ΡΠΊΡ€Π°Π½ ΠΈΠ»ΠΈ сохранСн Π² Ρ‚Скстуру.

1.5 ГрафичСскиС API

1.5.1 ΠžΠ±Π·ΠΎΡ€ API

На ΡΠ΅Π³ΠΎΠ΄Π½ΡΡˆΠ½ΠΈΠΉ дСнь сущСствуСт Ρ‚Ρ€ΠΈ основных API ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ графичСский ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€: Direct3D, OpenGL ΠΈ XNA. КаТдоС ΠΈΠ· Π½ΠΈΡ… ΠΈΠΌΠ΅Π΅Ρ‚ свои прСимущСства ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠΈ.

OpenGL

OpenGL, являСтся, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, самым распространСнным API для программирования GPU. Он ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ся Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ соврСмСнных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ эффСктивныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ OpenGL для Ρ‚Π°ΠΊΠΈΡ… срСд ΠΊΠ°ΠΊ Windows, Linux, MacOS ΠΈ PlayStation III. OpenGL Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ SGI (Silicon Graphics Incorporated), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·ΠΆΠ΅, Π² 1992 Π³ΠΎΠ΄Ρƒ Π²ΠΎΠ·Π³Π»Π°Π²ΠΈΠ» консорциум OpenGL ARB (Architecture Review Board) Π² ΡΠΎΡΡ‚Π°Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ сСйчас входят Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… графичСских Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… срСдств, ΠΊΠ°ΠΊ SGI, 3Dlabs, Matrox ΠΈ Evans & Sutherland, ATI ΠΈ NVIDIA. Из ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния входящих Π² ΡΠΎΡΡ‚Π°Π² ARB ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ Intel, IBM, Apple, Dell, Hewlett-Packard ΠΈ Sun Microsystems. Π’Π°ΠΊ ΠΆΠ΅ нСльзя Π½Π΅ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния — IdSoftware. Из Π΄ΠΎΡΡ‚оинств OpenGL ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ: Π½Π΅Π²Π΅Ρ€ΠΎΡΡ‚Π½ΡƒΡŽ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΡΡ‚ΡŒ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ ΠΊΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ. К Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠ°ΠΌ OGL ΠΌΠΎΠΆΠ½ΠΎ, отнСсти лишь ΠΎΠ΄Π½Ρƒ, Π½ΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ — ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Π΅ Ρ‚Π΅ΠΌΠΏΡ‹ развития ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ вСрсий OpenGL. Π­Ρ‚ΠΎ связанно с ΠΏΠΎΡΡ‚оянно Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠΌΠΈ разногласиями ΠΈ Π½Π΅ΡΡ‚Ρ‹ΠΊΠΎΠ²ΠΊΠ°ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡Π»Π΅Π½Π°ΠΌΠΈ консорциума, Π° ΡΡ‚ΠΎ попросту нСдопустимо Π² ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΌΡΡ ΠΌΠΈΡ€Π΅ графичСских Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ².

Direct3D

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы сСмСйства Windows, начиная с 95-ΠΎΠΉ вСрсии, способны прСвосходно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ OpenGL, Microsoft ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Π²Π΅Π΄Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ своСго собствСнного API для программирования графичСских Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ². Direct3D являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° DirectX, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π² ΡΠ΅Π±Ρ Π½Π°Π±ΠΎΡ€ инструмСнтов для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ°, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ DirectSound ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со Π·Π²ΡƒΠΊΠΎΠΌ, DirectInput ΠΈ DirectPlay для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Π½Π΅ΡˆΠ½ΠΈΠΌΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ ΠΈ ΡΠ΅Ρ‚ΡŒΡŽ соот-вСтствСнно. Direct3D, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ OpenGL, Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся кроссплатформСнными ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ся лишь систСмами Microsoft Windows ΠΈ Microsoft XBox. Но Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Ρ Ρ‚ΠΎΠΌΡƒ Ρ„Π°ΠΊΡ‚Ρƒ, Ρ‡Ρ‚ΠΎ Microsoft рСгулярно выпускаСт Π½ΠΎΠ²Ρ‹Π΅ вСрсии DirectX, Π΅Π³ΠΎ API всСгда ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ возмоТности Π½ΠΎΠ²Π΅ΠΉΡˆΠΈΡ… Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚.

The XNA Framework

XNA Framework — самая молодая ΠΈΠ· Ρ‚Ρ€ΠΎΠΈΡ†Ρ‹ API, Π΄Π°Ρ‚Π° Π΅Π΅ Π²Ρ‹ΠΏΡƒΡΠΊΠ° — 2007;ΠΎΠΉ Π³ΠΎΠ΄. XNA базируСтся Π½Π° DirectX SDK ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚авляСт программисту высокоуровнСвый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ XNA ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ лишь язык C#, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΅Π΅ ΠΎΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ построСны Π½Π° Microsoft.NET framework. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ — Microsoft Windows ΠΈ Xbox 360.

1.5.2 Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Ρ… основных графичСских API

ΠšΡ€ΠΎΡΡ-платформСнная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ лишь Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅, Ρ‚ΠΎ Π²Ρ‹Π±ΠΎΡ€ API Ρ‡Π°Ρ‰Π΅ всСго достаточно прост. Но Ρ‡Π°ΡΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€Π° ΠΈΠ»ΠΈ ΠΆΠ΅ коммСрчСскоС офисноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ нСсколькими ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ.

На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ большС всСго Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ OpenGL: Microsoft Windows, Linux, Mac. OpenGL Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ Xbox ΠΈ Xbox 360 Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€-ТиваСтся PlayStation 3.

Direct3D API Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ лишь Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Microsoft (Windows, Xbox, Xbox 360), Π° Ρ‚Π°ΠΊΠΆΠ΅ эмулируСтся ΠΏΠΎΠ΄ Linux ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Wine, которая пСрСнаправляСт Π²Ρ‹Π·ΠΎΠ²Ρ‹ Direct3D API Π² OpenGL API.

Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, XNA Framework Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ лишь Π½Π° Ρ‚Π΅Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Microsoft, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚.NET framework (Ρ‚.Π΅. Windows XP, Vista, 7 ΠΈ Xbox 360).

ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° использования

Π’ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… синтаксиса ΠΊΠΎΠ΄Π° самым простым для использования Π±ΡƒΠ΄Π΅Ρ‚ XNA API, Π° ΡΠ°ΠΌΡ‹ΠΌ слоТным — DirectX. Π’Π°ΠΊ ΠΊΠ°ΠΊ DirectX ΠΈ OpenGL — Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ C, прСдоставляСмый интСрфСйс Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ классы ΠΈ ΠΏΡ€ΠΎΡΡ‚ранства ΠΈΠΌΠ΅Π½.

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, XNA ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ.NET, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π΅Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования с Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ языками, Π½ΠΎ Π»ΠΈΡˆΡŒ с ΡƒΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌΡ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ классы ΠΈ ΠΏΡ€ΠΎΡΡ‚ранства ΠΈΠΌΠ΅Π½. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² XNA встроСно мноТСство встроСнных классов-ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΎΠ², ΠΊΠ°ΠΊ написанных ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для XNA Framework, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚авляСмых.NET.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли OpenGL ΠΈ Direct3D Π±Π»ΠΈΠΆΠ΅ ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° ΡΠ·Ρ‹ΠΊΠΈ высокого уровня, врСмя, Π·Π°Ρ‚Ρ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ прилоТСния ΠΏΠΎΠ΄ эти API, Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большС, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ использовании XNA.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Π’Π°ΠΊ ΠΊΠ°ΠΊ OpenGL ΠΈ Direct3D — API основанныС Π½Π° Π‘, ΠΎΠ½ΠΈ Π±Π»ΠΈΠΆΠ΅ ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ, ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ абстракции. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ€Π°Π·Π½ΠΈΡ†Π° Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ API нСсущСствСнны. Если ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ различия, Ρ‚ΠΎ ΡΡ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ скорСС всСго Π²Ρ‹Π·Π²Π°Π½ΠΎ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρ‹ выполняСт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ API.

XNA Framework — это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°.NET, которая выполняСт Π²Ρ‹Π·ΠΎΠ²Ρ‹ Direct3D Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ.NET Framework Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π’Π°ΠΊΠΎΠΉ высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ абстракции ΠΌΠΎΠΆΠ΅Ρ‚ привСсти Π² ΠΏΠΎΡ‚Срям ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Бвойства

API часто ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ количСством свойств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ выпуска. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ API постоянно ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ, увСличивая Π½ΠΎΠΌΠ΅Ρ€ Π² Π½Π°Π·Π²Π°Π½ΠΈΡΡ… вСрсии. НовыС вСрсии SDK для DirectX/Direct3D Π²Ρ‹ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ нСсколько мСсяцСв.

OpenGL API Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² ΡΠ΅Π±Ρ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт нСзависимым производитСлям Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои собствСнныС ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ, Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ‚ Π²Ρ‹ΠΏΡƒΡΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ΠΈΠ»ΠΈ Π½ΠΎΠ²Ρ‹Ρ… вСрсий Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚.

XNA Framework основана Π½Π° 9-ΠΎΠΉ вСрсии Direct3D ΠΈ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ лишь Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» этого API. Если новая вСрсия Direct3D выпускаСтся, XNA ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ лишь ΠΏΠΎΠ·ΠΆΠ΅, ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ ΡƒΡΡ‚ΡƒΠΏΠ°ΡŽ Π² ΡΡ‚ΠΎΠΌ ΠΏΠ»Π°Π½Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠΌ API.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°

OpenGL API поддСрТиваСтся ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сообщСством Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². DirectX API поддСрТиваСтся ΠΊΠ°ΠΊ сообщСством Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ‚Π°ΠΊ ΠΈ Π°Π²Ρ‚ΠΎΡ€Π°ΠΌΠΈ API Ρ‡Π΅Ρ€Π΅Π· MSDN. XNA Framework Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ DirectX.

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ

Direct3D API Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Windows ΠΈ Xbox, Π° Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΠ³Ρ€.

OpenGL ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒΡŽ срСди ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… 3D программистов, Π½ΠΎ ΡΡ€Π΅Π΄ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΠ³Ρ€ интСрСс ΠΊ Π΄Π°Π½Π½ΠΎΠΌΡƒ API иссяк ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 2000;ΠΎΠΌ Π³ΠΎΠ΄Ρƒ. OpenGL — СдинствСнный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ графичСским ускорСниСм ΠΏΠΎΠ΄ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΌΠΈ Microsoft.

XNA Framework популярна, Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, срСди программистов, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΈΠΊΠ° — Ρ…ΠΎΠ±Π±ΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ срСди Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ основы программирования 2D ΠΈ 3D Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠ΄ XNA Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ΠΎ всСго нСсколько ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°.

ЛицСнзия

ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΌ аспСктом Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ — это Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½Ρ‹Π΅ ограничСния, Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π½Π° API. OpenGL ΠΈ Direct3D ΠΈΠΌΠ΅ΡŽΡ‚ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ коммСрчСскиС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ Π±Π΅Π· ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ.

Для выпуска ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΏΠΎΠ΄ XNA Framework Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠ΅ соглашСниС ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΠΈ Microsoft, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ использованиС сСтСвых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ XNA. XNA Game Studio Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ коммСрчСских ΠΈΠ³Ρ€ ΠΏΠΎΠ΄ Xbox 360, Π½ΠΎ Π²Ρ‹ΠΏΡƒΡΠΊ ΠΈΠ³Ρ€ ΠΏΠΎΠ΄ Windows Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρ‹ ΠΏΠΎΠ΄ Xbox 360, сущСствуСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ подписка для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π² $ 99.

Π’Π°Π±Π»ΠΈΡ†Π° 1: Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Ρ… основных графичСских API

Бвойства

OpenGL

Direct3D

XNA

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, число

Π”Π°, мноТСство

Π”Π°, Ρ‚Ρ€ΠΈ

Π”Π°, Π΄Π²Π΅

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ освоСния

Высокая

Высокая

Низкая

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ язык (Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ)

C

C

C#

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ языки

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ языков

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ языков

NET языки

Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Π”Π°

Π”Π°

НСт

Π›ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½Ρ‹Π΅ ограничСния

НСт

НСт

Π”Π°

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ

НСт

Π”Π°, ΠΏΠ»Π°Ρ‚Π½ΠΎ

Π”Π°, ΠΏΠ»Π°Ρ‚Π½ΠΎ

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Нативный ΠΊΠΎΠ΄

Нативный ΠΊΠΎΠ΄

УправляСмый ΠΊΠΎΠ΄

1.5.3 ΠžΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π³Ρ€Π°Ρ„ичСскими API

Direct3D ΠΈ OpenGL ΠΈΠΌΠ΅ΡŽΡ‚ ряд ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΈΡ… ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π΅ ΠΈ Π½Π°Π±ΠΎΡ€Π΅ прСдоставляСмых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½ΠΎ Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ½ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Ρ€ΠΎΠ»ΡŒ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ систСму для исполнСния ΠΊΠΎΠ΄Π° ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π° Π½Π° GPU. Π­Ρ‚ΠΎΡ‚ процСсс Π² ΠΎΠ±Ρ‰ΠΈΡ… Ρ‡Π΅Ρ€Ρ‚Π°Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π±ΠΈΡ‚ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ этапы:

1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ графичСского устройства (device) ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ собой ΡΠ²ΠΎΠ΅ΠΎΠ±Ρ€Π°Π·Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ модСль графичСского процСссора. ИмСнно Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ осущСствляСтся ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с GPU.

2. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π±ΡƒΡ„Π΅Ρ€Π° Π²Π΅Ρ€ΡˆΠΈΠ½ (vertex buffer), содСрТащСго ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ всСх Π²Π΅Ρ€ΡˆΠΈΠ½, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π² ΡΡ‚ΠΎΠΉ Ρ€ΠΎΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ освСщСнности Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, Π΅Π΅ Ρ‚СкстурныС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ (ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для привязки тСкстуры ΠΊ Π³Ρ€Π°Ρ„ичСскому ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρƒ), Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ ΠΈ.Ρ‚.Π΄.

3. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° тСкстур. На ΡΡ‚ΠΎΠΌ этапС всС тСкстуры ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π²Π΅Π΄Π΅Π½Π½ΡƒΡŽ для Π½ΠΈΡ… ΠΎΠ±Π»Π°ΡΡ‚ΡŒ графичСской памяти, ΠΎΡ‚ΠΊΡƒΠ΄Π°, ΠΏΠΎΠ·ΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ считаны ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ.

4. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²-эффСктов, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… собой Π½Π°Π±ΠΎΡ€ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

5. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ графичСского Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° всСх ΠΌΠ°Ρ‚Ρ€ΠΈΡ† ΠΈ ΠΊΠΎΠ½ΡΡ‚Π°Π½Ρ‚, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для исполнСния эффСкта. На Π΄Π°Π½Π½ΠΎΠΌ этапС Ρ‚Π°ΠΊ ΠΆΠ΅ происходит ассоциация самплСров (sampler) эффСкта с Ρ€Π°Π½Π΅Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ тСкстурами.

6. Π”Π°Π»Π΅Π΅ слСдуСт ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ этап — визуализация сцСны (Scene). ИмСнно здСсь Π² Π΄Π΅Π»ΠΎ вступаСт графичСский ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄Π΅Π»Ρ‹Π²Π°Π΅Ρ‚ всю Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ Π½Π°Π±ΠΎΡ€Π° Ρ‚ΠΎΡ‡Π΅ΠΊ Π² Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½ΠΎΠ΅ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

7. ПослС окончания этапа Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΡƒΡ„Π΅Ρ€ ΠΊΠ°Π΄Ρ€Π° содСрТит ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠ²Π»ΡΡŽΡ‰Π΅Π΅ΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°. Π”Π°Π»Π΅Π΅ ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ Π½Π° ΡΠΊΡ€Π°Π½, Π»ΠΈΠ±ΠΎ сохранСно Π² Ρ‚Скстуру.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ пСрСчислСнныС Π²Ρ‹ΡˆΠ΅ этапы Π΅Π΄Π²Π° Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ инструкциСй ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡŽ графичСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π§Π°ΡΡ‚ΡŒ ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ попросту Π²Ρ‹ΠΊΠΈΠ½ΡƒΡ‚ΡŒ, Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами. ВсС зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.

1.6 ВСорСтичСский ΠΎΠ±Π·ΠΎΡ€ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π½Ρ‹Ρ… эффСктов

1.6.1 Π Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ΅ освСщСниС

Π Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ΅ освСщСниС (ambient lighting) обСспСчиваСт постоянноС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ освСщСниС для всСй сцСны. Оно освСщаСт всС Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ‚ Π½ΠΈ ΠΎΡ‚ ΠΊΠ°ΠΊΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² освСщСния. Π­Ρ‚ΠΎ самый простой ΠΈ Π±Ρ‹ΡΡ‚Ρ€Ρ‹ΠΉ Ρ‚ΠΈΠΏ освСщСния, Π½ΠΎ ΠΏΡ€ΠΈ этом Π΄Π°Π΅Ρ‚ Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ рСалистичный Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π€ΠΎΡ€ΠΌΡƒΠ»Π° для вычислСния этой ΠΌΠΎΠ΄Π΅Π»ΠΈ освСщСния Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ проста, Ρ‚. ΠΊ. Ρ‚Π°ΠΌ всСго ΠΎΠ΄Π½Π° арифмСтичСская опСрация — ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅. Для Π΅Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡ достаточно ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ Ρ†Π²Π΅Ρ‚ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° Π½Π° ΠΈΠ½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒ освСщСния:

(1)

1.6.2 Диффузионная модСль освСщСния

Диффузная модСль освСщСния (diffuse lighting model) — модСль освСщСния, которая зависит ΠΎΡ‚ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ источника освСщСния ΠΈ ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ повСрхности. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠ·Π»ΡƒΡ‡Π΅Π½ΠΈΠ΅ свСта ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π²ΠΎ Π²ΡΠ΅Ρ… направлСниях, Π²ΠΈΠ΄ΠΎΠ²ΠΎΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, Ρ‚. Π΅. v = 0. Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большСго вычислСния, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ измСняСтся для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ затСняСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΠΏΡ€ΠΈΠ΄Π°Π΅Ρ‚ ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΌ. Π‘Π²Π΅Ρ‚ ΠΏΠ°Π΄Π°Π΅Ρ‚, Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½ΡΡ всю ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ (ΠΊΠ°ΠΊ Π² ΡΠ»ΡƒΡ‡Π°Π΅ с Ρ€Π°Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ освСщСниСм), Π° ΡΠΎΠ·Π΄Π°Π΅Ρ‚ся Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ, свСт Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ Π½Π° ΠΊΠ°ΠΊΡƒΡŽ Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ.

Рисунок 1.2. Диффузная модСль освСщСния Если Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ источника освСщСния пСрпСндикулярСн повСрхности, Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ матовости Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒΡΡ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΠ½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒ свСта зависит ΠΎΡ‚ ΡƒΠ³Π»Π° Π±. Для расчСта Π΄ΠΈΡ„Ρ„ΡƒΠ·Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ освСщСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° (ΠΏΠΎ Π·Π°ΠΊΠΎΠ½Ρƒ Π›Π°ΠΌΠ±Π΅Ρ€Ρ‚Π°):

(2)

1.6.3 Бликовая модСль освСщСния

Π’ ΡΡ‚ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ освСщСния ΠΏΠΎΠΌΠΈΠΌΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ источника освСщСния ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈ (ΠΊΠ°ΠΊ Π² ΡΠ»ΡƒΡ‡Π°Π΅ с Π΄ΠΈΡ„Ρ„ΡƒΠ·Π½ΠΎΠΉ модСлью освСщСния) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΅Ρ‰Π΅ Π΄Π²Π° Π²Π΅ΠΊΡ‚ΠΎΡ€Π°: Π²ΠΈΠ΄ΠΎΠ²ΠΎΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ отраТСния. Π‘Π»ΠΈΠΊΠΎΠ²ΡƒΡŽ модСль освСщСния (specular lighting model) ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» Π‘ΡƒΠΈ-Π’ΡƒΠΎΠ½Π³ Π€ΠΎΠ½Π³.

Рисунок 1.3. Бликовая модСль освСщСния Π£Π³ΠΎΠ» ΠΌΠ΅ΠΆΠ΄Ρƒ Π²ΠΈΠ΄ΠΎΠ²Ρ‹ΠΌ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ отраТСния — Π². Π§Π΅ΠΌ большС ΡƒΠ³ΠΎΠ» Π², Ρ‚Π΅ΠΌ ярчС Π±Π»ΠΈΠΊΠΎΠ²ΠΎΠ΅ освСщСниС. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ бликовая модСль освСщСния вычисляСтся ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅:

(3)

Π³Π΄Π΅ ΠΏ — коэффициСнт яркости свСчСния.

Π‘ Ρ€ΠΎΡΡ‚ΠΎΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΏ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ всС Π±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠΊΠΎΠ²Ρ‹ΠΌ ΠΈ Π²ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ концСнтрируСтся вдоль направлСния Π²Π΅ΠΊΡ‚ΠΎΡ€Π° отраТСния R.

1.6.4 ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ свСщСния ΠΏΠΎ Π‘Π»ΠΈΠ½Ρƒ

Π”ΠΆΠΈΠΌ Π‘Π»ΠΈΠ½Π½ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π» Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ способ вычислСния Π±Π»ΠΈΠΊΠΎΠ²ΠΎΠ³ΠΎ освСщСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ устраняСт Π΄ΠΎΡ€ΠΎΠ³ΠΈΠ΅ вычислСния Π½Π°Π΄ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ отраТСния.

ΠžΠ±Ρ‰Π°Ρ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:

(4)

Он Π²Π²Π΅Π» ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€ (half vector), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся срСдним Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²ΠΈΠ΄ΠΎΠ²Ρ‹ΠΌ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ источника освСщСния

1.6.5 Π’Π΅Π½ΠΈ ShadowMap

Π’Π΅Π½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π°ΠΆΠ½ΠΎΠΉ Π·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ подсказкой ΠΊΠ°ΠΊ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚Π°ΠΊ ΠΈ Π² Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… сцСнах. На ΡΠ°ΠΌΠΎΠΌ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ‚Π΅Π½ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°-Ρ†ΠΈΡŽ ΠΎ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π° ΠΈ ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΎΠ² свСта, Π΄Π°ΠΆΠ΅ Ссли эти источники Π½Π° ΡΡ†Π΅Π½Π΅ Π½Π΅ Π²ΠΈΠ΄Π½Ρ‹. Когда Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎΠ± ΠΈΠ³Ρ€Π°Ρ…, Ρ‚Π΅Π½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΌΠΈΡ€ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΆΡƒΡ‚ΠΊΠΈΠΌ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π°Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚Π΅ Π·Π° ΡƒΠ³ΠΎΠ» Π² ΠΏΠΎΠ΄Π·Π΅ΠΌΠ΅Π»ΡŒΠ΅, освСщСнном лишь Ρ„Π°ΠΊΠ΅Π»Π°ΠΌΠΈ, ΠΈ Π²Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π² Ρ‚Π΅Π½ΡŒ своСго самого ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΡˆΠΌΠ°Ρ€Π° ΠŸΠΈΡ‚Π΅Ρ€ ПСн ΠΎΡ‚Π΄Ρ‹Ρ…Π°Π΅Ρ‚'[5].

На ΡΠ΅Π³ΠΎΠ΄Π½ΡΡˆΠ½ΠΈΠΉ дСнь сущСствуСт мноТСство Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² построСния Ρ‚Π΅Π½Π΅ΠΉ. Π­Ρ‚ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ индустрии, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π² ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°, Π±Π΅Π· Ρ‚Π΅Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ рСалистичными. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΊΠ°ΠΊ Shadow volume, Ray casting, Photo mapping, Radiosity, Shadow Mapping.

Shadow volume

Π­Ρ‚ΠΎ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ для воспроизвСдСния Ρ‚Π΅Π½Π΅ΠΉ Π² ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ сцСнС. Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π±Ρ‹Π»Π° прСдставлСна Π€Ρ€Π°Π½ΠΊΠΎΠΌ ΠšΡ€ΠΎΠ²ΠΎΠΌ Π² 1977 Π³ΠΎΠ΄Ρƒ ΠΊΠ°ΠΊ гСомСтричСски смодСлированная 3D ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ, Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ собой источник свСта. Shadow volume раздСляла Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΈΡ€ Π½Π° Π΄Π²Π΅ части: Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π² Ρ‚Π΅Π½ΠΈ ΠΈ Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π½Π΅ Π² Ρ‚Π΅Π½ΠΈ.

Shadow volume ΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»Π°ΡΡŒ популярной Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΎΠΉ для отобраТСния Ρ‚Π΅Π½Π΅ΠΉ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π±ΠΎΠ»Π΅Π΅ популярная shadow mapping. Π’Π΅Ρ…Π½ΠΈΠΊΠ° shadow volume Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ создания Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°-Ρ‚Π΅Π½ΠΈ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Ρ€Π°Π·ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ CPU (зависит ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ). ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° shadow map ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ SV Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Ρ‡Π°Ρ‰Π΅ всСго быстрСС, Π² ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Ρ‹ shadow volume часто ΠΎΡ‡Π΅Π½ΡŒ большиС Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… пространства экрана ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ большого Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для отрисовки (особСнно для Π²Ρ‹ΠΏΡƒΠΊΠ»Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²), Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΊΠ°Ρ€Ρ‚Ρ‹ Ρ‚Π΅Π½Π΅ΠΉ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ этого ограничСния.

Ray casting

Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅, связанных с ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π»ΡƒΡ‡Π΅ΠΉ свСта Π½Π° ΠΏΠΎΠ²Π΅Ρ€Ρ…ности. Π’ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ способ Π±Ρ‹Π» Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ прСдставлСн Π² 1982 Π³ΠΎΠ΄Ρƒ Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π΅ Π‘ΠΊΠΎΡ‚Π° Роса ΠΏΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° для Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° CSG models.

Ray Casting ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ:

Β· ΠžΠ±Ρ‰Π°Ρ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° опрСдСлСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ пСрСсСчСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с Π»ΡƒΡ‡ΠΎΠΌ.

Β· ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° для удалСния Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… повСрхностСй, основанная Π½Π° ΠΏΠΎΠΈΡΠΊΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ пСрСсСчСния Π»ΡƒΡ‡Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ проСктируСтся ΠΈΠ· Ρ‚ΠΎΡ‡ΠΊΠΈ обозрСния ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ пиксСлю изобраТСния.

Β· НСрСкурсивный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ трассировки Π»ΡƒΡ‡Π΅ΠΉ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ «Π±Ρ€ΠΎΡΠ°ΡŽΡ‚ся» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Π΅ Π»ΡƒΡ‡ΠΈ.

Β· ΠœΠ΅Ρ‚ΠΎΠ΄ прямого ΠΎΠ±ΡŠΡ‘ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°, Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ «volumeray casting (Π°Π½Π³Π».)».

РСйкастинг Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся синонимом ΠΊ Ρ€Π΅ΠΉΡ‚рСйсингу (трассировкС Π»ΡƒΡ‡Π΅ΠΉ), Π½ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСн ΠΊΠ°ΠΊ сокращённая ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ быстрая вСрсия Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° трассировки Π»ΡƒΡ‡Π΅ΠΉ. Оба Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΡΠ²Π»ΡΡŽΡ‚ΡΡ «image order» ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ся Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ для Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… сцСн Π½Π° Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ экран с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π»ΡƒΡ‡Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚ Π³Π»Π°Π· обозрСватСля ΠΊ ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΡƒ свСта. ΠœΠ΅Ρ‚ΠΎΠ΄ бросания Π»ΡƒΡ‡Π΅ΠΉ Π½Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΠ΅Ρ‚ Π½ΠΎΠ²Ρ‹Π΅ тангСнсы Π»ΡƒΡ‡Π΅ΠΉ свСта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠΎΠ³Π΄Π° Π»ΡƒΡ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ проСктируСтся ΠΎΡ‚ Π³Π»Π°Π·Π° ΠΊ ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΡƒ свСта, пСрСсСчётся с ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒΡŽ. Π­Ρ‚Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π΄Π΅Π»Π°Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡ€Π΅Π»ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΈ Π΅ΡΡ‚СствСнной ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ Ρ‚Π΅Π½Π΅ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСйкастинга. Однако всС эти особСнности ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ «Ρ„Π°Π»ΡŒΡˆΠΈΠ²Ρ‹Ρ…» (ΠΎΠ±ΠΌΠ°Π½Π½Ρ‹Ρ…, аппроксимационных) ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· использованиС тСкстурных ΠΊΠ°Ρ€Ρ‚ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Высокая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ вычислСния сдСлала рСйкастинг ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π² Ρ€Π°Π½Π½ΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€Π°Ρ… с Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅ источник свСта испускаСт Π»ΡƒΡ‡ свСта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, «ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΡƒΡ» ΠΏΠΎ ΠΏΡ€ΠΎΡΡ‚ранству, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счётС «Π½Π°Ρ‚ыкаСтся» Π½Π° ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ΠΏΡ€Π΅Π³Ρ€Π°Π΄Ρƒ, которая ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ распространСниС этого свСтового Π»ΡƒΡ‡Π°. Π›ΡƒΡ‡ свСта ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠ° Ρ„ΠΎΡ‚ΠΎΠ½ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ двиТСтся вдоль Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Π»ΡƒΡ‡Π°. Π’ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Ρ‚ΠΎΡ‡ΠΊΠ΅ ΠΏΡƒΡ‚ΠΈ с Π»ΡƒΡ‡ΠΎΠΌ свСта ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ любая комбинация Ρ‚Ρ€Ρ‘Ρ… Π²Π΅Ρ‰Π΅ΠΉ: ΠΏΠΎΠ³Π»ΠΎΡ‰Π΅Π½ΠΈΠ΅, ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (рСфлСкция) ΠΈ ΠΏΡ€Π΅Π»ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ (рСфракция). ΠŸΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Ρ€Π°Π·ΠΈΡ‚ΡŒ вСсь свСтовой Π»ΡƒΡ‡ ΠΈΠ»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Π³ΠΎ Ρ‡Π°ΡΡ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… направлСниях. ΠŸΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ³Π»ΠΎΡ‚ΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ свСтового Π»ΡƒΡ‡Π°, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ интСнсивности ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈ / ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π»ΠΎΠΌΠ»Ρ‘Π½Π½ΠΎΠ³ΠΎ Π»ΡƒΡ‡Π°. Если ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ свойства прозрачности, Ρ‚ΠΎ ΠΎΠ½Π° прСломляСт Ρ‡Π°ΡΡ‚ΡŒ свСтового Π»ΡƒΡ‡Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ‚ Π΅Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ распространСния, поглощая Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ (ΠΈΠ»ΠΈ вСсь) спСктр Π»ΡƒΡ‡Π° (ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, измСняя Ρ†Π²Π΅Ρ‚). Буммарная ΠΈΠ½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒ свСтового Π»ΡƒΡ‡Π°, которая Π±Ρ‹Π»Π° «ΠΏΠΎΡ‚Сряна» вслСдствиС поглощСния, прСломлСния ΠΈ ΠΎΡ‚раТСния, Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π² Ρ‚очности Ρ€Π°Π²Π½ΠΎΠΉ исходящСй (Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ) интСнсивности этого Π»ΡƒΡ‡Π°. ΠŸΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚Ρ€Π°Π·ΠΈΡ‚ΡŒ 66% входящСго свСтового Π»ΡƒΡ‡Π°, ΠΈ ΠΏΡ€Π΅Π»ΠΎΠΌΠΈΡ‚ΡŒ 50%, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ сумма этих ΠΏΠΎΡ€Ρ†ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎΠΉ 116%, Ρ‡Ρ‚ΠΎ большС 100%. ΠžΡ‚ΡΡŽΠ΄Π° истСкаСт, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΈ / ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π»ΠΎΠΌΠ»Ρ‘Π½Π½Ρ‹Π΅ Π»ΡƒΡ‡ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ «ΡΡ‚Ρ‹ΠΊΠ°Ρ‚ΡŒΡΡ» с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ повСрхностями, Π³Π΄Π΅ ΠΈΡ… ΠΏΠΎΠ³Π»ΠΎΡ‰Π°ΡŽΡ‰ΠΈΠ΅, ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠ΅ ΠΈ ΠΏΡ€Π΅Π»ΠΎΠΌΠ»ΡΡŽΡ‰ΠΈΠ΅ способности снова Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Ρ… вычислСний входящих Π»ΡƒΡ‡Π΅ΠΉ. НСкоторыС ΠΈΠ· Π»ΡƒΡ‡Π΅ΠΉ, сгСнСрированных источником свСта, Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎ ΠΏΡ€ΠΎΡΡ‚ранству ΠΈ, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счСтС, ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π½Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ просмотра (Π³Π»Π°Π· Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ² Ρ„ΠΎΡ‚ΠΎΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ ΠΈ Ρ‚. Π΄.). ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΠΈΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ физичСский процСсс распространСния свСта ΠΏΡƒΡ‚Ρ‘ΠΌ трассировки свСтовых Π»ΡƒΡ‡Π΅ΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, являСтся Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎ Ρ€Π°ΡΡ‚ΠΎΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ доля Π»ΡƒΡ‡Π΅ΠΉ, сгСнСрированных источником свСта, ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π½Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ просмотра.

Photon mapping

Π’ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅, photon mapping это Π΄Π²ΡƒΡ…Ρ…ΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ глобального освСщСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Henrik Wann Jensen для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ выравнивания ΠΏΡ€ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Π½Π³Π΅. Π›ΡƒΡ‡ΠΈ исходящиС ΠΈΠ· ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ° свСта ΠΈ Π»ΡƒΡ‡ΠΈ исходящий ΠΈΠ· ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ Ρ‚Ρ€Π°ΡΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄Π΅Π», Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ½ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ шагС для создания radiance value (ΠΈΠ·Π»ΡƒΡ‡Π°ΡŽΡ‰Π°Ρ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π°). Π’ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ, это искусная симуляция прСломлСния свСта проходящСго Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΡƒΡŽ ΡΡƒΠ±ΡΡ‚Π°Π½Ρ†ΠΈΡŽ Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°ΠΊ стакан Π²ΠΎΠ΄Ρ‹, diffuse interreflection ΠΌΠ΅ΠΆΠ΄Ρƒ освСщённым ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, subsurface scattering свСта Π² ΠΏΠΎΠ»ΡƒΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°Ρ…, ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ эффСкты Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ испарСниС Π²ΠΎΠ΄Ρ‹ ΠΈ Ρ‚ΡƒΠΌΠ°Π½. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊ ΠΆΠ΅ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎΠΉ симуляциСй свСта, Ρ‚Π°-ΠΊΠΎΠΉ ΠΊΠ°ΠΊ spectral rendering.

Shadow Mapping

ΠšΠ°Ρ€Ρ‚Ρ‹ Ρ‚Π΅Π½Π΅ΠΉ (Shadow maps) ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Ρ‚Π΅Π½Π΅ΠΉ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ. Shadow mapping, Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π±Ρ‹Π» прСдставлСн ЛСнсом Π’ΠΈΠ»ΡŒΡΠ½ΡΠΎΠΌ Π² 1978 Π³ΠΎΠ΄Ρƒ, Π² Π΄ΠΎΠΊΠ»Π°Π΄Π΅ «Casting curved shadows on curved surfaces».

ВСория ΠΌΠ΅Ρ‚ΠΎΠ΄Π° отобраТСния Ρ‚Π΅Π½ΠΈ проста. Вопрос: ΠΊΠ°ΠΊΠΈΠ΅ части сцСны ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚ Π² Ρ‚Π΅Π½ΡŒ'' ΠžΡ‚Π²Π΅Ρ‚, части, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠ°Π΄Π°Π΅Ρ‚ нСпосрСдствСнно свСт. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚Π΅ сцСну, Π½Π°Ρ…ΠΎΠ΄ΡΡΡŒ Π² ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ΅ свСта Π§Ρ‚ΠΎ «ΡƒΠ²ΠΈΠ΄Π΅Π»» Π±Ρ‹ источник свСта, Π±ΡƒΠ΄ΡŒ ΠΎΠ½ ΠΊΠ°ΠΌΠ΅Ρ€ΠΎΠΉ? ВсС, Ρ‡Ρ‚ΠΎ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ источника свСта, освСщаСтся, Π° Π²ΡΠ΅ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² Ρ‚Π΅Π½ΡŒ. Π Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ наблюдСниСм с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π΅Π½ΠΈΠ΅ΠΌ с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ источника свСта ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ Π½Π° Ρ€ΠΈΡ. 3. Π‘ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ ΠΈ ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ° свСта сцСна выглядит ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ.

Рисунок 1.4. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ сцСны с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ ΠΈ ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ° свСта ΠŸΡ€ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сцСны с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ источника свСта ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΌ эффСктом являСтся Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π° Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ. Благодаря этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΌΡ‹ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ пиксСля Π·Π½Π°Π΅ΠΌ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ расстояниС ΠΎΡ‚ ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ° свСта Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅ΠΉ повСрхности. Π­Ρ‚ΠΈ повСрхности ΠΎΡΠ²Π΅Ρ‰Π°ΡŽΡ‚ΡΡ источником свСта ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ повСрхности, ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ ΠΎΡ‚ ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ° свСта, ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π² Ρ‚Π΅Π½ΠΈ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π΅Π½ΠΈ, Π½ΡƒΠΆΠ½Ρ‹ ярко освСщСнныС области, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ контрастно ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ тускло освСщСнныС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹, ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ² ΠΈΡ… Π² Ρ‚Π΅Π½ΠΈ. Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос: ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ области ΠΎΡΠ²Π΅Ρ‰Π°Ρ‚ΡŒ? Π”Π°Π½Π½Ρ‹ΠΉ вопрос являСтся ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Ρ‚Π΅Π½ΠΈ. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ², Π³Π΄Π΅ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ, ΠΌΡ‹ Ρ€Π°ΡΠΊΡ€Π°ΡΠΈΠΌ эти области Π² ΡΡ€ΠΊΠΈΠ΅ ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠΈ, просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ большиС коэффициСнты освСщСния (Π²Π΄Π²ΠΎΠ΅ большС, Ρ‡Π΅ΠΌ для Π·Π°Ρ‚Π΅Π½Π΅Π½Π½Ρ‹Ρ… областСй).

Основной нашСй Ρ†Π΅Π»ΡŒΡŽ являСтся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ Ρ‚Π΅Π½ΠΈ (Π²ΠΈΠ΄Π° с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ источника свСта) сцСны ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° ΡΡ†Π΅Π½Ρƒ Ρ‚Π°ΠΊ, Π±ΡƒΠ΄Ρ‚ΠΎ свСт исходит ΠΎΡ‚ ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ° свСта, Π½ΠΎ Π½Π°Π±Π»ΡŽΠ΄Π΅Π½ΠΈΠ΅ вСдСтся с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹. ΠœΡ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ расстояниС ΠΎΡ‚ ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ° свСта Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ°Π΄Π°ΡŽΡ‚ Π»ΡƒΡ‡ΠΈ свСта. ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ тСкстурных ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π² Π½ΡƒΠΆΠ½ΡƒΡŽ систСму ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ матСматичСских расчСтов Π’ Π³Ρ€Π°Ρ„ичСском ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅ ΠΈΠ΄Π΅Ρ‚ процСсс прСобразования Π²Π΅Ρ€ΡˆΠΈΠ½ ΠΈΠ· ΠΏΡ€ΠΎΡΡ‚ранства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ наблюдСния, Π·Π°Ρ‚Π΅ΠΌ — Π² ΡƒΡΠ΅Ρ‡Π΅Π½Π½ΠΎΠ΅ пространство Π½ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ устройства ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, — Π² ΠΏΡ€ΠΎΡΡ‚ранство ΠΎΠΊΠ½Π°. Π’ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΡΡ‚ΠΈΠΌΠΈ прСобразованиями ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, ΠΎΠ΄Π½Π° прСдставляСт ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡŽ с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ источника свСта, вторая — ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡŽ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹. Π”Π²Π° Π½Π°Π±ΠΎΡ€Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½Π° Ρ€ΠΈΡ. 1.5.

Рисунок 1.5. ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΈΠ· ΡΠΈΡΡ‚Π΅ΠΌΡ‹ наблюдСния ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ наблюдСний источника свСта.

Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ стрСлкой Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 4 ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ прСобразования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊ Ρ‚Скстурным ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌ, Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΌ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ наблюдСния ΠŸΡ€ΠΎΡ†Π΅ΡΡ проСктирования тСкстуры ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ начинаСтся с Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ тСкстурных ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ наблюдСния. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ этого процСсса автоматичСски ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ тСкстурныС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ тСкстурных ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, эти ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π½Π΅ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Π½Ρ‹ ΠΊ Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС подразумСваСтся ΠΊΠ°ΠΊ Π±Ρ‹ ΠΊΠΈΠ½ΠΎΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ€, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ тСкстуру Π½Π° ΡΡ†Π΅Π½Ρƒ. Однако здСсь проСкция выполняСтся Π½Π΅ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΈΠΉ экран, ΠΊΠ°ΠΊ Π² ΠΊΠΈΠ½ΠΎΡ‚Π΅Π°Ρ‚Ρ€Π΅. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΠ΄Π΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ, ΠΈ Ρ„ΠΈΠ»ΡŒΠΌ проСктируСтся Π½Π° Π²Π°ΡˆΠ΅ Ρ‚Π΅Π»ΠΎ, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π΅ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ Π’ΠΎΡ‚ ΠΆΠ΅ процСсс происходит ΠΈ Π·Π΄Π΅ΡΡŒ Π’ ΠΊΠΎΠ½Ρ†Π΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ тСкстурныС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π² Π½Π°ΡˆΡƒ ΠΊΠ°Ρ€Ρ‚Ρƒ Ρ‚Π΅Π½ΠΈ ΠΈΠ· ΡƒΡΠ΅Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ пространства источники свСта. НачинаСм с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ирования тСкстурных ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ наблюдСния, Π² ΠΏΡ€ΠΎΡΡ‚ранство «Π³Π»Π°Π·Π° ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹». Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π²Π½Π°Ρ‡Π°Π»Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π²ΠΎ Π²Π½Π΅ΡˆΠ½ΡŽΡŽ систСму ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, ΠΏΠΎΡ‚ΠΎΠΌ — Π² ΡΠΈΡΡ‚Π΅ΠΌΡƒ с Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠΌ Π² ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ΅ свСта, Π° Π·Π°Ρ‚Π΅ΠΌ — Π² ΡƒΡΠ΅Ρ‡Π΅Π½Π½ΠΎΠ΅ пространство источника свСта. Π­Ρ‚ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹Ρ… ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΉ.

(5)

Однако это Π΅Ρ‰Π΅ Π½Π΅ Π²ΡΠ΅. УсСчСнного пространства источника свСта нСдостаточно. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ для всСх ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ (Ρ…, Ρƒ ΠΈ z) усСчСнноС пространство ограничиваСтся Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ [-1,1]. ВСкстуру Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ ΠΊΠ°Ρ€Ρ‚Ρ‹ Ρ‚Π΅Π½ΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ всСм стандартным Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΌ тСкстурам, Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ [0,1]. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π½ΡƒΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ значСния, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ [0,1], поэтому ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ z Ρ‚Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ пСрСвСсти Π² ΡΡ‚ΠΎΡ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Для этого слСдуСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΊΠΎΡΡ„Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΎΠ΄Π½Π° вторая (S) ΠΈ ΡΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° ΠΎΠ΄Π½Ρƒ Π²Ρ‚ΠΎΡ€ΡƒΡŽ (Π’).

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ