PDA

View Full Version : جلوه های گرافیکی در C#



SeyyedKarim
جمعه 17 فروردین 1386, 02:02 صبح
بنام خدا
من وقتی می خواهم برنامه هایی بنویسم که یک مقداری جلوه های گرافیکی متحرک داشته باشد ، برنامه ام به شدت در هنگام اجرا کند می شود در حالیکه نویسندگان بازی های پیشرفته جلوه های گرافیکی بسیار بیشتری بکار می برند ، بدون اینکه دچار کندی اجرا باشد ! البته یک چیزهایی در مورد نقش موتورهای گرافیکی در طراحی بازی ها شنیده ام . آیا راه ساده تری وجود ندارد و آیا اصلا استفاده از موتور گرافیکی تاثیری در سرعت اجرا دارد و چطور می توان ار آن ها استفاده کرد؟ ترجیحا جواب هاتون را برای زبان C#و محیط visual studio.net لطف کنید.

Mehrafrooz
جمعه 17 فروردین 1386, 02:15 صبح
چه نوع جلوه هایی مد نظرت هست ؟

SeyyedKarim
جمعه 17 فروردین 1386, 07:37 صبح
جلوه هایی مثل کنترل های گرافیکی متحرک ، شخصیت های گرافیکی و از این دست...

__H2__
شنبه 18 فروردین 1386, 12:19 عصر
سلام
رابط +GDI برای حرکات انیمیشن و حرکت شخصیت ها ضعیف است و باید زمان بگذارید و رابط DirectX را یاد بگیرید.
ولی برای اعمال ساده بحرحال خوب است و اگر کارتان کند شد، اول الگوریتم رابررسی و اصلاح کنید و سپس کد ها را در Thread جداگانه ای اجرا کنید.

متاسفانه سورس نمی توانم بگذارم، چون نوشتنش بسیار زمان بر است!!!
ولی اگر در وب جستجو کنید میتوانید آموزش های فارسی برای DirectX و نیز +GDI پیدا کنید.

hdv212
شنبه 18 فروردین 1386, 18:26 عصر
این لینک میتونه کمکت کنه :
http://www.codeproject.com/cs/media/3D_Terrain_Visualisation.asp

SeyyedKarim
سه شنبه 21 فروردین 1386, 12:23 عصر
اگه یک منبع فارسی ترجیحا pdfمناسب برای Directxبهم معرفی کنید ممنون می شم . همچنین از کجا میشه Directx رو دانلود کرد .

__H2__
سه شنبه 21 فروردین 1386, 12:48 عصر
سلام
DirectX به صورت خام نیاز به چیزی ندارد و با XP نصب میشود، ولی DLL هایی آماده تر و راحت تر برای کار در محیط های COM و نیز کار آسان در محیط فریم ورک دارد. (اولی معمولاَ با VS نصب میشود ولی در مورد دومی من خودم دانلود کردم ولی باید آدرس لینک دانلودش را مجدداَ پیدا کنم.)

در مورد آموزش هم، PDF فارسی را نمیدانم، ولی اگر در داداش گوگولی (معروف به Google !!!) عبارت "آموزش DirectX" را جستجو کنی، چیزهای زیادی پیدا میکنی.
(کلمه "آموزش" را حتما فارسی تایپ کن تا نتیجه مطلوبت حاصل شود.)

در همین فروم ها هم شاید چیزی پیدا کنی.

__H2__
سه شنبه 21 فروردین 1386, 13:29 عصر
...خودم دانلود کردم ولی باید آدرس لینک دانلودش را مجدداَ پیدا کنم.

سلام
اینم لینک رسمی مایکروسافت شامل معتبرترین اطلاعات و سورس کد به زبان های #C و VB.Net و ++C و... (بی نظیر است، توپ!!! شامل DLL هایی ویژه برای محیط فریم ورک هم است)

