DirectX — գրադարանների հավաքածու, որը նախատեսված է Windows օպերացիոն համակարգի գրաֆիկական բաղկացուցիչների համար։ Այն հանդիսանում է առանձին գրաֆիկական գրադարանների – Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound միավորումը, և մեծապես կիրառվում է համակարգչային խաղերում և գրաֆիկական ծրագրերում, ինչպես նաև Մայքրոսոֆթի այլ նախագծերում, ինչպիսիք են Xbox-ը, որի X տառը սերում է հենց DirectX-ի վերջավորությունից։

DirectX
Изображение логотипа
ՏեսակԾրագրերի բաղադրիչ
ՀեղինակMicrosoft
Նախագծումը՝Մայքրոսոֆթ
Գրված է՝High Level Shader Language? և C++
ՕՀMicrosoft Windows
Լույս տեսավ՝սեմպտեմբերի 30 1995թ.
Զարգացման կարգավիճակԳործադրվող
ԱրտոնագիրMicrosoft EULA
Հիմք են ծառայելComponent Object Model?
Հաջորդ12 (2015)
ԿայքDirectX
DirectX Վիքիպահեստում

DirectX–ի ծրագրերի զարգացման հավաքածուն (Software Development Kit, SDK) ներառում է անհրաժեշտ գրադարաններ, գլխամասային ֆայլեր և ծրագրային օրինակներ։ Գրադարանները ի սկզբանե նախատեսված էին որպես DirectX-ով գրված ծրագրերին անհրաժեշտ ուղեկցող ֆայլեր։ Մինչև Windows 8–ի թողարկումը DirectX-ի ստեղծման հավաքածուն տրամադրվում էր անվճար ներբեռնման համար, ապա ինտեգրվել է Windows–ի ծրագրերի ստեղծման հավաքածույին։

Պատմություն

խմբագրել

Դեռևս 1994 թվականին, երբ Մայքրոսոֆթը պատրաստվում էր թողարկել իր հաջորդ, Windows 95 օպերացիոն համակարգը, կարևոր էր համարում այն հատկանիշը, որպեսզի օգտատերերը կարողանան աշխատել այն ծրագրերով, որոնք ստեղծված էին ավելի հին Windows–ի տարբերակների վրա։ Մայքրոսոֆթի աշխատակից Ալեքս Ստ․ Ջոնը խաղեր ստեղծող տարբեր ծրագրավորողների հետ քննարկմանը հարցրել է թե ինչպես են նրանք տեղափոխելու MS-DOS–ով գրված խաղերը դեպի Windows 95, և որպես պատասխան ստացել բացասական կարծիքներ, քանզի օպերացիոն համակարգը անհրաժեշտ հասանելիություն MS-DOS-ի և առհասարակ BIOS-ի ֆունկցիաներին և ուղիղ ապարատային սարքավորումներին[1]։ Կային նաև սուր մտահոգություններ համատեղելիության մասին․ որպես օրինակ կարելի է վերցնել «Դիսնեյի Անիմացիոն Պատմությունների Գրքի Առյուծ Արքա»–ի մասին խաղը, որը հիմնված էր WinG գրադարանի վրա[2]։ Compaq ընկերության բազմաթիվ անհամատեղելի և WinG գրադարանով ոչ թեստավորված դրայվերների առկայությունը առաջացնում էր այնքան շատ խնդիրներ, որոնք ուղղակի անհնարին էին դարձնում խաղալը և հեղեղում էին Դիսնեյի սպասարկման թեժ գծերը[3][4]։

Ստ․ Ջոնը հասկանալով խաղային անհամատեղելիության խնդիրները, վարձեց երկու ինժեներ–ծրագրավորող Կրեյգ Էյսլերին և Էրիկ Էնգստրոմին, և սկսեցին աշխատել «Մանհեթենյան Նախագիծ» անվանումով նախագծի վրա։ Այն անվանված էր Երկրորդ համաշխարհային պատերազմի Մանհեթենյան նախագծի պատվին, որպեսզի ճապոնացիների կողմից մշակած խաղային կոնսոլները փոխարինվեն Մայքրոսոֆթի օպերացիոն համակարգով աշխատող անհատական համակարգիչներով։ Սկզբում որպես նախագծի պատկերանշան օգտավործվում էր ռադիացիայի նշանը, սակայն Մայքրոսոֆթը թիմին խնդրեց փոխարինել նշանը, ինչի արդյունքում այն փոխվեց ուղղաթիռի պտտվող մեխանիզմի նշանով։ Ղեկավարությունը համաձայն չէր այս նախագծին, քանի որ նրանք արդեն հրաժարվել էին Windows-ից՝ որպես խաղային հարթակ, թեպետ երեքն էլ պարտավորվել էին զարգացնել նախագիծը:[5] Թիմի ըմբոստ բնույթը դրդեց Բրեդ Սիլվերբերգին ՝ Մայքրոսոֆթի գրասենյակային արտադրանքի ավագ փոխնախագահին, եռյակին անվանել «Հրեշավոր տղաներ» (Beastie Boys):[6]

Աշխատանքի մեծամասնությունը հանդիսանում էր 1994 թվականի վերջերին ստեղծված նմանատիպ նախագծերի միավորումը, և 4 ամսվա ընթացքում, տարբեր մատակարարների ծրագրային ներդրումների շնորհիվ թիմը ստեղծեց առաջին ծրագրերի ստեղծման հավաքածուները (API-ները), որոնք ներկայացվել էին 1995 թվականին Սան Ֆրանցիսկո քաղաքում անցկացվող Խաղային Ծրագրավորողների (GDC) կոնֆերենցիային։ API-ի մեջ ներկայացված էին DirectDraw–ը, որը բիթերով քարտեզագրված (bit-mapped) գրաֆիկա էր տրամադրում, DirectSound–ը աուդիոյի համար, և DirectPlay–ը ցանցով խաղացողների փոխկապակցման համար։

Գրադարանների «Direct» նախդիրը առաջացել էր նրանից, որ գրադարանները շրջանցում էին Windows 95–ի համակարգային ֆունկցիաները և դիմում էին ապարատային ռեսուրսներին Ապարատային Աբստրակցիայի Շերտով (Hardware Abstraction Layer, HAL), իսկ հենց «DirectX» անվանումը ստեղծվել էր մի լրագրողի կողմից, որը ընդհանրացրած կերպով ներկայացրել էր գրադարանները իր հոդվածում։ Թիմը նույնպես օգտագործեց այդ անվանումը, և հետագայում գրադարանների կազմը անվանվեց DirectX։

Առաջին DirectX-ը գործադրվեց նույն թվականի սեպտեմբերին «Windows Game SDK» անվան տակ։ Իր DirectDraw կոմպոնենտը հանդիսանում է Windows 95-ում Win32-ի նկարչական և Windows 3.1–ի WinG գրադարանների փոխարինիչը։ Սկսած Windows 95–ից DirectX–ը բոլոր հետագա Windows–ի տարբերակների համար թույլատրեց օգտագործել բարձր մակարդակի մուլտիմեդիան։ Կրեյգ Էյսլերը անգամ իր բլոգում նկարագրել էր DirectX–ի 1–5 տարբերակների մոլեգնության մասին[7]։ DirectX–ը ավելի շատ ծրագրավորողներին օգտագործելու դրդելու համար Մայքրոսոֆթը id Software–ի ծրագրավորող Ջոն Կարմակին առաջարկեց պորտավորել Doom և Doom 2 խաղերը MS-DOS–ից դեպի DirectX գրադարաններ՝ անվճար և առանց խաղային իրավունքների փոխանցման։ Կարմակը համաձայնվեց և նախագիծը ղեկավարում էր Գեյբ Նյուելը։ Արդյունքում պորտավորված խաղը 1996 թվականի օգոստոսին թողարկվեց որպես Doom 95, և հանդիսացավ DirectX–ով գրված առաջին խաղը։ Մայքրոսոֆթը խաղը մեծապես գովազդում էր, անգամ Բիլ Գեյթսի հայտնվելով գովազդում։

DirectX-ը նաև հանդիսանում է հիմք Xbox API-ի համար. Xbox API-ն ձևավորվել էր Մայքրոսոֆթի և Նվիդիայի հետ համագործակցությամբ, որում վերջինս նաև ստեղծել էր վիդեոքարտ օրիգինալ Xbox–ի համար։ Այն համաձայնեցված է DirectX 8.1-ի հետ, որը ի տարբերություն սովորական տարբերակների, թարմացվող չի հանդիսանում ապարատին հատկանշական առանձնահատկությունների պատճառով։

Մինչ DirectX–ի ստեղծումը, Microsoft-ը ներառել էր OpenGL-ը Windows NT օպերացիան համակարգում։ OpenGL–ը բազմահարթակային և օպերացիոն համակարգից անկախ համակարգ է, որը ստեղծվել է Silicon Graphics–ի կողմից՝ եռաչափ գրաֆիկան (3D) ծրագրավորման մեջ ներդնելու համար։ Դրանից զատ, OpenGL–ը նաև սպասարկում է 2D գրաֆիկա, որը ղեկավարվում էր Ճարտարապետական Վերանայման Խորհրդի կողմից (Architectural Review Board, ARB), որը ներառել էր նաև Մայքրոսոֆթը։ Direct3D դարձավ OpenGL-ի փոխարինող խաղային ոլորտում։ Այստեղից էլ սկսում է «սրբազան պատերազմը» OpenGL-ի և Direct3D-ի միջև․ ըստ էության, ամեն ծրագրավորող կարող էր օգտագործել իր նախընտրած գրադարանը։ Եթե ծրագիրը օգտագործում էր OpenGL, այն օգտագործում էր հենց OpenGL–ի գրադարանները, չնայած նրան որ OpenGL–ը չունի Direct3D–ին բնորոշ հատկությունները, ինչպիսիք են ջոյսթիկների և ձայնի սպասարկումը։

Ի սկզբանե ուղղվածություն ունենալով դեպի խաղերի ստեղծումը, DirectX ը հայտնի է դարձել այլ ծրագրային ապահովման զարգացման գործում։ Օրինակի համար, DirectX-ը, OpenGL-ի հետ միասին, շատ տարածվեց ինժեներական և մաթեմատիկական ծրագրային ապահովման մեջ։ Նաև DirectX–ի հիման վրա առկա են մոնտաժային, ֆոտոփոփոխման և այլ ծրագրեր։

2002 թ․ Microsoft-ը թողարկեց DirectX 9-ը, շեյդերներին մակարդակի 2.0 տարբերակով և մի շարք այլ թարմացումներով։ DirectX-ը չբավարարվեց մեկ անգամյա թարմացումով․ 2004 թ․ օգոստոսին DirectX-ում ավելացվեց շեյդերների 3.0 մակարդակի աջակցությունը (DirectX 9.0c)։ Մինչ օրս DirectX 9–ը հանդիսանում է 2000–ականների կեսերի խաղերի ճնշող մեծամասնության հիմքը։

2005 թ․ ապրիլին DirectShow-ի ինտերֆեյսը տեղափոխվեց դեպի Microsoft Platform SDK։

2018 թ․ հայտարարվեց ճառագայթային հետագծման (Ray Tracing) սպասարկումը, և ներկայացվել որպես DXGI։ HLSL–ից SPIR-V վերափոխման սպասարկումը ներկայացվեց նույն թվականին։

Ժամանակացույց

խմբագրել
DirectX-ի տարբերակներ Պատկերանշան Տարբերակի համար Օպերացիոն համակարգ Ստեղծման տարեթիվ Նշումներ
DirectX 1.0 4.02.0095 Windows 95a 30 սեպտեմբեր1995
DirectX 2.0 / 2.0a   4.03.00.1096 Windows 95 OSR 2

Windows NT ցածր 4.0-ից

հունիսի 5 1996
DirectX 3.0 / 3.0a   4.04.0068 / 69 Windows 95 OSR 2.5

Windows NT 4.0 SP3

15 սեպտեմբեր1996 DirectX-ի վերջին տարբերակն է, որը համապատասխանում է Windows NT 4.0–ին։
DirectX 4.0   4.05.00.0155 (RC55) Windows 95 OSR 2.5

Windows NT 4.0 SP3

հուլիսի 16 1997 Հասանելի էր միայն բետա տարբերակը Windows NT 4.0–ի համար։
DirectX 5.0   4.05.01.1721 / 1998 Windows 98 մայիսի 5 1998
DirectX 6.0   4.06.00.0318 (RC3) Windows 98 SE օգոստոսի 7 1998 DirectX Media–ի վերջին տարբերակն է, որը համապատասխանում է Windows NT 4.0-ին:
DirectX 6.1   4.06.02.0436 (RC0) Windows 95/98/98SE փետրվարի 3 1999
DirectX 6.2 5.00.2516.1900 (ոչ պաշտոնական DX 6.2) Windows NT/98SE/98/2000/ME օգոստոսի 21 1999
DirectX 7.0 4.07.00.0700 (RC1) Windows 2000

Windows ME

սեպտեմբերի 22 1999
DirectX 7.0a   4.07.00.0716 (RC1) Windows 95/98/98SE/2000 1999
DirectX 8.0 4.08.00.0400 (RC10) Windows 95/98/98SE/ME/2000 սեպտեմբերի 30 2000
DirectX 8.0a   4.08.00.0400 (RC14) Windows 95/98/98SE/ME/2000 նոյեմբերի 7 2000 DirectX-ի վերջին տարբերակն է,որը համապատասխանում է Windows 95–ին։
DirectX 8.1   4.08.01.0810

4.08.01.0881 (RC7)

Windows NT/98SE/98/XP նոյեմբերի 8 2001
DirectX 8.1b   4.08.01.0901   2002
DirectX 8.2   4.08.02.0134 (4.09.0000.0134)   2002
DirectX 9.0 4.09.0000.0900 Windows Server 2003 դեկտեմբերի 24 2002
DirectX 9.0a   4.09.0000.0901   մարտի 26 2003
DirectX 9.0b   4.09.0000.0902 (RC2)   օգոստոսի 13 2003
DirectX 9.0c   4.09.0000.0904 (RC0) Windows XP SP2 օգոստոսի 9 2004 DirectX-ի վերջին տարբերակն է, որը համապատասխանում է Windows 98 SE–ին և Windows Me–ին։
DirectX 9.0L   4.09.0000.0905 (?)
DirectX 10 (Windows Vista-ի կազմի մեջ է)   6.0.6000.16386 Windows Vista նոյեմբերի 10 2006
DirectX 10.1   6.00.6001.18000 Windows Vista SP1

Windows Server 2008

Փետրվարի 42008
DirectX 11 (Windows 7-ի կազմի մեջ է)   6.00.6002.18107 Windows Vista SP2

Windows Server 2008 SP2 Windows 7 Windows Server 2008 R2

հոկտեմբերի 27 2009 Windows Vista և Server 2008–ի համար հասանելի էր հատուկ հարթակային թարմացման[8] միջոցով։
6.01.7600.16385 Windows 7

Windows Server 2008 R2

հոկտոմբերի 22 2009
6.01.7601.17514 Windows 7 SP1

Windows Server 2008 R2 SP1

Փետրվարի 16 2011
DirectX 11.1 ( Windows 8-ի կազմի մեջ է)[9] 6.02.9200.16384 Windows 7 SP1, Windows 8, Windows RT, Windows Server 2012 Օգոստոսի 1 2012
DirectX 11.2 (Windows 8․1-ի կազմի մեջ է) 6.03.9600.16384 Windows 8.1, Windows RT, Windows Server 2012 R2 հոկտեմբերի 18 2013
DirectX 11.3 (Windows 10-ի կազմի մեջ է) 10.0.10240.16384 Windows 10 հուլիսի 29 2015
DirectX 12 (Windows 10-ի կազմի մեջ է) 10.0.10240.16384 Windows 10, Xbox One հուլիսի 29 2015

Համատեղելիություն

խմբագրել

Շատ ժամանակակից սարքեր պետք է DirectX-ը համատեղեն դրայվերների հետ, այլ կերպ ասած, օգտագործողը պետք է տեղադրի DirectX-ը, որպեսզի կարողանա օգտագործել բոլոր հնարավորությունները։ Ներկա պահին դրայվերների թարմացնելու ծրագիրը, Windows Update-ը, հնարավորություն է տալիս ներբեռնել անհրաժեշտ գրադարանները և ոչ ամբողջ դրայվերները։

Հետևյալ ցանկում ներկայացված են հիմնական օպերացիոն համակարգերը, որոնք համատեղելի են DirectX-ի հետ։

  • Windows 95/98/98 SE/ME,
  • Windows NT 4.0, Windows 2000, Windows 2000 Advanced Server, Windows 2000 Professional Edition, Windows 2000 Server, Windows 2000 Service Pack 2, Windows 2000 Service Pack 3, Windows 2000 Service Pack 4,
  • Windows Server 2003, Windows Server 2003 Service Pack 1, Windows Server 2003 Datacenter x64 Edition, Windows Server 2003 Enterprise x64 Edition, Windows Server 2003 Standard x64 Edition, Windows Small Business Server 2003,
  • Windows XP, Windows XP 64-bit, Windows XP Home Edition, Windows XP Media Center Edition, Windows XP Professional Edition, Windows XP Service Pack 1, Windows XP Service Pack 2, Windows XP Service Pack 3, Windows XP Starter Edition, Windows XP Tablet PC Edition,
  • Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10,
  • Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2016.

Ծանոթագրություններ

խմբագրել
  1. DeMaria, Rusel (2019). «11. The Manhattan Project». GAME OF X V.2. CRC Press. «Windows needs to support; ... – Page flipping – Vertical blank synchronization – Tight sound mixing – Tight synchronization of sound and video events – Raw blting performance – Ability to set graphic mode ...»
  2. Kelly, Christopher (June 1, 1995). «Video for Windows and WinG». Dr. Dobb's Journal. Վերցված է 2022-08-09-ին. «Lion King software, for example, is a WinToon app. ... Like WinToon, this example uses WinG for drawing on the DIB.»
  3. Willetts, Samual (July 27, 2020). «How DirectX defined PC gaming... with help from a shotgun-toting Bill Gates». PC Gamer. Վերցված է December 7, 2020-ին.
  4. Craddock, David (November 14, 2020). «Bet on Black: How Microsoft and Xbox Changed Pop Culture, Part 1 - Chapter 8: Power of X». Shacknews. Վերցված է December 7, 2020-ին.
  5. Քաղվածելու սխալ՝ Սխալ <ref> պիտակ՝ «shacknews xbox p1ch82» անվանումով ref-երը տեքստ չեն պարունակում:
  6. Haggarty, James (December 9, 2020). «Microsoft Misfit Helped Lead Company Into Game Market». The Wall Street Journal. Վերցված է December 9, 2020-ին.
  7. Craig Eisler's blog post about the frenzy to build DirectX 1 through 5(չաշխատող հղում) on craig.theeislers.com
  8. «Microsoft upgrades Windows Vista with DirectX 11». pcgameshardware.com. Արխիվացված է օրիգինալից 2016 թ․ մարտի 31-ին. Վերցված է 2017 թ․ մայիսի 28-ին.
  9. «Новые возможности Direct3D 11.1 / Хабрахабр». Արխիվացված է օրիգինալից 2011 թ․ սեպտեմբերի 17-ին. Վերցված է 2017 թ․ մայիսի 28-ին.