ورود

View Full Version : گفتگو: کمک در انتخاب ورژن دایرکت ایکس



Vahid_67
شنبه 02 بهمن 1389, 14:24 عصر
سلام
با توجه به تفاوت در معماری های DX 9,10,11 و ساپورت شیدر های اونها،میخام یه توضیح بدین که کلا اینها چه فرقی دارن و چطور باید انتخاب کنم که از کدوم استفاده کنم؟
الان اکثر بازی ها ورژن 9 رو با 10 یا 11 با هم ساپورت میکنن.این قضیه کلا چجوریه.

این بحث و خواستم با AbdolHabib8 جان خصوصی انجام بدم ، ایشون گفت که بهتره توی فروم بحث کنیم شاید به درد کس دیگه ای هم بخوره.

ممنون

AbdolHabib8
شنبه 02 بهمن 1389, 18:03 عصر
سلام
حتما اگه سراغ نسخه های بالاتر برید بهتره هرچند با 10 و 11 نمی شه برای XP خروجی گرفت + این "تفاوت در معماری " حداقل برای برنامه نویس -تا اونجایی که من بررسی کردم- خیلی محسوس نیست .
در مورد کتاب من مال 10 رو ندیدم ولی از دوستان شنیدم سرفصلاشون یکیه. در هر حال اگه مال 9 رو گیر بیارید و یه تطبیق بدید بهتره.

با توجه به تفاوت در معماری های DX 9,10,11 و ساپورت شیدر های اونها،میخام یه توضیح بدین (اگه زحمتی نیست) که کلا اینها چه فرقی دارن و چطور باید انتخاب کنم که از کدوم استفاده کنم؟
یه سرچ واسه دانلود شیدر زدم بیستایی DX9 گرفتم پونزده ایی 10.ولی یازده زیاد نبود.
من تا حالا با 10 یا 11 کار نکردم. شیدر برنامه ای هست که در GPU اجرا می شه. شیدر ها برای اولین بار با ارائه پشتیبانی سخت افزاری اون یعنی Shader Modul 1 ساخته شدند . توسعه شیدر ماژول ها ادامه داره و تا الان گمونم به نسخه 5 رسیده . تا اون جایی که من می دونم DX9 تا شیدر ماژول 3 رو پشتیبانی میکنه و DX10 چهار رو و DX11 پنج رو. اختلاف این ورژن ها در پیاده سازی سخت افزاری دستورات و تعداد دستورات و نوع داده های سخت اقزاری و غیره هست. من توی کد هام یا شیدر ماژول 2 کار می کنم و کارت گرافیکم تا 3 رو پشتیبانی می کنه.توی DX9 موقع کامپایل باید مشخص کنی به چه ورژنی می خوای کامپایل بشه.
اساسین داره با شیدر ماژول 2 کار می کنه.دیگه مگه چی می خوایم .

Vahid_67
شنبه 02 بهمن 1389, 19:14 عصر
تا اون جایی که من می دونم DX9 تا شیدر ماژول 3 رو پشتیبانی میکنه و DX10 چهار رو و DX11 پنج رو. اختلاف این ورژن ها در پیاده سازی سخت افزاری دستورات و تعداد دستورات و نوع داده های سخت اقزاری و غیره هست.یعنی اگه من با دایرکت ایکس 10 بنویسم نمیتونم شیدر Bloom.fx ای که مال DX9 روش اجرا کنم؟راه حل این قضیه چیه؟این که دوباره bloom رو بنویسیم؟یا اینکه ساپورت دهش هم هست؟


اساسین داره با شیدر ماژول 2 کار می کنهنسخه DX9 هش آره ولی همون طور که خودت گفتی بهتره از DX ورژن جدیدتر استفاده کنم.
ممنون

Vahid_67
شنبه 02 بهمن 1389, 19:15 عصر
1- با توجه به تفاوت در معماری های DX 9,10,11 یه توضیح بدین که کلا اینها چه فرقی دارن؟
2- الان اکثر بازی ها ورژن 9 رو با 10 یا 11 با هم ساپورت میکنن.این قضیه کلا چجوریه؟

