تخفیف نوروزی پی استور
هزینه سفارش:
۳۲۹,۰۰۰ تومان قیمت اصلی: ۳۲۹,۰۰۰ تومان بود.۱۳۱,۶۰۰ تومانقیمت فعلی: ۱۳۱,۶۰۰ تومان.
پروژه میله پرچم میدان سه بعدی 3D یکی از پروژههای محبوب و جالب در برنامه نویسی گرافیکی به کمک OpenGL است. برای شبیه سازی پروژه میله پرچم میدان در سی شارپ از کتابخانه گرافیکی اپن جی ال OpenGL استفاده شده است. این کتابخانه در قالب چارچوب Tao.OpenGl به Microsoft Virtual Studio افزوده میشود تا بتوان از قابلیتهای گرافیکی OpenGL در سی شارپ استفاده کرد.
برای شبیه سازی پروژه میله پرچم میدان در سی شارپ از کتابخانه گرافیکی اپن جی ال OpenGL استفاده شده است. این کتابخانه در قالب چارچوب Tao.OpenGl به Microsoft Virtual Studio افزوده میشود تا بتوان از قابلیتهای گرافیکی OpenGL در سی شارپ استفاده کرد.
TAO یک کتابخانه است که تمام توابع OpenGL را به Net. ارجاع میدهد. به این ترتیب شما از OpenGL در .NET استفاده میکنید. این پروژه بسیار مدولار است. این بدان معنی است که هر جسم تقریبا مستقل است. هر شی به طور واقعی شامل تمام منطق کاری خود است، بنابراین شما میتوانید با بسیاری از وابستگیها در سراسر پروژه آشنا شوید.
پروژه میله پرچم میدان دارای ۵ کلاس و یک فرم میباشد. که در ادامه به توضیح آنها میپردازیم:
این کلاس برای طراحی آسمان و کوههایی است که در پروژه نمایشی مشاهده میکنید، اساسا یک جعبه با تصاویر است. این تکنیک در ۹۰ درصد از بازیهایی که امروزه مشاهده میکنید استفاده میشود، البته با استفاده از تکنیکهای دیگر، آن را با واقعیت سازگاری بیشتر ترکیب میکند. نگاهی به چگونگی شکل گیری بخش skybox میاندازیم.
Gl.glEnable(Gl.GL_TEXTURE_2D); // enable opengl texturing Gl.glBindTexture(Gl.GL_TEXTURE_2D,ContentManager.GetTextureByName ("back.bmp")); //enabling texture for the portion of the skybox Gl.glBegin(Gl.GL_QUADS); Gl.glNormal3d(-1, 1, 1); Gl.glTexCoord2f(1.0f, 0.0f); Gl.glVertex3d(x + width, y, z); Gl.glNormal3d(-1, -1, 1); Gl.glTexCoord2f(1.0f, 1.0f); Gl.glVertex3d(x + width, y + height, z); Gl.glNormal3d(1, -1, 1); Gl.glTexCoord2f(0.0f, 1.0f); Gl.glVertex3d(x, y + height, z); Gl.glNormal3d(1, 1, 1); Gl.glTexCoord2f(0.0f, 0.0f); Gl.glVertex3d(x, y, z); Gl.glEnd();
با استفاده از Gl.glVertex3d نقطهای از مربع روی صفحه را رسم میکنیم، با Gl.glTexCoord2f به OpenGL میگویم که در آن تصویر روی مربع خواهد بود و با Gl.glNormal3d بهopenGL جهت مربع را میگوییم. تمام این تماسها بین Gl.glBegin (Gl.GL_QUADS) و Gl.glEnd () ساخته شده است.
این کلاس نقاشی از میدان را مدیریت میکند که اساسا برای طراحی مدل 3D با بافت است. این فرآیند کپسوله شده است، بنابراین شما فقط این را در تابع ایجاد مشاهده میکنید:
m = ContentManager.GetModelByName("plaza.3DS"); // get the model m.CreateDisplayList(); // this loads the model in opengl memory(displays lists)
و تابع رسم بصورت زیر است:
Gl.glPushMatrix(); Gl.glTranslatef(0, 1.4f, 0); Gl.glScalef(0.2f, 0.2f, 0.2f); m.DrawWithTextures(); Gl.glPopMatrix();
پرچم شبکهای از نقاط است که توسط یک تابع سینوسی ضرب میشود و به همین دلیل یک تابع سینوسی برای حرکت پرچم تعبیه شده است.
for (int x = 0; x < 47; x++) { // Loop Through The Y Plane for (int y = 0; y < 10; y++) { // Apply The Wave To Our Mesh points[x, y, 0] = (float)((x / 5.0f) - 0.1f); points[x, y, 1] = (float)((y / 1.125f) - 0.1f); points[x, y, 2] = (float)(Math.Sin(Helper.DegreeToRad(((x/ 5.0f) * 40.0f)) * 2.0f)); } }
این کلاس برای دست زدن به حرکت دوربین است. دوربین دید اول شخص دارد. ایده این است که ماوس را در مرکز صفحه قرار دهید و هر حرکت موشی در X و Y را به چرخشهای زاویه ای ترجمه کنید و سپس ماوس را دوباره روی مرکز صفحه قرار دهید. همچنین دوربین قبل از حرکت در جهت، مدلی برخورد را نمایش میدهد. در اینجا یک نمونه است:
if (!Collision.CheckCollision(new Point3D(-newEyeX, -newEyeZ, 0))) { eyex = newEyeX; eyez = newEyeZ; }
Mainclass کلاس مدیریت است، شامل تمام اشیاء خواهد شد که بر روی صفحه کشیده میشود.
public void DrawScene() { plaza.Draw(); sky.Draw(); flag.Draw(); //DebugMode.WriteCamaraPos(200, 200); //work only in 32bits system Collision.DrawColissions(); }
Mainform فرم ویندوز است که این پروژه را نمایش میدهد. این شامل تایمر برای طراحی و به روز رسانی صحنه است.
این محصول سورس پروژه میله پرچم میدان بصورت سه بعدی 3D در OpenGL با استفاده از برنامه نویسی #C است که در microsoft visual studio 2013 نوشته شده است. پروژه توسط کارشناسان پی استور تست و بررسی شده است و مورد تایید پی استور می باشد. این محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود پروژه آن را خریداری کنید. به محض خریداری لینک دانلود در دسترس خواهد بود.
تیم برنامه نویسی پی استور یکی از اولین گروههای تشکیل شده در مجموعه آموزشی پی استور میباشد. این تیم از اساتید مجرب و فارغ التحصیلان رشتههای فنی و مهندسی تشکیل شده که در زمینههای مختلف برنامهنویسی و تهیه سورس کد فعال هستند.
نام اثر: | پروژه میله پرچم میدان در OpenGL در سی شارپ #C |
نوع اثر: | سورس کد |
برنامهنویس: | تیم برنامهنویسی پیاستور |
زبان برنامه نویسی: | OpenGL |
ویژگی: | قابلیت دانلود و ویرایش |
توجه: کیفیت این محصول توسط پی استور تضمین شده و در صورت عدم رضایت از محصول، به انتخاب شما:
هزینه سفارش:
۳۲۹,۰۰۰ تومان قیمت اصلی: ۳۲۹,۰۰۰ تومان بود.۱۳۱,۶۰۰ تومانقیمت فعلی: ۱۳۱,۶۰۰ تومان.
نظرات
پیرمحمدی
پروژه قابل قبولی بود. ممنون
نجیمه
سلام ممنون از پروژه خوبتون عالیه