DirectX چیست؟
در ابتدایی ترین سطح Directx بعنوان یک واسطه بین سخت افزار در کامپیوتر شخصی و خود ویندوز ، بخشی از API ویندوز یا واسطه برنامه نویسی برنامه های کاربردی Application Programming Interface است .
برنامه های بازی و مالتی مدیا جزء رضایت بخش ترین برنامه های کامپیوتری می
باشند ، ولی متأسفانه اجرای آنها به شیوه ای مناسب همیشه آسان نیست . علت
اول اینکه ساختار کامپیوترهای شخصی هرگز به منظور استفاده بعنوان پایگاهی
جهت بازی کردن طراحی نگردیده است . ثانیاً ماهیت طیف گسترده کامپیوترهای
شخصی به معنای آن است که دستگاه یک نفر می تواند بسیار متفاوت با دستگاه
دیگری باشد . لذا در حالیکه دستگاه های بازی همگی از سخت افزارهای مشابهی
استفاده می کنند ، کامپیوترهای شخصی چنین نیستند : حیطه بسیار وسیع تفاوت
های سخت افزاری می تواند دردسر بزرگی برای بازکردن این برنامه ها محسوب شود
. جهت رهایی از این دردسر تا حد امکان ، مایکروسافت نیازمند معرفی
استانداردی عمومی یا بهتر بگوئیم یک واسطه و میانجی عمومی بین سیستم عامل و
هرگونه سخت افزار نصب شده بر روی کامپیوتر بود تا تمام برنامه های بازی و
مالتی مدیا بتوانند از آن پیروی کنند . این واسطه عمومی همان Directx است ، یعنی چیزی که می تواند مانع سردرگمی های بسیاری شود .
Directx واسطه ای است که وظائف برنامه ریزی خاصی را بسیار ساده تر می سازد ،
چه برای پدید آورنده بازی و چه برای ما که فقط می خواهیم بنشینیم و آخرین
بازی پرفروش را بازی کنیم . لیکن قبل از ینکه بتوانیم Directx و چگونگی
کارکرد آن را توضیح دهیم ، لازم است به تاریخچه آن نگاهی بیندازیم .
تاریخچه Directx
هر بازی نیاز به اجرای وظائف خاصی بصورت مکرر دارد . بازی نیازمند زیر نظر
داشتن و کنترل داده های ورودی شما از طریق ماوس ، جوی استیک و یا یک بورد
بوده و همچنین نیاز به نمایش تصاویری بر روی صفحه مانیتور و اجرای اصوات و
موسیقی دارد . این تقریباً توصیف هر بازی در ساده ترین سطح آن است .
حال تصور کنید که این امر برای برنامه نویسانی که در ساختارهای کامپیوتر
شخصی پیش از ویندوز اقدام به برنامه نویسی می کردند تا چه حد باور نکردنی و
پیچیده بود .
لازم بود هر برنامه نویس روشی مختص به خود جهت خواندن کی بورد و یاحتی
ردیابی اینکه آیا اصلاً جوی استیکی به سیستم متصل است یا خیر بنویسد ، چه
برسد به اینکه بتوان از آن جهت باز کردن استفاده نمود . اعمال تکراری خاصی
مورد نیاز بود تا بتوان حتی ساده ترین نوع تصویر را در صفحه نمایشگر نمایش
داد و یا حتی صدایی ساده را اجرا نمود .
اساساً ، برنامه نویسان بازی ها در سطحی بنیادی با سخت افزار کامپیوتر کار
می کنند . هنگامی که مایکروسافت ویندوز را معرفی نمود ، جهت برقرای ثبات و
موفقیت پایگاه کامپیوتر شخصی ضروری بود تا کارها قدری برای برنامه نویسان و
بازیکنان ساده تر شود .
چه کسی حاضر بود زحمت نوشتن بازی برای ماشینی را بکشد که در آن هر بار که
قصد کار بر روی بازی جدیدی را داشت ، می بایست همه چیز را از نو بنویسد ؟
ایده مایکروسافت ساده بود : کار کردن مستقیم برنامه نویسان با سخت افزار را
متوقف کرده و بجای آن یک toolkit عمومی بسازد که بتوانند آن را مورد
استفاده قرار دهند . پس Directx متولد شد .
چطور کار می کند ؟
در ابتدایی ترین سطح Directx بعنوان یک واسطه بین سخت افزار در کامپیوتر
شخصی و خود ویندوز ، بخشی از API ویندوز یا واسطه برنامه نویسی برنامه های
کاربردی Application Programming Interface است .
برای مثال هنگامی که نویسنده یک برنامه بازی می خواهد یک فایل صوتی اجرا
شود ، صرفاً فراخوانی (call) به تابع کتابخانه (library function) صحیح می
باشد . هنگامی که بازی اجرا می شود ، عملکرد مزبور Directx API را فرا می
خواند که به نوبه خود فایل صوتی را به اجرا در می آورد . برنامه نویس به
دانستن نوع کارت صدایی که با آن سروکار دارد ، توانائی های کارت مزبور و
چگونگی مکالمه با آن نیاز ندارد . ماکروسافت Directx را فراهم آورده است و
سازنده کارت صدا نیز درایوی که توان اجرای Directx را داشته باشد فراهم
کرده است . برنامه نویس تقاضای صدایی که باید اجرا شود را می نماید و صوت
مزبور اجرا می شود بدون توجه به دستگاهی که صدا بر روی آن باید اجرا شود .
از دیدگاه ما بعنوان بازیکنان نیز Directx اوضاع را بطرز
غیر قابل باوری تسهیل می نماید ، حداقل بصوت تئوری . شما کارت صدای جدیدی
را جایگزین کارت قدیمی تان می کنید و کارت جدید به همراه درایو می آید .
دفعه بعد که بازی مورد علاقه خود را بازی کردید ، هنوز می توانید صداها و
موسیقی آن را شنیده و ناچار به انجام هیچگونه تغییرات پیکربندی پیچیده ای
نمی باشید .
در ابتدا ، Directx زندگی خود را بعنوان یک Toolkit ساده
آغاز نمود : سخت افزارهای اولیه محدود بوده و صرفاًَ گرافیکی بسیار ابتدایی
مورد نیاز بود . با تکامل نرم افزارها و سخت افزارها از نظر پیچیدگی ،
Directx نیز تکامل یافت .
اکنون Directx بسیار بیشتر از یک Toolkit گرافیکی بوده و
اصطلاح مزبور ، در بر گیرنده گزیده گسترده ای از روتین ها می باشد . برای
مثال روتین DirectInput می تواند با همه گونه ابزار ورودی از ماوس دو دکمه
ای گرفته تا جوی استیک های پیچیده مخصوص عملیات پرواز سروکار داشته باشد و
سایر بخش ها شامل DirectSound برای ابزارهای صوتی است و DirectPlay که یک Toolkit برای بازی های چند بازیکنی Online فراهم آورده است .
امروزه برای اجرای هرچه بهتر بازی های رایانه ای نیاز به نصب اخرین نسخه این اپدیت ویندوز هست و بدون آن تقریبا امکان بازی وجود نخواهد داشت.اخرین نسخه Directx ورژن 11 میباشد که برای شما عزیزان در سایت کینگز دانلود قرار داده شده و میتوانید به صورت رایگان دانلود کنید.
توجه داشته باشید که این نسخه فقط بر روی ویندوز 7 قابل نصب و استفاده هست.