Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π“Ρ€Π°Ρ„ΠΈΠΊΠ° для Windows срСдствами DirectDrawΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 3

Автор Бтэн Π’Ρ€ΡƒΡ…ΠΈΠ»ΡŒΠΎ

Как внСэкранныС, Ρ‚Π°ΠΊ ΠΈ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Π΅ повСрхности дСлятся Π½Π° Π΄Π²Π΅ разновидности: ΠΏΠ°Π»ΠΈΡ‚Ρ€ΠΎΠ²Ρ‹Π΅ (palettized) ΠΈ бСспалитровыС (non-palettized). ΠŸΠ°Π»ΠΈΡ‚Ρ€ΠΎΠ²Π°Ρ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ вмСсто ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ†Π²Π΅Ρ‚ΠΎΠ² содСрТит индСксы Π² Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅, которая называСтся ΠΏΠ°Π»ΠΈΡ‚Ρ€ΠΎΠΉ. Π’ DirectDraw ΠΏΠ°Π»ΠΈΡ‚Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 8-Π±ΠΈΡ‚Π½Ρ‹Π΅ повСрхности. ΠŸΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΠΈ с Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ пиксСлСй, Ρ€Π°Π²Π½ΠΎΠΉ 16, 24 ΠΈ 32 Π±ΠΈΡ‚Π°ΠΌ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ бСспалитровыми. ВмСсто индСксов Π² Π½ΠΈΡ… хранятся фактичСскиС значСния Ρ†Π²Π΅Ρ‚ΠΎΠ².

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ пиксСлС бСспалитровой повСрхности находятся Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ, Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ хранятся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ пиксСли повСрхностСй. Π€ΠΎΡ€ΠΌΠ°Ρ‚ пиксСля описываСт способ хранСния красной, Π·Π΅Π»Π΅Π½ΠΎΠΉ ΠΈ синСй (RGB) ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ…. Он зависит ΠΎΡ‚ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ пиксСлСй, Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌΠ° ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ пиксСлСй ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Π³Π»Π°Π²Π΅ 5.

Π‘Π»ΠΈΡ‚Ρ‚ΠΈΠ½Π³

На ΠΆΠ°Ρ€Π³ΠΎΠ½Π΅, принятом Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅, Β«Π±Π»ΠΈΡ‚Ρ‚ΠΈΠ½Π³ΠΎΠΌΒ» называСтся опСрация копирования. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠ³ΠΎ Π±Π»ΠΈΡ‚Ρ‚ΠΈΠ½Π³Π° слуТит ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ внСэкранной повСрхности Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΉ Π±ΡƒΡ„Π΅Ρ€. Если Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ ускорСниС Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, DirectDraw эмулируСт Π±Π»ΠΈΡ‚Ρ‚ΠΈΠ½Π³ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. Вакая эмуляция справляСтся со своСй Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ выполняСтся Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π±Π»ΠΈΡ‚Ρ‚ΠΈΠ½Π³Π°. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ срСдства Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρ‹ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Π±Π»ΠΈΡ‚Ρ‚ΠΈΠ½Π³ лишь для повСрхностСй, находящихся Π² видСопамяти.

Π’ Π±Π»ΠΈΡ‚Ρ‚ΠΈΠ½Π³Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π΅ повСрхности: источник (source) ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ (destination). Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ повСрхности-источника копируСтся Π² ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ-ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ содСрТимоС повСрхности-источника остаСтся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ; Π±Π»ΠΈΡ‚Ρ‚ΠΈΠ½Π³ влияСт лишь Π½Π° ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ-ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π±Π»ΠΈΡ‚Ρ‚ΠΈΠ½Π³ Π½Π΅ всСгда измСняСт всС содСрТимоС ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°; любой ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ источника ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² любоС мСсто ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°.

ΠŸΡ€ΠΈ Π±Π»ΠΈΡ‚Ρ‚ΠΈΠ½Π³Π΅ Π½Π΅ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Ρ… областСй (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, спрайтов) примСняСтся эффСкт прозрачности. Для этого Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ пиксСли повСрхности ΠΏΠΎΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π½Π΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ Π² Ρ…ΠΎΠ΄Π΅ Π±Π»ΠΈΡ‚Ρ‚ΠΈΠ½Π³Π°. Вакая ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠ° осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ (color key).

Π¦Π²Π΅Ρ‚ΠΎΠ²Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ источнику, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΡƒ. Π§Π°Ρ‰Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ источника. Π’ этом случаС ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ обСспСчиваСтся Π·Π° счСт Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ пиксСли источника, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹Π΅ значСния, Π½Π΅ ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ. ΠŸΡ€ΠΈ использовании Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° содСрТимоС источника Π² Ρ…ΠΎΠ΄Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ измСняСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ пиксСли ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ.

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

К соТалСнию, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ возмоТности Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΡΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ DirectDraw (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°). Π˜Ρ… использованиС оказываСтся рискованным, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ со стороны Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒΡΡ Π½Π΅ΡƒΠ΄Π°Ρ‡Π΅ΠΉ. Π£ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°: ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π΄Π°Π½Π½ΠΎΠΉ возмоТности ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ ΡΠΌΡƒΠ»ΡΡ†ΠΈΡŽ.

ΠŸΠ°Π»ΠΈΡ‚Ρ€Ρ‹

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π΅ Π² 8-Π±ΠΈΡ‚Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌΠ΅, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ. ΠŸΠ°Π»ΠΈΡ‚Ρ€ΠΎΠΉ называСтся Ρ‚Π°Π±Π»ΠΈΡ†Π° Ρ†Π²Π΅Ρ‚ΠΎΠ², ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚. Если Π±Ρ‹ 8-Π±ΠΈΡ‚Π½Ρ‹Π΅ Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌΡ‹ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ Π±Π΅Π· ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹, Ρ‚ΠΎ прилоТСниям ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с фиксированным Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΈΠ· 256 Ρ†Π²Π΅Ρ‚ΠΎΠ². ΠŸΠ°Π»ΠΈΡ‚Ρ€Π° ΠΆΠ΅ позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ 256 Ρ†Π²Π΅Ρ‚ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

ΠŸΡ€ΠΈ использовании ΠΏΠ°Π»ΠΈΡ‚Ρ€ΠΎΠ²Ρ‹Ρ… Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌΠΎΠ² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎ всСх графичСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… вашСго прилоТСния использовалась ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ ΠΏΠ°Π»ΠΈΡ‚Ρ€Π°. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² искаТСнных Ρ†Π²Π΅Ρ‚Π°Ρ…. ΠŸΠ°Π»ΠΈΡ‚Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈΡ‚ΡŒ Π½Π΅ΠΌΠ°Π»ΠΎ Ρ…Π»ΠΎΠΏΠΎΡ‚, особСнно ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ придСтся Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π΅Π΄ΠΈΠ½ΡƒΡŽ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ для отобраТСния большого количСства графичСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ½ΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ прСимущСствами. Как ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΌ Π½Π°Π±ΠΎΡ€Π΅ максимальноС количСство Ρ†Π²Π΅Ρ‚ΠΎΠ². ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Π»ΠΈΡ‚Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Π»ΠΈΡ‚Ρ€ΠΎΠ²ΡƒΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ (palette animation).

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

ΠžΡ‚ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅

Π’ идСальном случаС Π±Π»ΠΈΡ‚Ρ‚ΠΈΠ½Π³ сводится ΠΊ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ всСй повСрхности Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ. Однако Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ источник довольно часто копируСтся Π½Π° ΠΊΡ€Π°ΠΉ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°, ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ частично ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ»ΠΈ ΠΎΠΊΠ½ΠΎΠΌ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях примСняСтся отсСчСниС (clipping). Оно позволяСт ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ лишь ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ (ΠΈΠ»ΠΈ нСсколько частСй) повСрхности.

ΠžΡ‚ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅ Ρ‡Π°Ρ‰Π΅ всСго оказываСтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ ΠΏΡ€ΠΈ написании ΠΎΠΊΠΎΠ½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ DirectDraw, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ эти прилоТСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ΄Ρ‡ΠΈΠ½ΡΡ‚ΡŒΡΡ Β«ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ повСдСния» для Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола Windows. ΠœΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± ΠΎΠΊΠΎΠ½Π½Ρ‹Ρ… прилоТСниях ΠΏΠΎΠ·Π΄Π½Π΅Π΅ Π² этой Π³Π»Π°Π²Π΅.

DirectDraw обСспСчиваСт ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ отсСчСния. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ситуациях Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свою ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ отсСчСния. НСстандартноС отсСчСниС рассматриваСтся Π² Π³Π»Π°Π²Π΅ 3.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ повСрхностСй

ВнСэкранныС ΠΈ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Π΅ повСрхности (со Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π±ΡƒΡ„Π΅Ρ€Π°ΠΌΠΈ) ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ основу всСх ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ DirectDraw. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ разновидности повСрхностСй. Π’ ΠΈΡ… число входят ΠΎΠ²Π΅Ρ€Π»Π΅ΠΉΠ½Ρ‹Π΅ повСрхности, Π°Π»ΡŒΡ„Π°-повСрхности, Z-Π±ΡƒΡ„Π΅Ρ€Ρ‹ ΠΈ повСрхности 3D-устройств.

