تبلیغات
آموزش و دانلود نرم افزار - آشنایی با DirectX و OpenGL
دانلود رایگان نرم افزارهای کمیاب
آشنایی با DirectX و OpenGL
نوشته شده توسط ادمین در ساعت 06:01 ق.ظ

یک بازی کامپیوتری را روی کامپیوترتان اجرا می کنید. فعلا ً کارت گرافیک شما روی اسلا تAGP سوار می شود، پردازشگر سلرون دارید و ... پس از چند ماه یا چند سال کامپیوتر جدیدی م ی خرید. اکنون اسلا ت کارت گرافیکی شما PCI Express است و یک پردازشگر ۶۴ بیتی دارید. همان بازی را روی این کامپیوتر هم نصب و اجرامی کنید! شاید به نظر طبیعی میآید که همه چیز باید همین طور باشد. اما چگونه یک بازی روی کامپیوترهایی با تراشه ها و سخت افزارهای مختلف و گاه فناوری متفاوت اجرا می شود؟ API های گرافیکی یا همان رابط های برنامه نویسی، بخش بزرگی از این مشکل را حل می کنند و امکانات گسترده دیگری را نیز در اختیار برنامه نویسان و توسعه دهندگان بازی و برنامه های چندرسانه ای قرارمی دهند. OpenGL وDirectX، دو مجموعه API گرافیکی و صوتی هستند که برای آسان تر ساختن توسعه بازی ها و نرم افزارهای چندرسانه ای طراحی شده اند.

API گرافیکی چیست؟

API درواقع بین برنامه و سخت افزاری که برنامه روی آن اجرا می شود، نقش یک هماهنگ کننده را دارد و مانند پلی میان سخت افزار و نرم افزار ارتباط ایجاد می کند. یعنی برنامه نویس کدهایی می نویسد که داده های گرافیکی خود را به وسیله دستورهای استانداردی به درایور API می فرستد نه مستقیماً به خود سخت افزار. سپس درایوری که شرکت سازنده سخت افزار تولید کرده است، این کداستاندارد تولیدشده را به فرمت بومی و ویژه ای که برای آن مدل خاص سخت افزار قابل شناسایی است، ترجمه می کند.

Microsoft DirectX

شرکت مایکروسافت در سال ۱۹۹۵ DirectX را ساخته و توسعه داده است. این نرم افزار شامل مجموعه یکپارچه ای از ابزارهای برنامه نویسی است که به توسعه دهندگان امکان می دهد انواع مختلف نرم افزارهای مالتی مدیا را روی پلتفرم ویندوز تولید کنند. DirectX به برنامه ای که بر پایه آن طراحی شده امکان می دهد به آسانی قابلیت های سخت افزار کامپیوتر را شناسایی کند و پارامترهای برنامه را با آن هماهنگ سازد.

DirectX شامل APIهایی است که دسترسی به بخش های ویژه ای از سخت افزار مانند تراشه های شتاب دهنده گرافیک سه بعدی و کارت صوتی را میسرمی کند. این APIها کنترل توابع سطح پایین، یعنی نزدیک به سخت افزار، شامل شتاب دهنده گرافیکی دو بعدی، پشتیبانی از دستگاه های ورودی مانند دسته بازی، صفحه کلید و ماوس، و کنترل میکس و خروجی صدا را انجام می دهند.

DirectX ۷.۰ در سال ۱۹۹۹ با شش کامپوننت عرضه شد که عبارت بودند از: Direct۳D،DirectDraw ،DirectSound ،DirectPlay ،DirectInput و DirectMusic.

در اواخر سال ۲۰۰۰ میلا دی، DirectX ۸.۰ عرضه شد که در آن کامپوننت های DirectSound و DirectMusic با هم ادغام شدند و با نام کامپوننت Direct Audio معرفی شدند.

Direct۳D و DirectDraw نیز با هم ادغام شدند و یک کامپوننت با نام DirectX Graphics را ساختند. DirectShow نیز به صورت یک API جداگانه پیاده سازی شد و به یکی از کامپوننت های DirectX تبدیل گردید.

DirectX ۹.۰ در ژانویه سال ۲۰۰۳ عرضه شد. ویژگی های خاص این نسخه عبارتند از:

قابلیت های صوتی جدید در DirectSound

سخت افزار رندرکننده ویدیویی با شتاب بیشتر

بهبود قابلیت برنامه ریزی گرافیکی

APIهای همه کامپوننت های DirectX برپایه COM یا Component Object Model هستند. در ادامه به بررسی هفت کامپوننت DirectX ۹.۰ می پردازیم که عبارتند از: DirectDraw ،Direct۳D ،DirectShow ،DirectSound ،DirectMusic ،DirectInput و DirectPlay.

۱) DirectDraw

DirectDraw، کامپوننتی ویژه طراحی دوبعدی است که به برنامه نویس اجازه می دهد مستقیماً به حافظه کارت گرافیک دسترسی یابد، صحنه ها و فریم ها را با هم ترکیب نماید یا bitmapها را در آنجا ذخیره کند. همچنین، برای برنامه ها امکان دسترسی به سخت افزارهای ویژه نمایش را مستقل از نوع سخت افزار فراهم می کند.

هر برنامه کاربردی DirectDraw الگوی یکسانی دارد که عبارت است از:

ـ ایجاد یک شی

شروع حلقه

انتقال به مانتیور

پایان حلقه

پاک کردن آن شی

منظور از واژه
»

می توانید دیدگاه خود را بنویسید
Foot Problems سه شنبه 17 مرداد 1396 12:41 ب.ظ
When I originally commented I clicked the "Notify me when new comments are added" checkbox and now each time a
comment is added I get four emails with the same comment. Is
there any way you can remove people from that service?

Many thanks!
What is distraction osteogenesis? دوشنبه 16 مرداد 1396 11:56 ب.ظ
Hi, i read your blog occasionally and i own a similar one and i was
just wondering if you get a lot of spam responses?
If so how do you protect against it, any plugin or anything you can recommend?

I get so much lately it's driving me crazy so any support is very much appreciated.
How did the Achilles tendon get it's name? جمعه 6 مرداد 1396 08:28 ب.ظ
Yesterday, while I was at work, my cousin stole my iPad and
tested to see if it can survive a forty foot
drop, just so she can be a youtube sensation.
My iPad is now broken and she has 83 views. I know this is
completely off topic but I had to share it with someone!
How do you get rid of Achilles tendonitis? جمعه 6 مرداد 1396 02:15 ب.ظ
Hi there, I enjoy reading through your post. I like to write a little
comment to support you.
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر