من قبلا مطلب درباره directx و همینطور از ورژن ۱۱ اون زیاد نوشتم چون موارد بسیاری را درباره directx نوشتم الان میتونم راحت یه مطلب تکمیلی برای directx 11 بنویسم. مطالب قبلی راجع به directx بازتاب خوبی داشت امیدوارم اینم همینطور باشه.

directx 11 همون نسخه ۱۰/۱ هست که تغییری نکرده بلکه چند تا ویژگی دیگه هم بهش اضافه شده شما میتونید directx11 را با بعضی از کارتهای گرافیک که با ۱۰/۱ سازگارند تست کنید ولی خوب احتیاج به یه درایور آپدیت شده و جدید داره. من قبلا راجع به موضوع و قابلیتهای آن نوشتم اینجا معرفی از همون ابزارها و ویژگی ها میکنم تا یک مطلب تکمیلی بنویسم.
یکی از اصلاحاتی که روی نسخه ۱۱ شد ساپورت بهتر از multithreading است. ولی این پشتیبانی فقط تا همینجا یست خود direcx runtime هنوز تک رشته ای single-threaded است. من در مطلب "چرا directx 11 مهم است؟" درباره multithread توضیح دادم پس اینجا کلام دیگه کوتاه میکنم.
یکی دیگه از اجزا مهمش که قبلا هم توضیح کامل را راجع بهش دادم tessellation است اگر روی اسمش کلیک کنید به مطلبی که من راجع بهش کامل نوشتم میرسید. tessellation به معنی شکستن یک مدل یا mesh با تعداد پائینی از چند ضلعیها به یک مدل با تعداد زیادی از چند ضلیها است که باعث میشه مدل مورد نظر ظاهر بسیار هوارتری پیدا کرده و جزئیات بیشتری را نمایش بده. مزیت تمام اینها در اینه که امکان ایجاد یک هندسه پیچیده را برروی کارت گرافیک فراهم میکنه و در عین حال ، داده هائی که باید بر روی گذرگاه منتقل گردیده و یا از حافظه بازیابی شوند نیز بسیار کئچکتر خواهند بود. به این میگن یه ابر مجموعه superset از ویژگیهای واحد tessellator پیاده سازی شده در xbox 360 . این قضیه باعث میشه که بازی سازان که قبلا از تابع مذکور برروی کنسول بازی مایکروسافت استفاده میکردند نتیجه ای مشابه از همانها را روی pc با سخت افزار directx 11 بگیرند.

مورد بعدی compute shader است در مورد compute shader و تکنولوژی cuda توضیح کاملی قبلا دادم در اینجا یه خلاصه ازش میگم البته از معرفی آن و بعد اصلا میخوام روی این قضیه چیزهایی را بگم که تا حالا نگفتم.
برنامه نویسان سالهاست که که از سخت افزار گرافیکی ۳D برای اجرای آنچه که نرم افزارهای کاربردی GP-GPU نامیده میشود استفاده میکنند. اما استفاده از اینترفیسهای direct3D در بهترین حالت زحمت زیادی داره.
compute shader اولین تلاش مایکروسافت بود برای حل این مشکل که حالا برنامه نویسان راحت میتونند ساختار داده را بطور دلخواه در حافظه نوشته و یا فراخوانی کنند. آنها میتونند رجیسترها در بین رشته ها به اشتراک بگذارند و داده ها را با یک کلاس ذخیره سازی groupshared جدید به اشتراک بگذارند تا I/O اضافی را کاهش بدند.
مایکروسافت در حال انجام آزمایشهایی بر روی directx 11 که با استفاده از سخت افزارهای directx 10 است. در مورد آزمایش تبدیل نرم افزارهای کاربردی CUDA را با اختلاف کمی پشت سر گذاشت اما این فاصله عملکردی احتمالا با ارائه سخت افزارهای جدیدتری که برای نسخه ۱۱ بهینه شدند بهتر خواهد شد.
نرم افزارهای کاربردی هدف برای compute shader ها عبارتند از کدگذاری و کدگشائی ویدئویی ، ray tracing الگوریتم های نورپردازی post processing ، radiosity تصویری، جلوه های فیزیکی ، انباشت جلوه های بافر و احتمالا حتی AI و جنبه های فیزیکی در هسته بازیها.


برای دیدن ویدئوهای آموزشی به لینک منبع مراجعه کنید.


کد:
http://www.mywindows.ir/?p=348