خانه سه بعدی 3D در OpenGL با استفاده از برنامه نویسی #C عنوان پروژه ای است که در این پست به آن پرداخته شده است. خانه سه بعدی 3D یکی از پروژه های محبوب و جالب در برنامه نویسی گرافیکی به کمک OpenGL است. برای شبیه سازی خانه سه بعدی 3D در سی شارپ از کتابخانه گرافیکی اپن جی ال OpenGL استفاده شده است.
برنامهنویس: تیم برنامه نویسی پی استور
متشکل از اساتید و فارغ التحصیلان رشته های فنی - مهندسی
تیم برنامه نویسی پی استور یکی از اولین گروه های تشکیل شده در مجموعه آموزشی پی استور می باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته های فنی و مهندسی تشکیل شده که در زمینه های مختلف برنامه نویسی و تهیه سورس کد فعال هستند.
این کتابخانه در قالب چارچوب Tao.OpenGl به Microsoft Virtual Studio افزوده می شود تا بتوان از قابلیت های گرافیکی OpenGL در سی شارپ استفاده کرد. TAO یک کتابخانه است که تمام توابع OpenGL را به Net. ارجاع می دهد. به این ترتیب شما از OpenGL از در .NET استفاده می کنید.
این پروژه بسیار مدولار است. این بدان معنی است که هر جسم تقریبا مستقل است. هر شی به طور واقعی شامل تمام منطق کاری خود است، بنابراین شما می توانید با بسیاری از وابستگی ها در سراسر پروژه آشنا شوید.
توضیحات سورس کد
کلاس اصلی برنامه main.cs است. بنابراین شما می توانید شروع به کشف پروژه از این قسمت کنید. این مثال کد از main.cs. شما می توانید ببینید که چگونه اشیاء در صحنه در زمان اجرا اضافه شده است.
public MainClass(string[] args) { GlControl ViewPort = new GlControl(Width,Height); GlObjectList world = new GlObjectList(); world.Add(new LightSource()); #if !testingObjects world.Add(new TranslatedObject(new Point3D(0,-10,0),new SkyBox())); GlObjectList casa = new GlObjectList(); casa.Add(new Casa2()); casa.Add(new Librero(new Point3D(210,0,-318),0)); casa.Add(new Librero(new Point3D(210,Librero.Height+.3,-316),-3)); casa.Add(new Lamp(new Point3D(60,270,190),70)); casa.Add(new Refrigerador(new Point3D(-145,0,120),180)); Plantilla obj = new Mesita(new Point3D(80,0,40),90); casa.Add(obj); casa.Add(new TV(new Point3D(80,obj.Height+.2,60),0)); casa.Add(new Cama(new Point3D(370,0,-250),0,100,70)); casa.Add(new Cama(new Point3D(370,0,-480),0,100,60)); casa.Add(new Cama(new Point3D(-210,0,-420),0,90,40)); casa.Add(new Estante(new Point3D(-210,170,-108))); obj = new Mesa(new Point3D(380,0,200)); casa.Add(obj); casa.Add(new Silla(new Point3D(440,0,160))); casa.Add(new Silla(new Point3D(440,0,240))); casa.Add(new Silla(new Point3D(330,0,160),180)); casa.Add(new Silla(new Point3D(330,0,240),180)); casa.Add(new Silla(new Point3D(385,0,110),90)); casa.Add(new Silla(new Point3D(385,0,290),-90)); casa.Add(new Plato(new Point3D(380,obj.Height+.2,200))); casa.Add(new Vaso(new Point3D(380,obj.Height+.2,230))); casa.Add(new MesitaDeNoche(new Point3D(455,0,-140),-90)); casa.Add(new MesitaDeNoche(new Point3D(455,0,-380),-90)); casa.Add(new MesitaDeNoche(new Point3D(455,0,-580),-90)); casa.Add(new MesitaDeNoche(new Point3D(-280,0,-340),90)); obj = new EstanteHorizontal(new Point3D(330,0,-70),180); casa.Add(obj); casa.Add(new Butaca(new Point3D(-30,0,200),90,2)); casa.Add(new Butaca(new Point3D(200,0,270),250,1)); casa.Add(new Butaca(new Point3D(200,0,110),-70,1)); casa.Add(new MesetaConFregadero(new Point3D(-307,0,-64),0)); casa.Add(new Clock(new Point3D(485,200,325),270)); GlObject c = new TranslatedObject(new Point3D(0,0,-70),casa); world.Add(c); #endif observer=new Avatar(ViewPort, world); Glut.glutDisplayFunc(new Glut.DisplayCallback(observer.Look)); Glut.glutIdleFunc(new Glut.IdleCallback(observer.Look)); Glut.glutMainLoop(); }
این برنامه از کلاس ها و توابع متنوعی تشکیل شده است که در زیر قسمتی از این کلاس ها را مشاهده می کنید.
این پروژه از یک دوربین FPS استفاده می کند. جهت دوربین را با ماوس تغییر دهید و با کلیک چپ / راست کلیک، به جلو و عقب حرکت کنید. برای تعامل با اشیائی مانند درب خانه از Space bar استفاده کنید.
اشیاء جالب در این پروژه
- ساعت:
هنگامی که وارد خانه می شوید یک ساعت در دیوار آویزان است. اگر متوجه باشید این ساعت، ساعت کامپیوتر شما را نشان می دهد.
- قوری OpenGL:
وارد آشپزخانه که می شوید قوری OpenGL را پیدا خواهید کرد. این جسم به کتابخانه GLUT افزوده شده و مانند نماد OpenGL است.
- درب های باز:
شما باید با درب ها تعامل داشته باشید. با نزدیک شدن و فشار کلید Space درب باز خواهد شد. بخش خوب این است که هیچ موتور 3D در پشت آن وجود ندارد، بنابراین شما می توانید ببینید که چگونه این کار انجام می شود.
- مبلمان خانگی:
میز ها، صندلی ها، تخت ها، در میان اشیاء خانه نیز دیده می شود. اگر شما به کد نگاه کنید متوجه خواهید شد که چطور ساخته شده اند و ترکیبی از ابتکارات OpenGL ساده است.
- Skybox:
اگر در اطراف خانه راه بروید، آسمان و زمین را ببینید. از این پروژه به عنوان اصول اولیه برای رندر محیط در برنامه های 3D یاد می شود.
- لامپ سقف:
این لامپ سقف یک زنجیر دارد و زنجیره ای با استفاده از کد های ابتدایی OpenGL ساخته شده است. بسیار جالب است که نگاهی به نحوه انجام آن داشته باشید.
موضوعات OpenGL تحت پوشش این پروژه:
این فهرستی از تمام اصولی است که این پروژه دربرگیرد. توضیح هر یک از فرایندهای منطقی بصورت سیستماتیک در کد ها بیان شده است.
- دوربین FPS
- CSG (هندسه ساخت سازه ای)
- شفافیت
- برخورد ها
- تکنیک Skybox
- دستکاری بردار
- بافت در حال بارگذاری و نقشه برداری
- ابتکارات OpenGL
- تعامل شی
تصاویری از خروجی پروژه
ویدئوی معرفی محصول
درباره محصول
این محصول سورس خانه سه بعدی 3D در OpenGL با استفاده از برنامه نویسی #C است که در microsoft visual studio 2010 نوشته شده است. پروژه توسط کارشناسان پی استور تست و بررسی شده است و مورد تایید پی استور می باشد. این محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود پروژه آن را خریداری کنید. به محض خریداری لینک دانلود در دسترس خواهد بود.
پروژه های مرتبط با OpenGl
پروژه های پیشنهادی در سی شارپ
تاریخ انتشار: | 17 خرداد 1397 |
---|---|
تاریخ بروزرسانی: | 6 آذر 1399 |
حجم فایل: | 1.5 مگابایت |
فرمت فایل | sln. در قالب ویژوال استودیو |
نسخه: | 1.0 |
هماهنگی با: | Microsoft Visual Studio 2013 و بالاتر |
تاکنون 276 نفر این محصول را تهیه کرده اند و 2 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
قیمت 39,000 تومان
تاریخ انتشار: | 17 خرداد 1397 |
---|---|
تاریخ بروزرسانی: | 6 آذر 1399 |
حجم فایل: | 1.5 مگابایت |
فرمت فایل | sln. در قالب ویژوال استودیو |
نسخه: | 1.0 |
هماهنگی با: | Microsoft Visual Studio 2013 و بالاتر |
2 بازخورد (مشاهده نظرات)
قیمت: 39,000 تومان
bahar
دمتون گرم چن ساعته دنبال پروژه میگردم اینو به زور پیدا کردم.
مدیریت و پشتیبانی
نظرات و دیدگاه های خود را با ما درمیان بگذارید.