Microsoft DirectX مجموعه ای از رابط های برنامه کاربردی (application programming interfaces (API است که برای اداره کردن وظایف مربوط به برنامه های چند رسانه ای، به ویژه برنامه ریزی بازی و ویدئو، در پایگاه مایکروسافت است. در اصل، اسم های این " رابط های برنامه کاربردی" (API's) تماما با Direct شروع می شوند، از قبیل Direct3D, DirectDraw، DirectMusic, DirectPlay, DirectSound و به همین منوال. DirectX، بعد، اصطلاح کلی برای تمام این رابط های برنامه کاربردی Direct و چیزی شد، و آن اصطلح اسم کلی این مجموعه شد. بعد از معرفی Xbox، مایکرسافت رابط های برنامه کاربردی برای طراحی بازی چند پایگاهی را از قبیل XInput، که برای مکمل کردن و یا جایگزین کردن اجزا تکی DirectX طراحی شده اند منتشر کرد.

Direct3D ( گرافیک سه بعدی API در درون DirectX) به طور گسترده ای در گسترش بازی های کامپیوتری برای ویندوز مایکروسافت، Xbox مایکروسافت و Xbox 360 مایکروسافت استفاده می شود. Direct3D نیز توسط دیگر نرم افزارهای کاربردی برای وظایف گرافیکی و تصویری، بیشتر به طور قابل توجهی در میان بخش مهندسی برای CAD/CAM ، به خاطر توانای آن در درآوردن سریع گرافیک سه بعدی با استفاده از سخت افزازهای گرافیکی سازگار با DirectX بکار میروند. از آنجا که Direct3D به طور گسترده ای جزئی از DirectX به اطلاع عموم رسیده است، رایج است که دیده شود که نام های DirectX و Direct3D به جای هم استفاده شوند.

جعبه طراحی نرم افزار DirectX از مجموعه های زمان اجرا به شکل دودویی قابل توزیع مجدد، به همراه اسناد و سرآمدهای همراه برای استفاده در کدگذری تشکیل می شود. در اساس، زمان های اجرا تنها توسط بازی ها و یا به طور واضحی توسط کاربر نصب می شوند. ویندوز 95 با DirectX شروع به کار نکرد ولی DirectX در Windows 95 OEM Service Release 2 (انتشار شماره 2 شرکت تولید کننده تجهیزات اصلی و جانبی ویندوز 95) شامل شد. ویندوز 98 و ویندوز NT 4.0 هر دو با DirectX روانه بازار شدند، تا کنون تمام نسخه های ویندوزهای منتشر شده این را دارند. SDX به عنوان یک دانلود مجانی موجود است. در حالی که زمان های اجرا اختصاصی، نرم افزار نزدیک به منبع، کد منبع هستند توسط بیشتر نمونه های SDX فراهم می شوند.

آخرین نسخه های Direct3D به نام های Direct3D 10 و Direct3D 9Ex به استثتای Windows Vista هستند. دلایلی که، همینجور که مایکروسافت ادعا می کند، این است که تغییرات گسترده ای در معماری گرافیک ویندوز و در معرفی معروف Windows Display Driver Model وجود دارند. منتقدین استدلال می کنند که ممکن است انگیزه های تبلیغاتی احتمالی همچنین وجود داشته باشد. بر خلاف دسترسی اختصاصی که توسط برنامه های کاربردی DirectX در ویندوز XP ارائه می شود، این طراحی مجدد زیربنا گرافیک برای ویندوز ویستا از سخت افزارهای گرافیک مجازی سازی تا چندین برنامه کاربردی و خدمات منجمله Desktop Windows Manager پشتیبانی می کند. هم Direct3D 10 و هم Direct3D 9Ex بر شالوده و محرک های WDDM متکی هستند.

اجزاء تشکیل دهنده DirectX
DirectDraw : برای کشیدن تصاویر دو بعدی. بد دانسته می شود، اگرچه هنوز در تعدادی از بازی ها مورد استفاده قرار می گیرد.
(Direct3D (D3D : برای کشیدن تصاویر سه بعدی
DXGI : برای شمارش آداپتورها و نظارت و مدیریت زنجیره های مبادله ای برای Direct3D 10 و بالاتر
DirectInput : برای میانجی قرار دادن وسایل ورودی شامل صفحه کلیدها، موس ها، دسته های بازی یا دیگر کنترل گرهای بازی
DirectPlay : برای برقراری ارتباط بر یک شبکه محلی یا گسترده
DirectSound : برای پخش و رکورد کردن صداهای موجی شکل
DirectSound3D : برای پخش صداهای سه بعدی
DirectMusic : برای پخش آرم های برنامه ساخته شده در DirectMusic Producer
DirectX Media : شامل DirectAnimation برای فیلم های کارتونی (انیمیشن) دو بعدی شبکه; DirectShow برای پخش صوت و تصویر و فیلم و صدای زنده بر روی مرورگر (streaming media)،
DirectX Transform : برای برنامه های دو سویه شبکه (بین یک برنامه و یک کاربر) و Direct3D Retained Mode برای گرافیک های سه بعدی سطح بالاتر، DirectShow دارای DirectX plugins برای پردازش سیگنال صوتی میباشد و DirectX Video Acceleration برای پخش ویدئو شتاب داده شده
DirectShow : از تاریخ آپریل 2005 دیگر DirectShow بخشی از رابط برنامه کاربردی DirectX نیست. این همراه با پایگاه SDK موجود میباشد.
SDK = Software Development Kit : برنامه ای که برنامه نویسان از آن برای ساخت پروژه هایشان استفاده می کنند.
DirectX Media Objects : پشتیبانی از چیزهای جریانی مثل رمزگذارها، رمزگشاها و جلوه ها
DirectSetup : برای نصب اجزاء DirectX. نه برای رابط برنامه کاربردی یک بازی بخودی خود

DirectX 10
یک بروزرسانی عمده برای رابط برنامه کاربردی DirectX 10، DirectX با و تنها با Windows Vista روانه بازار می شود. نسخه های قبلی ویندوز قادر به اجرای برنامه های انحصاری DirectX 10 نیستند. تغییرات در DirectX 10 وسیع بودند.، ولی Direct3D مشخصه بارز یک تعمیر کامل در این API (رابط برنامه کاربردی) بود. از هنگامی که Windows Vista صدا را در نرم افزارها بر روی CPU ترجمه می کند، DirectInput به نفع XInput بد دانسته شد، با DirectSound به نفع XACT مخالفت شد و پشتیبانی سخت افزارهای صوتی شتاب داده شده را از دست داد. DirectPlay DPLAY.DLL همچنین برداشته و با dplayx.dll جابجا شد; بازی های که بر این فایل dll تکیه می کنند باید آن را تکثیر و به dplay.dll تغییر نام دهند.

تاریخچه
در اواخر 1994 مایکروسافت درست در شرف انتشار سیستم عامل بعدی اش بود، Windows 95. عامل اصلی که ارزشی را که مصرف کنندگان بر روی سیستم عامل جدید خواهد گذاشت مشخص می کرد بر روی چه برنامه های که قادر به اجرا در آن خواهند بود بسیار زیاد باقی ماند. سه نفر از کارمندان مایکروسافت ـ Craig Eisler, Alex St. John و Eric Engstrom - نگران بودند، چون برنامه ریزان متمایل بودند تا سیستم عامل قبلی مایکروسافت، MS-DOS ، را به عنوان یک پایگاه بهتر برای برنامه ریزی بازی ببینند، به این معنا که معدود بازی هایی می توانند برای Windows 95 گسترش و طراحی و این سیستم عامل با آن اندازه یک کار موفقیت آمیز نخواهد بود.
DOS اجازه دسترسی مستقیم به کارت های ویدئو، صفحه کلیدها، موس ها، وسایل صدا و تمام دیگر قسمت های سیستم را میداد، در حالی که Windows 95، با نمونه حافظه حفاظت شده اش، با کار کردن بر روی یک نمونه بسیار بیشتر استاندارد شده، دستیابی به تمام اینها را محدود می کرد. مایکروسافت نیاز به راهی داشت که به برنامه ها اجازه می داد تا آنچه را که نیاز دارند بدست آورند، و سریعا به آن نیاز داشتند; این سیستم عامل تنها چند ماه با انتشار فاصله داشت. Eisler, St. John, و Engstrom با یکدیگر کار کردند تا این مشکل را درست کنند، به همراه راه حلی که آنها آن را در پایان DirectX نامیدند.

اولین نسخه انتشار یافته DirectX به عنوان Windows Games SDK در سپتامبر سال 1995 روانه بازار شد. آن جایگزین Win32 برای DCI (Display Control Interface ) و WinG برای Windows 3.1 بود. یک گروه طراحی در ATI فن آوری پایه ای گرافیک بازی را مورد توجه مایکروسافت ساخت. گسترش DirectX توسط گروه Eisler ( خط اول طراحی)، St. John و Engstrom (مدیر برنامه) رهبری شد. مقدم بر وجود DirectX، مایکروسافت OpenGL را از قبل در پایگاه Windows NT شامل کرده بودند. در آن هنگام، OpenGL نیاز به گرانترین سخت افزارها داشت و محدود به استفاده های طراخی و ساخت و CAC میشد. Direct3D ( معرفی شده توسط Eisler, Engstrom و St. John به عنوان شق دیگری برای SGI های OpenGL) در نظر گرفته شده بود تا یک یار سبک وزن OpenGL یواش آن وقت برای استفاده در بازی باشد. همانجور که قدرت کارت های گرافیکی کامپیوترهایی که در حال کار بودند رشد می کردند، OpenGL استاندارد غیر رسمی و مسیر اصلی محصول شد. در آن نقطه یک جنگ بین پشتیبانان OpenGL و Windows-only Direct3D دو-پایگاهی شروع شد که خیلی ها انتقاد داشتند یک نمونه دیگر از قبضه، توسعه و نابود کردن تاکتیک دادوستدد مایکروسافت بود. با وجود این، دیگر API (رابط برنامه کاربردی ِ) DirectX همواره با OpenGL در بازی های کامپیوتری ترکیب می شوند چون OpenGL تمام کارکردهای DirectX را شامل نمی شود( ار قبیل دسته بازی یا صدا). گرچه آمیزش OpenGL و SDL برای این مقصود به صورت روزافزونی رو به محبوب شدن است.

منبع : http://www.avaxnet.com