DirectX
| Տեսակ | Ծրագրերի բաղադրիչ |
|---|---|
| Ենթադաս | Application Programming Interface (API) |
| Հեղինակ | Microsoft |
| Նախագծումը՝ | Մայքրոսոֆթ |
| Գրված է՝ | High Level Shader Language? և C++ |
| ՕՀ | Microsoft Windows |
| Լույս տեսավ՝ | սեմպտեմբերի 30 1995թ. |
| Պլատֆորմ | Windows և Xbox One |
| Զարգացման կարգավիճակ | Գործադրվող |
| Արտոնագիր | Microsoft EULA |
| Հիմք են ծառայել | Component Object Model? |
| Հաջորդ | 12 (2015) |
| Կայք | DirectX |
| Ելակոդ | github.com/microsoft/DirectX-Headers |
| DirectX Վիքիպահեստում | |
DirectX — գրադարանների հավաքածու, որը նախատեսված է Windows օպերացիոն համակարգի գրաֆիկական բաղկացուցիչների համար։ Այն հանդիսանում է առանձին գրաֆիկական գրադարանների – Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound միավորումը, և մեծապես կիրառվում է համակարգչային խաղերում և գրաֆիկական ծրագրերում, ինչպես նաև Մայքրոսոֆթի այլ նախագծերում, ինչպիսիք են Xbox-ը, որի X տառը սերում է հենց 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–ի հիման վրա առկա են մոնտաժային, ֆոտոփոփոխման և այլ ծրագրեր, ինչպիսիք են Adobe Premiere Pro-ն և Adobe Photoshop-ը։
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 |