PDA

View Full Version : خواهش می کنم در مورد OpenGL راهنماییم کنید



ermia_
جمعه 21 فروردین 1388, 15:02 عصر
سلام دوستان
من میخوام بدونم چطوری کامپایلر C# که دارم بتونه OpneGL رو ساپورت کنه.
کامپایلرم Visula C#2008 Express Edition هستش.
خیلی سرچ کردم اما هنوز نفهمیدم چی رو کجا باید کپی کنم؟
من lesson01 از سایت nehe.gamedev.net رو خوندم اما اون راجع به C++ توضیح داده بود.
من از همین سایت nehe.gamedev.net، ستون سمت چپ OpenGL Basecode رو برای C# دانلود کردم.
خیلی جاها هم گفتن باید کتابخانه csgl رو دانلود کنم که اونم از سایت csgl.sourceforge.net دانلود کردم.
اما نمی دونم با محتویات اون ها چی کار کنم؟
تو همن سایت دو تا لینک دیدم که گفته بودند: "csgl.native.dll رو باید به سیستم 32 کپی کنید"


http://barnamenevis.org/forum/showpost.php?p=594199&postcount=132

http://barnamenevis.org/forum/showpost.php?p=597541&postcount=137

یعنی همین کافیه؟
پس اونایی که من دانلود کردم چی هستن؟
میشه بگید واسه اینکه کامپایلرم از OpenGL پشتیبانی کنه، با این فایل ها باید چی کار کنم و کجا بریزمشون؟


خیلی ممنون میشم راهنماییم کنید.

m110_110
جمعه 21 فروردین 1388, 17:49 عصر
با سلام
برای کار با opengl در سی شارپ خوب dll های مختلفی می تونی پیدا کنی
چیزی که کمی با اون آشنایی دارم همین csgl هستش که دارای سه dll هستش که گفتی اون ها رو دانلود کردی
برای شروع می تونی یک پروژه ConsoleApplication درست کنی و بعد در فایل Program.cs این تغییرات رو بدهی و با توابع opengl کار کنی
پس:
1-ساخت پروژه ConsoleApplication
2- dll های csgl.dll و CsGL.Basecode.dll رو add reference کن
3- بالای فایل Program.cs این را اضافه کن



using CsGL.Basecode;

4- بعد کلاس program باید از کلاس Model که از CsGL.Basecode هست ارث ببره
یعنی کد



class Program
{

باید به



class Program :Model
{

تبدیل بشه
5- تابع main باید به این تغییر دهی




static void Main(string[] args)
{
App.Run(new Program());
}

6- حالا تابع draw رو override کن و در درونش می تونی از کدهای opengl و سی شارپ استفاده کنی
یعنی:



public override void Draw()
{
//کد ها
}


در ضمن یادت نره که باید csgl.native.dll رو در system32 کپی کنی
همچنین چند تا برنامه ی کوچک با همین dll در قسمت نمونه برنامه های کوچک گذاشتم که شاید به کارت بیاد

ermia_
جمعه 21 فروردین 1388, 19:36 عصر
خیلی ممنون به خاط توضیحات کاملی که دادین.
خیلی لطف کردین.
من دو تا از برنامه هایی که شما گذاشتین رو دانلود کردم.
برنامه game رو تست کردم.
دو تا فایل dll رو همون طور که گفتید اضافه کردم.
اون یکی فایل رو هم تو system32 ریختم.
وقتی F5 رو میزنم هیچ ارروری وجود نداره اما یه صفحه مشکی میاد و زود میره. من نمی تونم بازی رو ببینم. (بازی رو از طریق فایل .exe ای که گذاشته بودید دیدم اما وقتی سورس برنامه شما رو باز می کنم، بعد از کارایی که گفتید می خوام با ران کردن برنامه نتیجه رو ببینم نمیشه، صفحه مشکی میاد و بلافاصله میره)
جایی رو اشتباه می کنم؟

ermia_
جمعه 21 فروردین 1388, 20:36 عصر
با برنامه clock تست کردم، تونستم خروجی رو ببینم :)
مشکلی نبود.
اما تو برنامه game اررور داد، اشتباهی گفتم اررور نداشته.
به using System.Windows.Forms ایراد میگیره.
وقتی خودم System. رو می نویسم، بعد چیزای آماده ای که میشه بعد از System نوشت میاره اما Windows.Forms جزوشون نیست.
البته مشکل من رو راجع به استفاده از OpenGL تو C# حل کردید.
واقعا ممنونم.

m110_110
جمعه 21 فروردین 1388, 21:18 عصر
سلام
لطف دارید
می بخشید مشکل از من بود یادم رفت بگویم که توی اون برنامه باید
System.Windows.Forms
add reference بکنی

sarakh
جمعه 05 آذر 1389, 14:59 عصر
سلام می خوام یکی از این فایل هارو به visual studio2008 اضافه کنم و در زبان C# از opengl استفاده کنم.
حالا وقتی می خوام از طریق add refrence اضافه می کنم این پیغام خطا رو می ده و اضافه نمی شه.
opengl32.dll و glu32.dll
این هم پیغام خطا:

A reference to'c:\windows\system32\glu32.dll'could not be added.please make sure that the file is accessible and that it is a valid assembely or COM component

لطفا راهنمایی کنیین که چه جوری می تونم یکی از این فایل ها رو به پروژه اضافه کنم و اینکه با اضافه کردن یکی از این فایل ها می تونم با opengl کار کنم؟؟؟؟؟؟؟
به پاسخ سریع نیاز دارم.
ممنون

sarakh
دوشنبه 29 آذر 1389, 21:12 عصر
سلام از اونجایی که کسی جوابم رو نداد بعد از کمی جستجو فهمیدم برای C# باید فایل csgl.dll رو استفاده کنیم.:لبخندساده: