دایرکتاکس که از محصولات رایگان مایکروسافت است، مجموعهای از رابطهای کاربردی برنامهنویسی ((API1 است که برای انجام امور مرتبط با صدا و تصویر، بهخصوص برنامهنویسی برای بازیها و فیلمها بهکار میآید. در ابتدای عرضه دایرکتاکس، نام تمام این مجموعه رابطهای کاربری با کلمه Direct شروع میشد: D3Direct، DirectDraw، DirectMusic، DirectPlay، DirectSoundو از اینرو نام دایرکتاکس واژهای است که بهجای تمام این رابطها بهکار میرود.
تاریخچه
درست اواخر سال 94 که مایکروسافت در تلاش بود سیستم عامل بعدی خود (ویندوز 95) را عرضه کند، موثرترین عاملی که باعث میشد مشتریان را به این سیستم عامل بکشاند، نرمافزارهایی بود که میشد روی آن اجرا کرد. سه کارمند مایکروسافت، کریگآیسلر2، الکس سنتجان3 و اریک انگستروم4 بهاین نتیجه رسیدند که برنامهنویسان، همواره به سیستمعامل قبلی این شرکت (MS-DOS) بهعنوان سیستمی بهتر برای برنامهنویسی نگاه میکنند. در داس همهچیز آزاد بود، دسترسی مستقیم به کارت گرافیک، کیبورد،ماوس و کارت صدا و تمام قطعات سیستم بهسادگی انجام میشد، اما در ویندوز 95 چنین کاری به موفقیت بدل نشد. مایکروسافت به مدلی نیاز داشت که میتوانست بهبرنامهنویسها چیزی که نیاز داشتند را ارائه کند، از سوی دیگر سرعت آن نیز بالا باشد. این سهتن با کمک همدیگر برای حل مشکل اقدام کردند و راهحل، دایرکتاکس نام گرفت.
در سال 2002، مایکروسافت نسخه 9 دایرکتاکس را منتشر کرد و با این انتشار برنامههای زیادی میتوانستند با سایهزن بردار و طرح نسخه 2 کار کنند. توسعه دایرکتاکس از آن زمان تاکنون ادامه دارد، بهطوری که مدل سایهزن نسخه 3 در c9.0 DirectX پشتیبانی شد.
رابط کاربری D3Direct
این رابط کاربری بهطور گسترده در توسعه بازیهایی که تحت محیط ویندوز مایکروسافت، یا اکسباکس و اکسباکس 360 نوشته میشوند، بهکار میرود. D3Direct همچنین برای پیادهسازی نرمافزارهای مهندسی CAD/CAM بهکار میرود و پراستفادهترین رابط برنامهنویسی در برابر دیگر رابطهای بسته دایرکتاکس است و آنقدر میان برنامهنویسان استفاده میشود که گاهی اوقات وقتی میگویند دایرکتاکس، منظور همان D3Direct است.
کیت توسعه نرمافزار ((SDK5 دایرکتاکس شامل یک سری کتابخانه بهشکل باینری است که بههمراه مستندات و سرآیندهای کدها عرضه میشود. از قدیم این کتابخانهها بهطور خودکار توسط بازیها یا کاربر نصب میشد. ویندوز 95 دایرکتاکس نداشت. ویندوز 98 و ویندوز NT نسخه 4 هر دو بهطور پیشفرض با دایرکتاکس همراه شدند و از آن زمان آخرین نسخههای ویندوز با آخرین نسخه دایرکتاکس همراه شد. کیتهای توسعه نرمافزار بهرایگان میتوانند دانلود و استفاده شوند، اما رانتایمهای دایرکتاکس همگی تحت تملک مایکروسافت قرار دارد.
آخرین نسخه D3Direct که 10 D3Direct است، فقط برای ویندوز ویستا قابل استفاده است. دلیل اینکه ویندوزهای قبلی از دایرکتاکس 9 بهبعد پشتیبانی نمیکنند، پیادهسازی دایرکتاکس جدید بر مبنای مدل درایور نمایشی ویندوز6 است که در ویندوز ویستا ایجاد شد. معماری جدید گرافیکی ویندوز ویستا، مدیر جدید حافظهای در خود دارد که مجازیسازی سختافزار گرافیکی را برای محیطها و نرمافزارهای مختلف انجام میدهد.
مولفههای دایرکتاکس
– رابط DirectDraw برای رسم تصاویر دو بعدی است که دیگر توسعه نمییابد اما هنوز توسط چندتایی بازی و پخشکنندههای تصاویر استفاده میشود.
– رابط D3Direct که تصاویر سهبعدی رسم میکند.
– رابط DXGI برای شمارش دستگاهها و مانیتورها و مدیریت جابهجایی زنجیرها7 برای D3Direct نسخه 10 و بعد از آن.
– رابط دایرکتاینپوت برای استفاده از دستگاههای ورودیای چون کیبورد، ماوس، دستههای بازی یا دیگر کنترلکنندهها بهکار میرود و بعد از اینکه در نسخه 9 دایرکتاکس، مولفه جدیدی با نام XInput معرفی شد، دیگر توسعه داده نشد. XInput برای کنترلکنندههای اکسباکس بهکار میرود و با استاندارد WM INPUT8 کار میکند.
– رابط DirectPlay برای برقراری ارتباط در شبکههای محلی یا شبکههای بزرگتر بهکار میرود و پس از نسخه 8، دیگر توسعه داده نشد.
– رابط DirectSound برای پخش و ضبط صداها بهکار میرود. رابط D3DirectSound برای پخش صداهای سهبعدی استفاده میشود.
– رابط DirectMusic برای پخش صداهایی که توسط DirectMusic Producer تولید شدهاند.
– رابط DirectX Media خود شامل چندین مولفه برای کنترل انیمیشنهای تحت وب و فعالیتهای تحت وب و شبکه است.
شیوه کار با دایرکتاکس، مشابه اشیا و رابطهای بهسبک COM9 است. بدین ترتیب، اشیای مدیریتشده میتوانند روی بخشهای دیگر دایرکتاکس قرار بگیرند.
رابطهایی همچون DirectSound و D3Direct باید با سختافزار در تعامل باشند، بههمین دلیل این کار را از طریق راهانداز دستگاه انجام میدهند. تولیدکنندگان سختافزار باید این درایورها را طوری بنویسند که با نسخههای مختلف دایرکتاکس کار کند. نسخههای اولیه دایرکتاکس یک بسته جدا دارند که باید برای نصب درایورهای دستگاههای جدید از آنها استفاده کرد. برخی از دستگاهها فقط از درایورهای دایرکتاکس پشتیبانی میکنند، یعنی برای اینکه این دستگاهها راه بیافتند، باید حتما دایرکتاکس نصب داشته باشید.
تا قبل از دایرکتاکس 10، تمامی نسخههای دایرکتاکس از نسخههای قبلی و دستوراتی که برای نسخههای قبلی نوشته شده بود، پشتیبانی میکردند. بدینترتیب نیازی نبود که سختافزارها و راهاندازهای دستگاهها را برای هر نسخه ارتقا داد. مثلا اگر یک بازی برای 9 D3Direct نوشته میشد، روی کارت گرافیکی که برای 6 D3Direct ساخته شده بود نیز کار میکرد، البته احتمالا اجرای آن با مشکل، کندی یا نبود کیفیت همراه میشد.
اما از ویندوز ویستا بهبعد، بهخاطر اینکه سیستم نمایش دستگاههای ویندوز ویستا ارتقا یافته است، دایرکتاکس10 قادر بهاجرای دستگاههای قدیمیتر نیست. البته، دایرکتاکسدر بسیاری از بخشها از دستگاههای قدیمیتر پشتیبانی میکند، اما وقتی اجرای برنامهها بهبخشهایی از دایرکتاکس 10 میرسد که در نسخههای قبلی وجود نداشت، دستگاههای قدیمیتر قادر به اجرا نیستند.
دایرکتاکس یازده
مایکروسافت بهتازگی مشخصات و ویژگیهای دایرکتاکس یازده را منتشر کردهاست که از ویندوز ویستا بهطور کامل پشتیبانی میکند. بسیاری نگران این موضوعاند که آیا همان حادثهای که برای سختافزارهای پیش از ویستا افتاد، باز هم برای دایرکتاکس 11 میافتد و پشتیبانی از قطعات قدیمیتر انجام نمیشود؟ مایکروسافت اعلام کردهاست که از تمام سختافزارهایی که با دایرکتاکس 10 همخوان هستند، پشتیبانی میکند.
دایرکتاکس 11 مایکروسافت فناوری جدیدی را با خود دارد که به واحد پردازنده گرافیکی (GPU) کمک میکند محاسبات سایهزنی را بهتر انجام دهد و از مزایای کارت گرافیک بهعنوان یک پردازنده موازی بهره گیرد. همچنین سیستم مدیریت منابع آن بهطور کامل چندنخی شده است و استفاده از ماشینهایی که چند هسته پردازنده در خود دارند، سرعت بیشتری را در بازیها بهارمغان میآورد. همچنین این سیستم شیوه جدیدی از موزاییککاری10 را پیاده کرده است که مدلکردن اشیا را هنگام نزدیک شدن دوربین بسیار نرم و جذاب میکند.
پینوشتها
Application Programming Interface.1
Craig Eisler.2
Alex St. John.3
Eric Engstrom.4
Software Development Kit.5
Windows Display Driver Model.6
7. Swap Chains: تکنیکی است مختص مایکروسافت که در آن، میان سرعت تازهسازی مانیتور و سرعت زیاد کارتهای گرافیکی تعادل برقرار میشود و صفحه دچار شکستگی تصویر نمیشود.
8. WM INPUT: استانداردی که توسط آن پنجرههای ویندوزی و رابط کاربری کنترل میشود.
9. COM: سرنام عبارت Component Object Model، رابط کاربری استانداردی است که توسط مایکروسافت ایجاد شده و برای تبادل اطلاعات میان برنامهها استفاده میشود.
Resellation.10
منابع
http://tomshardware.com/reviews/
.html2019opengl-directx,
53810 http://shacknews.com/onearticle.x/
350 http://anandtech.com/video/showdoc.aspx7i=?
http://en.wikipedia.org/wiki/DirectX
امیربهاالدین سبطالشیخ
در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم