DirectX
From Wikipedia, the free encyclopedia
Remove ads
DirectX — գրադարանների հավաքածու, որը նախատեսված է Windows օպերացիոն համակարգի գրաֆիկական բաղկացուցիչների համար։ Այն հանդիսանում է առանձին գրաֆիկական գրադարանների – Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound միավորումը, և մեծապես կիրառվում է համակարգչային խաղերում և գրաֆիկական ծրագրերում, ինչպես նաև Մայքրոսոֆթի այլ նախագծերում, ինչպիսիք են Xbox-ը, որի X տառը սերում է հենց DirectX-ի վերջավորությունից։
DirectX–ի ծրագրերի զարգացման հավաքածուն (Software Development Kit, SDK) ներառում է անհրաժեշտ գրադարաններ, գլխամասային ֆայլեր և ծրագրային օրինակներ։ Գրադարանները ի սկզբանե նախատեսված էին որպես DirectX-ով գրված ծրագրերին անհրաժեշտ ուղեկցող ֆայլեր։ Մինչև Windows 8–ի թողարկումը DirectX-ի ստեղծման հավաքածուն տրամադրվում էր անվճար ներբեռնման համար, ապա ինտեգրվել է Windows–ի ծրագրերի ստեղծման հավաքածույին։
Remove ads
Պատմություն
Դեռևս 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 վերափոխման սպասարկումը ներկայացվեց նույն թվականին։
Remove ads
Ժամանակացույց
Remove ads
Համատեղելիություն
Շատ ժամանակակից սարքեր պետք է 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.
Ծանոթագրություններ
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads