اجزا Directx 11 ابزار Tessellation

نوشته شده توسط در فروردین ۴, ۱۳۸۸ در Microsoft Directx - ۶ نظر

در مطلب قبلی که راجع به Directx 11 نوشتم توضیحاتی بین دو direct یعنی ۱۰ و ۱۱ دادم و در همان مطلب یکی از خصوصیات آنرا گفتم. ولازم دونستم که اجزا نسخه ۱۱ هم بگم. اگر مطلب چرا direct 11 مهم است را خوانده باشید ، در آن از Multi-threaded صحبت کردم و ادامه همان را با عنوان مطلب جدیدی که در عنوان پست هست اجزا Directx 11 توضیح میدم که شما باید اون Multi-threaded هم جزو این مطلب حساب کنید.

Tessellation

جدیدترین ویژگی نسخه ۱۰ از Directx سایه زنیهای هندسی Geometry Shaders بود که نهایتا امکان ایجاد یا نابود کردن راسها برروی GPU را فراهم میکرد. اما تفسیری که روی آن کردن اشتباه بود. بجای اینکه از این واحد برای گسترش سنگین هندسی استفاده کنند، برای پیاده سازی Point-Spirit های انعطاف پذیرتر ، مدیریت Fur shading و یا محاسبه نیم رخ یک آبجکت برای الگوریتمهای سایه حجمی استفاده کردند. اصلا بهتر از یک واحد اختصاصی برای انجام Tessellation نیست. که این واحد اول برای نسخه ۱۰ برنامهریزی شده بود که در کارت radeon HD میبینید. ولی متاسفانه مایکروسافت و nVIDIA و ATI نتونستند سر این قضیه به تفاهم درستی برسند و این گزینه از نسخه ۱۰ برداشته شد و قرار شد که با نسخه ۱۱ بطور حرفه ای تر برگرده. پس میتونم بگم که Tessellation یک ویژگی بزرگ جدید در نسخه ۱۱ حساب میشه.
این نشان دهنده این است که مایکروسافت ۳ خط راندوی معرفی کرده، البته تاکید میکنم برای خواندن راندوی حتما مطلب چرا direct 11 مهم است را بخوانید. این ۳ خط عبارتند از Hull Shader و Tessellator و domain shader که برخلاف سایر مراحل خط لوله ، این ۳ مرحله با مثلثها بعنوان شکلهای اصلی Primitives کار نمیکنند، بلکه از مسیرها استفاده میکنند.

http://www.tentonhammer.com/image/view/41687/preview

Hull shader: کنترل نقاط هر مسیر را در هنگام دریافت ورودی بر عهده گرفته و پارامترهای خاص tesselator نظیر tessfactor که میزان دقت tessellation را مشخص مینماید تعیین میکند.
tesselator: یک واحد fixed-function است، بنابراین نحوه محاسبه tessellation توسط برنامه نویس کنترل نمیشود. این واحد ، نقاط ایجاد شده رابرای domain shader میفرستد که به نوبه خود میتواند را برروی آنها انجام دهد. شاید بشه این قضیه را با یک مثالی که بزنم بهتر توضیحش بدم.

http://livedocs.adobe.com/flex/3/html/images/displacement_map_filter_sample.png

Displacement Mapping

بعنوان ورودی راسی سایه زنی، ما نقاط کنترل مسیرمون را در اختیار داریم. برنامه نویس میتونه این نقاط را به همان صورتی که مناسب میدونه دستکاری کنه، بنابراین تعداد آنها چندان زیاد نیست. برای آسانتر کردن کار، آنها یک نسخه بسیار زمختی از Mesh نهائی هستند. این نقاط تغییر شکل یافته بعدا به Hull Shader فرستاده میشوند که تعیین میکند هر طرف مسیر بایستی چندبار تقسیم گردد. مثلا تابعی از اندازه مسیر بر حسب پیکسل روی مانیتور. Tesselator هم فرایند tessellation را همینطور و به همین ترتیب اداره میکنه. که این کار شامل ایجاد ساختار هندسی است که به domain shader فرستاده میشه.

Domain Shadet: به نوبه خودش نقاط ایجاد شده را به فضای مقتضی تبدیل میکنه و رئوس کلاسیکی را تولید میکند که میتونه بعنوان تابعی از یک بافت جابجا displace شده و displacement mapping را انجام میدهند.

اینکارها همه به لطف tessellation انجام میشه بدون نیاز داشتند به normal map و پیاده سازی مستقیم یک سطح از جزئیات برروی Gpu امکانپذیر شده و همچنین امکان استفاده از مدلهایی با جزئیات بسیار بالا یعنی چند میلیون ضلعی بجای ۱۰۰۰۰ چند ضلعی در بازیهای فعلی را فراهم میکنه. البته این جمله که گفتم در حد تئوری بود. در عمل tessellation مشکلاتی داره که جلوی این تکنیک را تا الان گرفته، حالا آیا Directx 11 و nVIDIA و ATI میتونند این مشکل را حل کنند یا نه! هنوز معلوم نیست.

اجزا نسخه ۱۱ هنوز ادامه داره و اجازه بدید بقیه آنها را بخاطر اینکه مطلب طولانی نشه در پستهای بعدی وبلاگ توضیح بدم. بعد نیست یادی از خاطرات گذشته خودم بکنم. تصویر پائین اولین بازی هست که من با کامپیوتر انجام دادم البته این بازی تحت Dos بود و آنموقع هنوز ویندوز جایی نبود این بازی را خیلی دوست داشتم و هنوز هم دارم. تصویر پائین ترش ورژن جدید آن هست که با Directx 9 کار میکند. Prince Of Persia

بازی Prince Of Persia 1

http://www.milbits.com/archivos/2007/09/prince-persia.jpg

مطالب مرتبط:

  • ساختمان گرافیک در ویستا و پیشرفت آن در ویندوز 7
    در اینترنت به هر حال مطالبی درباره ویندوز و بخصوص ویندوز 7 منتشر میشه که من به عنوان وبلاگ ویندوز باید چیزهایی بنویسم که تک باشه تا حفظ آبرو کنم. البته یه روزی میاد که همگان انقدر پیشرفت میکنند که یکی...
  • Directx 11 و مدل 5 Shader
    نمیدونم چی شده که باعث شده من فقط جمعه ها به فکر نوشتن Directx بیفتم ولی حالا بیخیال. در یکی از وبلاگها یک مطلب خوبی به نام Microsoft Web Platform Installer پیدا کردم برام جالب بود و در لینک پیوندهای ...
  • چرا OpenGL از Directx شکست خورد؟
    بالاخره نوبت شد مطلبی که طرفدار زیاد داشت را بنویسم اگر دیر مینویسم بخاطر این هست که مطلب طولانی بود و من فرصت برای نوشتن آن نداشتم. جمعه هفته پیش شروع بنوشتن کردم ولی نوشته هایم همانطور که توضیح دادم...
  • Microsoft DirectX
    یکی از بی ادعا ترین ابزارهای ویندوز directx بوده که بدون فکر کردن به رقیب بدون افتادن در بازی سیاستهای تجارت در بازار IT کار خودش را انجام میده و به کسی هم کاری نداره! directx که از ویندوزهای 95 و NT...
  • معرفی PCI Express 3.0
    فکر کنم در زمینه سخت افزار و تکنولوژی های سخت افزاری همیشه من نفر اول بودم و ندیدم هرموقع تکنولوژی جدید بیاد توی سایتهای فارسی زبان ازش چیزی نوشته بشه مگر اینکه بعدا از خارجیها کپی بشه. در گوگل جستجو ...
  • چطوری در لبتاپها، بین دو کارت گرافیک سوئیچ کنیم؟
    این مطلب بر اساس نظر امید بوجود اومد که چطوری در لبتاپهایی که دو کارتگرافیک دارند بین آنها سوئیچ کنیم. امروز تکنولوژی جدیدی وارد لبتاپها شده اونم اینکه بخاطر مصرف برق کمتر دو کارت گرافیک دارند مثلا یه...
  • آیا directx 11 همان نسخه 10.1 است؟
    آنچه که خودم شخصا و nVIDIA و طرفدارانش باور داریم اینه که directx 11 نسخه پیشرفته directx 10.1 است. ولی مخالفان میگویند که directx 11 همان 10.1 نیست و بسیار کارمدتر است. مخالفان nVIDIA میگویند که nVID...
  • نکته برای IE8 و ویندوز ۷
    توی این مطلب چند نکته کوچک را میخوام توضیح بدم که توی این چندوقت کارکرد با ویندوز 7 و ie8 بهش رسیدم. و همینطور نظرات کاربران و سوالاتشان باعث شد به این چیزها دست پیدا کنم. ولی قبل از توضیح بگم گالر...

در مورد نویسنده

Microsoft Certified System Engineer, Microsoft Certified IT Professional, Cisco Certified Network Associate, Certified Wireless Network Administrator

۶ نظر در "اجزا Directx 11 ابزار Tessellation"

  1. Moha_k مهر ۲۱, ۱۳۸۸ در ۱۲:۱۴ ب.ظ · پاسخ دادن

    سلام دوست عزیز واقعاً وب سایت جالبی داری شاید اولین باری باشه که میبینم اکثر مطالبت مفیده امیدوارم این کار خوب را ادامه بشی و موفق باشی اگر بحثی در مورد ساخت بازی هم باشه و کمک به ساخت بازی در ایران کنه واقعاً کار بزرگیه به هر حال ممنون

    مرورگر این کاربر Unknown Unknown سیستم عامل این کاربر Unknown Unknown
  2. سعید آبان ۲۷, ۱۳۸۸ در ۵:۰۷ ب.ظ · پاسخ دادن

    سلام.باید بگم تحت تاثیر قرار گرفتم.کمتر ایرانی دیدم که حاضر بشه وب سایت طراحی کنه و این طور سخاوت مندانه اطلاعات خودش رو در اختیار دیگران بگذاره(حتی اگر از جای دیگر پیدا کرده باشه).به سختی می تونستم قبول کنم کسی این نوع اطلاعات را داشته باشه و تازه آن ها و در اختیار دیگران بگذاره.موفق باشید

    مرورگر این کاربر Unknown Unknown سیستم عامل این کاربر Unknown Unknown

بازتاب‌های مربوط به این پست

  1. آیا directx 11 همان نسخه 10.1 است؟ | ویندوز من
  2. OpenGL به موفقیت جدید رسید! آیا جنگ دوباره آغاز میشود؟ | ویندوز من
  3. نقش DirectX 11 در ویندوز ۷ | ویندوز من

یک نظر بدید