PDA

View Full Version : محیط دو بعدی در DirectX



bluesky2005
سه شنبه 30 فروردین 1384, 10:27 صبح
سلام
می خوام اطلاعات نسبتا کاملی در مورد طراحی و پیاده سازی کارهای گرافیکی دو بعدی با استفاده از DirectX در محییط ++vc داشته باشم.
ممنون.
:sunglass:

h.r.m
سه شنبه 13 اردیبهشت 1384, 09:28 صبح
یه کتاب به زبان فارسی ترجمه شده از آقای داریوش فرسایی به اسم برنامه نویسی بازیهای کامپیوتری در ویندوز
که به زبان ویژوال سی ++ هست البته مطالبش یکم قدیمیه. مثلا با دایرکت ایکس 5 یا 6 و نسخه 5 سی هست
اما کاری که میخوای رو برات راه میندازه
انتشارات آینده دیگر
تلفن: 6413869
موبایل 09112128556
من این کتاب رو دارم و باهاش یه پروژه کوچیک هم ساختم

سپول
چهارشنبه 14 اردیبهشت 1384, 12:26 عصر
directX 8 به بعد مثله opengl دیگه 2D رو به طور مستقیم support نمی کنه , و باید توی محیط 3D گرافیک دو بعدی رو شبیه سازی کنید، که البته با کارت گرافیکهای جدید سریعتر هم هست.

این دو تا لینک شاید به درد بخورده:
http://www.flipcode.com/articles/article_guidedx82d.shtml
http://www.gamedev.net/reference/articles/article1434.asp

h.r.m
چهارشنبه 14 اردیبهشت 1384, 12:49 عصر
از راهنمایت متشکرم سپول

bluesky2005
شنبه 17 اردیبهشت 1384, 11:12 صبح
ممنون از راهنمایی دوستان!
:sunglass:

bluesky2005
شنبه 17 اردیبهشت 1384, 13:15 عصر
از نظر سخت افزاری برای پشتیبانی از Direct3D در DirectX9 به چه حد اقل هایی نیاز است؟( این سوال رو همین جا پرسیدم چون از Direct3D برای 2D استفاده می کنم.! :oops: )
:sunglass:

سپول
شنبه 17 اردیبهشت 1384, 16:51 عصر
اگه می خوای frame rate خوبی داشته باشی ، یک کارت گرافیک 3d قدیمی مثله tnt2 هم جواب می ده، کلا کارت گرافیکی 3d که directx رو support کنه کافیه.
مگر اینکه بخوای از pixel shader ها و effect های پیچیده تر استفاده کنی که اون موقع کارت گرافیک جدیدتر که ps و vs رو support کنه احتیاج داری . که معمولا توی محیط های دو بعدی کمتر پیش میاد .
البته شما می تونید از interface های directX7 استفاده کنید و مستقیما روی display buffer همه sprite ها رو کپی کنید که این با کارت گرافیک های قدیمیتر هم کار می کنه ولی روش اول بهتره چون شما از graphics hardware بیشتر کار می کشید و در نتیجه سرعت خیلی بیشتری داره.
مثلا برای rotate کردن یک sprite در یک محیط کاملا دو بعدی برای اینکه سرعت خوب باشه، باید algorithm های ویژه برای چرخاندن دسته ای از پیکسل هارو پیاده کنید. ولی در محیط سه بعدی شما فقط ماتریس چرخش رو برای sprite تنظیم می کنید و خود hardware اونو با سرعت خیلی بیشتری می چرخونه.

bluesky2005
شنبه 17 اردیبهشت 1384, 17:38 عصر
ممنون. مفید بود.

با توجه به اینکه مرتبا نسخه های جدیدی از DirectX sdk توسط مایکروسافت عرضه می شود و توابع نیز در بسیاری موارد در تعداد پارامتر ها ( خصوصا ) تغییر می کنند چه راه حل بهینه ای پیشنهاد می کنید؟
:sunglass:

h.r.m
یک شنبه 18 اردیبهشت 1384, 08:40 صبح
بخاطر سیستم برنامه نویسی پیشرفته و شی گرای مایکروسافت نگرانی نسبت به تغییر نسخه وجود نداره. چون نسخه های جدید تر همیشه اشیا و کلاسهای نسخه های قبلی رو پشتیبانی میکنن.
یعنی برنامه ای که برای نسخه 8 نوشته شده به راحتی در نسخه 9 جواب میده

saffari2005
یک شنبه 29 خرداد 1384, 14:46 عصر
سلام مجدد!
می تونید یه نمونه کد برای یه بازی 2 بعدی که با directx9 پیاده سازی شده باشه بهم معرفی کنید؟ :)