ΠžΠ²Π΅Ρ€Π»Π΅ΠΈ (overlay) ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ спрайты; ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ½ΠΈ доступны лишь Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π°Ρ…, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρƒ с овСрлСями. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ спрайта ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ овСрлСя Π½Π΅Ρ‚ нСобходимости Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

ΠΠ»ΡŒΡ„Π°-повСрхности (alpha channel surface) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для выполнСния Π°Π»ΡŒΡ„Π°-налоТСния (alpha blending). ΠΠ»ΡŒΡ„Π°-Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ являСтся Π±ΠΎΠ»Π΅Π΅ слоТной Ρ„ΠΎΡ€ΠΌΠΎΠΉ прозрачности ΠΈ позволяСт ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ Β«ΠΏΠΎΠ»ΡƒΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠ΅Β» ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ повСрхностСй. ΠΠ»ΡŒΡ„Π°-ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для управлСния ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… пиксСлСй. Π’Π°ΠΊΠΈΠ΅ повСрхности ΠΈΠΌΠ΅ΡŽΡ‚ Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ Π² 1, 2, 4 ΠΈΠ»ΠΈ 8 Π±ΠΈΡ‚. ΠΠ»ΡŒΡ„Π°-ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ с Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ 1 Π±ΠΈΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ лишь Π΄Π²Π° уровня прозрачности: Π½ΡƒΠ»Π΅Π²ΠΎΠΉ (Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΉ пиксСль) ΠΈ стопроцСнтный (ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΉ пиксСль). Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, 8-Π±ΠΈΡ‚Π½Ρ‹Π΅ Π°Π»ΡŒΡ„Π°-повСрхности ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π΄ΠΎ 256 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… стСпСнСй прозрачности. ΠΠ»ΡŒΡ„Π°-Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ относится ΠΊ числу возмоТностСй, Π½Π΅ эмулируСмых Π² DirectDraw. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, для использования Π°Π»ΡŒΡ„Π°-налоТСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρƒ, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΡƒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ срСдствами, ΠΈΠ»ΠΈ ΠΆΠ΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ эмуляции Π°Π»ΡŒΡ„Π°-налоТСния.

Z-Π±ΡƒΡ„Π΅Ρ€Ρ‹ ΠΈ повСрхности 3D-устройств ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… прилоТСниях. Π­Ρ‚ΠΈ Ρ‚ΠΈΠΏΡ‹ повСрхностСй Π±Ρ‹Π»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² DirectDraw ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Direct3D. Z-Π±ΡƒΡ„Π΅Ρ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… сцСн; ΠΎΠ½ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ сцСны находятся Π±Π»ΠΈΠΆΠ΅ ΠΊ Π·Ρ€ΠΈΡ‚Π΅Π»ΡŽ ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅Π΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. ΠŸΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΠΈ 3D-устройств ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для синтСза Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² DirectDraw. Z-Π±ΡƒΡ„Π΅Ρ€Ρ‹ ΠΈ повСрхности 3D-устройств Π² этой ΠΊΠ½ΠΈΠ³Π΅ Π½Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ.

БпСцификация COM Ρ„ΠΈΡ€ΠΌΡ‹ Microsoft

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° DirectDraw Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² соотвСтствии со спСцификациСй COM (многокомпонСнтная модСль ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Component Object Model) Ρ„ΠΈΡ€ΠΌΡ‹ Microsoft. БпСцификация COM ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для создания стопроцСнтно пСрСносимых ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π½Π°Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ бСзопасного обновлСния. О COM ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ довольно ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ эта ΠΊΠ½ΠΈΠ³Π° посвящСна Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚Π΅ΠΌΠ΅. ΠœΡ‹ рассмотрим COM лишь Π² объСмС, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΌ для использования DirectDraw.

Π’ COM ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ориСнтированная модСль, Π±ΠΎΠ»Π΅Π΅ ТСсткая, Ρ‡Π΅ΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ, принятыС Π² языках Ρ‚ΠΈΠΏΠ° C++. Π’Π°ΠΊ, доступ ΠΊ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ всСгда осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, наслСдованиС Π² COM выглядит ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с C++.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ интСрфСйсы

Π’ COM Ρ‡Π΅Ρ‚ΠΊΠΎ Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ понятия ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ интСрфСйсов. COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π½Π°ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ COM-интСрфСйсы ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ способы для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π΅ΠΉ. ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΡ ΠΊ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· интСрфСйсы. Π­Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ Ρ‚Π°ΠΊ строго, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π½Π°Π΅ΠΌ ΠΈΠΌΠ΅Π½ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π˜Π·Π²Π΅ΡΡ‚Π½Ρ‹ лишь ΠΈΠΌΠ΅Π½Π° интСрфСйсов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ прямоС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π² дальнСйшСм Ρ€Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π² основном ΠΎΠ± интСрфСйсах.

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