Vahid_67
شنبه 02 بهمن 1389, 23:04 عصر
1- توی سمپل های DX11 یه سمپل هست به اسم AdaptiveTessellationCS40 که با شیدر مدل 4 نوشته شده ولی با دایرکت ایکس 11 اجرا میشه!این چجوریه؟مگه قرار نیست CS4 فقط روی DX10 اجرا بشه.
2- تکنیک ها چی؟مثلا یه تکنیک واسه ایجاد گیاه و چمن یا یه تکنیک واسه ساخت ترین نوی DX10 هست.میشه توی 9 یا 11 اجراش کرد؟

Vahid_67
دوشنبه 04 بهمن 1389, 01:34 صبح
دوستان لطفا راهنمایی کنید.

kochol
دوشنبه 04 بهمن 1389, 11:33 صبح
1- توی سمپل های DX11 یه سمپل هست به اسم AdaptiveTessellationCS40 که با شیدر مدل 4 نوشته شده ولی با دایرکت ایکس 11 اجرا میشه!این چجوریه؟مگه قرار نیست CS4 فقط روی DX10 اجرا بشه.
2- تکنیک ها چی؟مثلا یه تکنیک واسه ایجاد گیاه و چمن یا یه تکنیک واسه ساخت ترین نوی DX10 هست.میشه توی 9 یا 11 اجراش کرد؟

1- وقتی می گن D3D 11 از شیدر 5 ساپورت می کنه پس تمام ورژن های قبلی رو هم اجرا می کنه از ورژن 1.4 تا 5
2- بستگی به نوع تکنیک داره که از قابلیت های مخصوص D3D 10 استفاده کرده یا نه ولی تو 11 حتما می یاد

Vahid_67
دوشنبه 04 بهمن 1389, 13:40 عصر
1- وقتی می گن D3D 11 از شیدر 5 ساپورت می کنه پس تمام ورژن های قبلی رو هم اجرا می کنه از ورژن 1.4 تا 5
2- بستگی به نوع تکنیک داره که از قابلیت های مخصوص D3D 10 استفاده کرده یا نه ولی تو 11 حتما می یاد
ولی دوستمون hi.alir توی تاپیک های قبلی اینو گفتن:
هر ورژن DX شیدر مخصوص خودش رو داره. البته همشون HLSL هستند ولی خود HLSL ورژن خاصی داره.
مثلا Directx 9 با HLSL ورژن های 1 و 2 و 3 کار می کنه.
Directx 10 با HLSL فقط ورژن 4.
Directx 10.1 فقط ورژن 4.1.
Directx 11 فقط ورژن 5.

کدوم درسته

SeganX
دوشنبه 04 بهمن 1389, 15:01 عصر
می تونید توی سایت ماکروسافت یه سرچ بزنید، میتونید توی داکیومنت اس دی کی هم یک نگاهی بندازید. میتونید خودتون تست کنید و ببینید که کدوم درسته. میتونید توی چت از یک آدم حرفه ای تر بپرسید. می تونید اونی رو که ساده تر هستش برای شروع کار انتخاب کنید. می تونید از دیگران در فروم بپرسید ...

kochol
دوشنبه 04 بهمن 1389, 16:51 عصر
ولی دوستمون hi.alir توی تاپیک های قبلی اینو گفتن:
هر ورژن DX شیدر مخصوص خودش رو داره. البته همشون HLSL هستند ولی خود HLSL ورژن خاصی داره.
مثلا Directx 9 با HLSL ورژن های 1 و 2 و 3 کار می کنه.
Directx 10 با HLSL فقط ورژن 4.
Directx 10.1 فقط ورژن 4.1.
Directx 11 فقط ورژن 5.

کدوم درسته

احتمالا شما اشتباه متوجه شدید

vice_city
چهارشنبه 06 بهمن 1389, 20:31 عصر
ولی دوستمون hi.alir توی تاپیک های قبلی اینو گفتن:
هر ورژن DX شیدر مخصوص خودش رو داره. البته همشون HLSL هستند ولی خود HLSL ورژن خاصی داره.
مثلا Directx 9 با HLSL ورژن های 1 و 2 و 3 کار می کنه.
Directx 10 با HLSL فقط ورژن 4.
Directx 10.1 فقط ورژن 4.1.
Directx 11 فقط ورژن 5.

کدوم درسته
http://msdn.microsoft.com/en-us/library/bb509626%28v=VS.85%29.aspx