Π Visual C++ 5.0 ClassView ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π»ΠΈΡΡ ΡΠ΅ ΠΊΠ»Π°ΡΡΡ, ΡΡΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ»ΠΈ ΡΠ²Π½ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΠΏΡΠΎΠ΅ΠΊΡ (ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Project|Add to Project|Files). ΠΡΠ»ΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡ Π½Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ H-ΡΠ°ΠΉΠ»Π°, Π² ClassView Π½Π΅ Π±ΡΠ΄Π΅Ρ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠΈΠΌ ΠΎΠ½ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Visual C++ 4.x, Π³Π΄Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΠ»ΠΈΡΡ Π²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΎΡ ΠΊΠΎΡΠΎΡΡΡ Π·Π°Π²ΠΈΡΡΡ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΠ°Π³ΠΎΠΌ Π½Π°Π·Π°Π΄, Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΡΡΠ°Π²ΠΎΠΌ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ Π² ClassView (Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π²Π΅ΡΡΠΈΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ Π²ΡΠ±ΠΎΡΠ° Π½Π΅ Π±ΡΠ»ΠΎ).
ΠΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ°ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π² Visual C++ 5.0 ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ. ΠΠ»Π°ΡΡ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ClassView Π»ΠΈΡΡ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ CPP-ΡΠ°ΠΉΠ» Π±ΡΠ» Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΠΏΡΠΎΠ΅ΠΊΡ Π±Π΅Π· ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ H-ΡΠ°ΠΉΠ»Π°.
Π Π°Π±ΠΎΡΠ° Ρ Visual C++ 4.0Π₯ΠΎΡΡ Visual C++ 4.0 Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ Π½Π°ΠΏΡΡΠΌΡΡ, Π½ΠΈΡΡΠΎ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π²Π°ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌ. ΠΠΎ ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π° CD-ROM Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Visual C++ 5.0 (Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π°), Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΠ°ΠΊ:
1. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΡΡΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Win32.
2. Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ CPP-, H- ΠΈ RC-ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ Π½ΠΎΠ²ΠΎΠΉ, ΠΏΡΡΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΡΡ.
3. ΠΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΠΏΡΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ (ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Project|Add to project|Files).
ΠΠ°ΠΎΠ΄Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ (ΡΠΌ. Π²ΡΡΠ΅). ΠΡΠΎΠ΅ΠΊΡ Π³ΠΎΡΠΎΠ² ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
Π₯ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Visual C++ 4.x ΡΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ ΠΈΠ· ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, DirectDraw AppWizard ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ. ΠΡΠ»ΠΈ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ ΠΏΡΠΎΡΠ²ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ, Ρ ΠΌΠΎΠ³Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π΅Π΅ Π½Π° Web-ΡΠ·Π΅Π».
ΠΠ°ΡΠΈΠ°Π½ΡΡ Visual C++Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΎ Visual C++. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎΡ ΠΏΡΠΎΠ΄ΡΠΊΡ Π²ΡΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π² ΡΡΠ΅Ρ Π²Π°ΡΠΈΠ°Π½ΡΠ°Ρ (Learning, Professional ΠΈ Enterprise), ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠΈΡΠ°ΡΠ΅Π»ΡΠΌ Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ Professional, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠΏΡΠΎΡΠ΅ΠΌ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·Π»Π΅ΡΠΈΠΌΡΠ΅. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ ΠΈ Π²Ρ ΡΠ΅ΡΠΈΡΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊΠΎ ΠΌΠ½Π΅, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π²Π΅ΡΡΠΈΡ ΠΈ Π²Π°ΡΠΈΠ°Π½Ρ Visual C++.
Π‘ΠΎΠ²Π΅ΡΡ ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ, Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΠ΅ΠΌ. Π‘Π½Π°ΡΠ°Π»Π° ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠ΅ DirectDraw, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ·Π½Π°Π΅ΠΌ ΠΊΠΎΠ΅-ΡΡΠΎ ΠΎ ΡΠ°ΠΉΠ»Π°Ρ DirectX. ΠΠ°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ Ρ ΡΠΊΠ°ΠΆΡ ΠΏΠ°ΡΡ ΡΠ»ΠΎΠ² ΠΎ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ°Ρ Π½Π° Π±Π°Π·Π΅ ΡΠΈΠΏΠΎΠ² 3Dfx.
ΠΡΠΈΠ±ΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² DirectDrawΠ DirectDraw Π΅ΡΡΡ ΠΎΠ΄Π½Π° ΠΎΡΠΈΠ±ΠΊΠ°, ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΆΠΈΠΌΠΎΠ², ΠΊΠΎΡΠΎΡΡΡ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Microsoft (ΠΈΠ»ΠΈ ΡΠΎΡ, ΠΊΡΠΎ Π΄Π»Ρ Π½ΠΈΡ ΠΏΠΈΡΠ΅Ρ Π²ΠΈΠ΄Π΅ΠΎΠ΄ΡΠ°ΠΉΠ²Π΅ΡΡ). ΠΠΏΠ΅ΡΠ²ΡΠ΅ Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ Π½Π΅ΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΎΠΉ. Π― Π½Π°Π΄Π΅ΡΠ»ΡΡ, ΡΡΠΎ ΠΊ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΡΠΈΠ±ΠΊΡ ΡΠΆΠ΅ ΠΈΡΠΏΡΠ°Π²ΡΡ, Π½ΠΎ ΠΎΠ½Π° ΡΠ°ΠΊ ΠΈ ΠΎΡΡΠ°Π»Π°ΡΡ.
ΠΡΠΎΠ±Π»Π΅ΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΈ Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΏΠΎ Π³Π»ΡΠ±ΠΈΠ½Π΅ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Windows. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Windows ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² 8-Π±ΠΈΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌΠ΅, Π° Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DirectDraw ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ 16-Π±ΠΈΡΠ½ΡΠΉ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌ, Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ, Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌ. ΠΡΠ»ΠΈ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ 8-Π±ΠΈΡΠ½ΡΠΉ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠΈ 16-Π±ΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Windows, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΠΌ ΠΆΠ΅. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ DirectX Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π°:
DDHEL: ChangeDisplaySettings LIED!!!
DDHEL: Wanted 640x480x16 got 1024x768x8
DDHEL: ChangeDisplaySettings FAILED: returned -1
Π ΡΡΠ°ΡΡΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌΠ°. ΠΡΠ»ΠΈ ΡΡΠ° ΠΏΠΎΠΏΡΡΠΊΠ° ΡΠ΄Π°Π»Π°ΡΡ, ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π»ΡΠ±ΠΎΠΉ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Ρ Π½Π°Ρ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡ: Π΅ΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠΈΠΉ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΏΠΎ Π³Π»ΡΠ±ΠΈΠ½Π΅ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ ΠΎΡ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Π² Π΄Π²Π° ΡΡΠ°ΠΏΠ°; ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ ΠΏΠΎ Π³Π»ΡΠ±ΠΈΠ½Π΅ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ, Π° Π·Π°ΡΠ΅ΠΌ β ΠΊ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌΡ, Π½ΡΠΆΠ½ΠΎΠΌΡ Π²Π°ΠΌ.
Π’Π°ΠΊΠΎΠΉ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°Π½Π΅Π²Ρ Π½Π΅ΡΡΡΠ΄Π½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠ° DirectDrawWin, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅. Π ΡΡΠ½ΠΊΡΠΈΠΈ SelectInitialDisplayMode() (ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π΄ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌΠ°) ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π³Π»ΡΠ±ΠΈΠ½Ρ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°. ΠΡΠ»ΠΈ ΠΎΠ½Π° ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΉ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Β«ΡΠΈΠΊΡΠΈΠ²Π½ΠΎΠ΅Β» ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
int SampleWin::SelectInitialDisplayMode() {
DWORD curdepth=GetDisplayDepth();
int i, nummodes=GetNumDisplayModes();
DWORD w,h,d;
if (curdepth!=16) ddraw2->SetDisplayMode(640, 480, curdepth, 0, 0 );
// ΠΡΠΊΠ°ΡΡ ΡΠ΅ΠΆΠΈΠΌ 640x480x16 ΠΏΠΎΡΠ»Π΅ ΡΠΌΠ΅Π½Ρ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌΠ°
for (i=0;i>nummodes;i++) {
GetDisplayModeDimensions(i, w, h, d);
if (w==640 && h==480 && d==16) return i;
}
return -1;
}
ΠΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π³Π»ΡΠ±ΠΈΠ½Ρ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌΠ° Windows ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ DirectDrawWin::GetDisplayDepth(). ΠΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ ΡΠ΅ΠΆΠΈΠΌ Ρ 16-Π±ΠΈΡΠ½ΡΠΌΠΈ ΠΏΠΈΠΊΡΠ΅Π»ΡΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΡΡΠ³ΠΎΠΉ Π³Π»ΡΠ±ΠΈΠ½Ρ ΠΌΡ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΡΠ΅ΠΆΠΈΠΌ 640Γ480 Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π³Π»ΡΠ±ΠΈΠ½ΠΎΠΉ, Π²ΡΠ·ΡΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ SetDisplayMode() ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° DirectDraw. ΠΠ°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΏΠΎΠΈΡΠΊΡ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Π² ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅.
ΠΡΡΠ³ΠΎΠΉ Π²ΡΡ ΠΎΠ΄ β ΠΏΡΠΎΡΡΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠΉ Π³Π»ΡΠ±ΠΈΠ½ΠΎΠΉ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π² Windows. ΠΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌΠ°, Π½ΠΎ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π³Π»ΡΠ±ΠΈΠ½Π°ΠΌΠΈ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΎΠ½ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Switch (ΡΠΌ. Π³Π»Π°Π²Ρ 4), ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°. Π€ΡΠ½ΠΊΡΠΈΡ SelectInitialDisplayMode() Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Switch Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
int SwitchWin::SelectInitialDisplayMode() {
DWORD curdepth=GetDisplayDepth();
int i, nummodes=GetNumDisplayModes();
DWORD w,h,d;
// ΠΡΠΊΠ°ΡΡ ΡΠ΅ΠΆΠΈΠΌ 640x480 Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π³Π»ΡΠ±ΠΈΠ½ΠΎΠΉ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ
for (i=0;i<nummodes;i++) {
GetDisplayModeDimensions(i, w, h, d);
if (w==640 && h==480 && d==curdepth) return i;
}
return 0;
}
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΈΡΠ΅Ρ ΡΠ΅ΠΆΠΈΠΌ 640Γ480 Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π³Π»ΡΠ±ΠΈΠ½ΠΎΠΉ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ. Π’Π°ΠΊΠΎΠΉ ΡΠ΅ΠΆΠΈΠΌ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π½Π°ΠΉΠ΄Π΅ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ 640Γ480 β Β«ΠΎΠ±ΡΠΈΠΉ Π·Π½Π°ΠΌΠ΅Π½Π°ΡΠ΅Π»ΡΒ» Π΄Π»Ρ Π²ΡΠ΅Ρ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌΠΎΠ² ΠΈ Π½Π°ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ Π½ΡΠΆΠ½Π°Ρ Π³Π»ΡΠ±ΠΈΠ½Π° ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π² Windows.
Π‘Π»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎ Π»ΠΈΡΡ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ. ΠΠ½ΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΡΡ Π³Π»ΡΠ±ΠΈΠ½Ρ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠ°Π·Ρ, Π±Π΅Π· Π³Π»ΡΠΏΡΡ ΠΎΠ±Ρ ΠΎΠ΄Π½ΡΡ ΠΌΠ°Π½Π΅Π²ΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π΅ΡΠ΅ Π½Π΅ Π²ΠΈΠ΄Π΅Π», ΡΡΠΎΠ±Ρ ΡΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΎΡΠ²Π»ΡΠ»Π°ΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ Ρ Windows NT). ΠΠΎ ΡΡΠΎΠ±Ρ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΊΡΡΠ³ ΡΠ°Π±ΠΎΡΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΠΆΠ°Π»ΡΠΉ, ΡΡΠΎΠΈΡ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎΠ± ΡΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠ΅.
Π‘ΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° INITGUID (ΡΡΡΠ°ΡΠ΅Π²ΡΠ°Ρ)ΠΠ°ΠΊ Π²Ρ ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° DirectX ΠΏΠΎΡΡΡΠΎΠ΅Π½Π° Π½Π° Π±Π°Π·Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ COM, Π° Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠΉ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π² COM ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ GUID. ΠΠ΄ΠΈΠ½ ΠΈΠ· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² COM ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ΄, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ Π²ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ GUID. Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ COM ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° INITGUID Π±ΡΠ»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅, Π΄ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² COM (Π΄Π»Ρ DirectX Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ COM Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎ, ΠΈΠ· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² DirectX). Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ INITGUID. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π½Π΅ΠΌΠ°Π»ΠΎ Ρ Π»ΠΎΠΏΠΎΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ DirectX Π² ΡΠΎΡΡΠ°Π² ΠΏΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°.
ΠΡ Π½Π΅ Π²ΡΡΡΠ΅ΡΠΈΡΠ΅ INITGUID Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π½Π° CD-ROM, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ DirectX 3, ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄Π°ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ INITGUID, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ ΡΠ°ΠΉΠ» DXGUID.LIB. ΠΠ° ΡΠ»ΡΡΠ°ΠΉ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π»ΠΈβ¦
ΠΠΌΡΠ»ΡΡΠΈΡ Π²Π΅ΡΡΠΈΠΉΠΠ΄Π½Π° ΠΈΠ· ΡΠΈΡΠΎΠΊΠΎ ΡΠ°Π·ΡΠ΅ΠΊΠ»Π°ΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ COM β ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΡΠΌΠΈ. COM-ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΡΡΡΠΎΠ΅Π½Ρ ΡΠ°ΠΊ, ΡΡΠΎ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· ΡΡΡΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ. Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ COM, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅ Π΅Π³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΠ°ΠΊ ΡΡΠ°ΡΡΠ΅, ΡΠ°ΠΊ ΠΈ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠ³ΡΡ Π±Π΅Π· ΠΎΠΏΠ°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½ΠΎΠ²ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ, Π° ΡΡΠ°ΡΡΠ΅ β ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎ ΡΡΠ°ΡΡΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡ. ΠΡΠ° ΡΡ Π΅ΠΌΠ° Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ DirectX ΡΠΎ ΡΡΠ°ΡΡΠΌΠΈ ΠΈ Π½ΠΎΠ²ΡΠΌΠΈ runtime-ΡΠ°ΡΡΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π² DirectX API ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΡΡΡΠΊΡΡΡΡ. ΠΡΠΈ ΡΡΡΡΠΊΡΡΡΡ ΡΠ²Π»ΡΡΡΡΡ Β«ΠΎΡΠΊΡΡΡΡΠΌΠΈΒ» β Π΄ΠΎΡΡΡΠΏ ΠΊ Π½ΠΈΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ, Π° Π½Π΅ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠ°ΠΊ Π΄Π»Ρ COM-ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π Π°Π·ΠΌΠ΅Ρ ΡΡΠΈΡ ΡΡΡΡΠΊΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ (ΠΈ ΡΠ°ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ) ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ ΠΊ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ DirectX. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ DirectX, ΠΊΠΎΡΠΎΡΠΎΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ, Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ runtime-ΡΠ°ΡΡΡ DirectX Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ DirectX SDK ΠΏΡΠΈΠΌΠ΅Π½ΡΠ»Π°ΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ β ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ Π²Ρ ΠΎΠ΄ΡΡ Π² ΡΡΡΡΠΊΡΡΡΡ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΡΠ΅Π½Π°, Π½Π΅ ΡΠ°ΠΊ Π»ΠΈ?
Π ΡΡΠΎ Π²Ρ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π° Π² DirectX 5 SDK, Π½ΠΎ Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΠ΅Π½Π° Ρ runtime-ΡΠ°ΡΡΡΡ DirectX 3? ΠΡΠ»ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΡΠΊΡΡΡ DirectX 5 Π±ΡΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Ρ Π½ΠΎΠ²ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠΌΠΈ ΠΈ ΡΠ»Π°Π³Π°ΠΌΠΈ, runtime-ΡΠ°ΡΡΡ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΡ ΡΡΡΡΠΊΡΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ ΠΎ ΠΏΠΎΡΠ²ΠΈΠ²ΡΠΈΡ ΡΡ Π² Π½Π΅ΠΉ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡΡ .