# مباحث متفرقه برنامه نویسی > طراحی و ساخت بازی‌های کامپیوتری >  Direct X Or OpenGL in C#‎.net

## benyamin_pc

سلام هر کی هر چی در رابطه با این تاپیک تو زبان سی شارپ یا سی می دونه لطفا بگه
چطور یه فایل که محتوای 3د داره رو میشه کشید تو محیط برنامه نویسی و ازش استفاده کرد
از الگوریتم direct x ya open gl از  اینکه به جزییات شی سه بعدی چجوری میشه با برنامه نویسی دسترسی داشت اونها رو تغییر داد و خلاصه تسلط به یک شی سه بعدی مثل یه آبجکت برنامه نویسی :متعجب:  
ممنون :لبخند گشاده!:

----------


## Valadi

در زبان دلفی برنامه نویسی 3 بعدی آسان تر از آب خوردن است و فقط با توابع API  کار میکنی 
 :چشمک:   :چشمک:   :چشمک:   :چشمک:   :چشمک:   :چشمک:   :چشمک:   :چشمک:

----------


## benyamin_pc

ولی من با سی شارپ می خوام بدونم!

----------


## aidinwashere

میدونی که مطرح کردن یک سوال در چند بخش خلاف مقررات است؟

----------


## benyamin_pc

آخه این قسمت رو بعد دیدم
و فقط مخصوص بازی سازی سه بعدیه

----------


## kochol

سلام
بالاخره ما اصلا نفهمیدیم سوال چی هست فرق دایرکت ایکس و اپن جی ال می خوای یا نحوه نمایش یک شکل سه بعدی از یک فایل.
برای این کار باید از فرمت فایل های سه بعدی سر در بیاری که مشخصات نقطه ها و تکستچر ها و یا انیمیشن ها رو بخونی و ازش رندر بگیری.

----------


## benyamin_pc

چطور یه فایل که محتوای 3د داره رو میشه کشید تو محیط برنامه نویسی و ازش استفاده کرد


 از اینکه به جزییات شی سه بعدی چجوری میشه با برنامه نویسی دسترسی داشت اونها رو تغییر داد و خلاصه تسلط به یک شی سه بعدی مثل یه آبجکت برنامه نویسی

----------


## aidinwashere

دیدی گفتم؟

----------


## benyamin_pc

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

----------


## kochol

تو می تونی از موتور های سورس باز اماده برای این کار استفاده کنی مثل irrlicht

----------


## AiatAzizi

من که چیزی نفهمیدم

----------


## kochol

سلام
من که خودم هم نفهمیدم سوال اصلی چی بوده ولی اگه سوالی داشتی که من بلد بودم در خدمتم.

----------


## alireza264

> سلام
> بالاخره ما اصلا نفهمیدیم سوال چی هست فرق دایرکت ایکس و اپن جی ال می خوای یا نحوه نمایش یک شکل سه بعدی از یک فایل.
> برای این کار باید از فرمت فایل های سه بعدی سر در بیاری که مشخصات نقطه ها و تکستچر ها و یا انیمیشن ها رو بخونی و ازش رندر بگیری.


با سلام خیلی خلاصه میشه گفت openGl مبتنی بر کارت گرافیگه یعنی اگه درایور کارت گرافیک کامل نصب نشده باشه اجرا نمیشه یا زمینه پرش دارد ضمن اینکه هه اشیا و حرکت ها و جلوه ها رو خودت باید بساری و کد نویسیش زیاد اما DirectX یک شتاب دهنده گرافیکی که درصورت نبودن درایور کارت گرافیک سرعت لازم برای اجرای انیمیشن ها رو میده و بعضی از اشیا و حرکت ها و جلوه هادرونش وجود داره ونیاز به ساختنش نیست در نتیجه کد نویسی کمتری داره همچنین میشه گفت که برنامه های opengl روی سیستم های متفاوت ممکنه عملکرد متفاوتی داشته باشندیا اجرا نشن  اما DirectXاینطوری نیست

----------


## pswin.pooya

> با سلام خیلی خلاصه میشه گفت openGl مبتنی بر کارت گرافیگه یعنی اگه  درایور کارت گرافیک کامل نصب نشده باشه اجرا نمیشه یا زمینه پرش دارد ضمن  اینکه هه اشیا و حرکت ها و جلوه ها رو خودت باید بساری و کد نویسیش زیاد  اما DirectX یک شتاب دهنده گرافیکی که درصورت نبودن درایور کارت گرافیک  سرعت لازم برای اجرای انیمیشن ها رو میده و بعضی از اشیا و حرکت ها و جلوه  هادرونش وجود داره ونیاز به ساختنش نیست در نتیجه کد نویسی کمتری داره  همچنین میشه گفت که برنامه های opengl روی سیستم های متفاوت ممکنه عملکرد  متفاوتی داشته باشندیا اجرا نشن  اما DirectXاینطوری نیست


نه خير.
لطفا ديگه اين تاپيك هاي عهد بوق رو هم بالا نياريد

----------


## mohamad.zakery

منم با حرف جناب *pswin.pooya* موافقم که توضیح اون دوستمون اشتباهه!!!

اما نمی دونم چرا هر وقت سر مسئله مقایسه OpenGl یا DirectX باز میشه بحث به ناکجا میرسه!!!

فقط اینون به دوستان بگم که همه بالاتفاق قبول دارند که سرعت DirectX در ویندوز بالاتر از  OpenGl هست!!!

حالا ضعفهای فراوونی داره این DirectX که بدترینش کراس پلتفرم نبودنشه!!!

ولی باید با واقعیت ها زندگی کنیم که امروزه 90% بازار سیستم عامل های دنیا در اختیار مایکروسافته!!!

و مطمئنم اگر کسی بگه من به ویندوز دسترسی اصلا ندارم دروغ میگه!!!

همه در دوران ما به ویندوز دسترسی دارن ولی همه به مکینتاش دسترسی ندارن!!!


اما انتخاب اینکه OpenGl یا DirectX دست خودتون و میتونین اونها را از این منبع به سرعت و سادگی یاد بگیرین!!
http://www.codesampler.com


اما چجوری فایل 3D را باید ترسیم کنین!!!
خیلی راحت!!!
اون فایل در یک نرم افزار 3D مثل 3DsMax طراحی میشه، میتونین اون فایل و با خروجی های خاص مثل FBX یا X File یا ... خروجی بگیرین
بعد باید یک لودر برای بارگزاری این فایل و ترسیم اون بنویسین

اما X File ها در DirectX 10 به بالا تابع Load  ندارن و باید خودتون بنویسین اما در Directx9 تابع Load دارند.

اگر کارتون خیلی سادست من Xna پیشنهاد میکنم چون براحتی میتونین این کار با یکی دو خط کد انجام بدین.

----------


## alireza264

من نفهمیدم که مطلبی که نوشتم از نظر این دو دوست کجاش اشتباه بودDiectX محصول مایکروسافته اما  OpenGl هم از طرف شرکتهایی مثل Borland و Sony برای مقابله با انحصار مایکروسافت حمایت میشه 
OpenGl یک سری توابع API و  Open Source هستش یکی از دلایل پیشرفته DirctX همین Open Source  بودن OpenGl بود
در خصوص 3DMAX هم باید عرض کنم که خروجی خود را بر اساس یکی از سه گزینه GDI - OPenGL یا DirectX تولید می کند که پیش فرضش DirectX  هست ولی میتونین با استفاده از مسیر 
Customiaze----> Preferences ----> View Port --->Choose Driver ---> Revert From DirectX
ضمنا" خروجی 3DMAX یک فیلم یا جلو ثابته ولی OpenGL یا DrectX انیمیشن پویا طراحی میکنن مثلا فرض کنید یک شی پس از برخورد به لبه های مانیتور بازگشت کنه اگه اندازه مانیتور تغییر کنه این در فیلم تولید شده 3Dmax درست جواب نمیده اما در کد نویسی بازم درست رفتار می کنه

----------