DirectX SDK-April 2007 (http://www.microsoft.com/downloads/details.aspx?familyid=86cf7fa2-e953-475c-abde-f016e4f7b61a&displaylang=en)
فقط باور کنید در مورد سایزش من بی تقصیر هستم! برید به داداش بیل شکایت کنید. (441MByte)

چون خیلی ها امکان دانلودش را ندارند سعی میکنم،در روزهای آینده چند تا از آن پروژه های آبدارش را برایتان Upload کنم. (با سایز کم)

SeyyedKarim
دوشنبه 27 فروردین 1386, 12:57 عصر
با تشکر از دوستان.
*اینکه Directxبه صورت پیش فرض با XP یا VS نصب میشه ، آیا منظورتون همون وزژن هایی که به همراه بازی ها نصب میشه ؟ آیا میشه با همین DirectXها برانامه نویسی هم کرد ؟
*آیا با نصب Directx ، فقط از طریق VS می توان با آن کار کرد یا بدون VS هم می توان با آن کار کرد؟

__H2__
دوشنبه 27 فروردین 1386, 16:08 عصر
با تشکر از دوستان.
*اینکه Directxبه صورت پیش فرض با XP یا VS نصب میشه ، آیا منظورتون همون وزژن هایی که به همراه بازی ها نصب میشه ؟ آیا میشه با همین DirectXها برانامه نویسی هم کرد ؟
*آیا با نصب Directx ، فقط از طریق VS می توان با آن کار کرد یا بدون VS هم می توان با آن کار کرد؟

سلام
اول در مورد Sample ها که قولش داده بودم توضیحی بدهم!
میخواستم آنها را آپلود کنم که متوجه شدم با وجود همراه بودن DLL های مورد نیاز در رایانه هایی که DirectX-SDK نصب نبود کار نمیکنند، در نتیجه دست نگه داشتم تا امتحانی بکنم (مثلاَ ثبت اسمبلی ها در GAC و...) و بعد از پیدا کردن راه حل، آنها را آپلود کنم.

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

منظورم آن بود که نمونه ای از این کامپونت ها که بر اساس تکنولوژی قدیمی COM کار میکنند با خود VS نصب میشوند، که شما نیز بعد از پایان طراحی برنامه باید کپی آنها را همراه فایل EXE تان قرار دهید و به کاربرانتان دهید.

برای محیط VS.Net نیز کامپونت هایی مخصوص طراحی شده اند که یادگیری و ارتباط با آنها از داخل زبان های تحت فریم ورک بسیار راحت است. (این کامپونت ها در همین بسته SDK که گفتم موجود هستند و با VS.Net نصب نمیشوند.)


فقط از طریق VS می توان با آن کار کرد یا بدون VS هم می توان با آن کار کرد؟

طبیعی است که استفاده از DirectX باید از طریق یکی از زبان های برنامه نویسی باشد.
و VS شامل بیشتر زبان های برنامه نویسی جاری است (VB.Net و #C و ++C و J#) و مثلا با Delphi و دیگر زبان های برنامه نویسی هم میتوان به این API ها یا کامپونت های واسط کمکی وصل شد.

rasoul_ras
دوشنبه 27 فروردین 1386, 17:15 عصر
به خاطر اینکه اون گیمها توسط C# نوشته نشدن و تمامی اصول از قبیل نوع سرچ و.... توسط خود برنامه نویس طراحی شده نه کلاسهای آماده مثلا .net

SeyyedKarim
چهارشنبه 05 اردیبهشت 1386, 17:45 عصر
بنام خدا
آیا در مجموع با سی شارپ و امکانات گرافیکیش از جمله Directx می توان برنامه های گرافیکی در حد پیشرفته نوشت؟

__H2__
یک شنبه 16 اردیبهشت 1386, 18:58 عصر
سلام
بازم میبخشید نتوانستم پروژه ها را در رایانه ای که DirectX SDK در آن نصب نبود، اجرا کنم، به نظر می آید یک موتور runtime با حجم حدود 40 مگابایت (http://www.microsoft.com/windows/directx/default.mspx) نیاز دارد، یعنی بعد از استفاده از DirectX SDK باید setup آن به حجم 40 مگابایت را به پروژه نهایی اضافه کنید.

در آخر درجواب کاربر SeyyedKarim (http://barnamenevis.org/forum/member.php?u=36086) هم باید بگوییم که بدون شک میشود، اگر به آن پروژه های VB6 (با امکانات بد برنامه نویسی) و کدهای نمونه موجود در DirectX SDK (که بسیار روان است) نگاهی میکردید متوجه میشدید که با کمی هزینه زمانی برای یادگیری میشود این کار را انجام داد.

میبخشید تاپیک قدیم را فعال کردم، بای!