برنامه نویسی Opengl در ++Virtual C

OpenGL مخفف کلمه Open source Graphic Library هست که یک زبان برنامه برنامه نویسی نیست بلکه یک کتابخانه متن باز هست که می توان ازش داخل زبان های برنامه نویسی استفاده کرد. در واقع توابع کتابخانه ای متنوعی در OpenGL وجود داره که میتونیم ازش در هر زبان برنامه نویسی استفاده کنیم.
مقدمه
حتماً با نرم افزار های متن باز یا Open Source آشنا هستین. این نرم افزار ها به صورت رایگان در اختیار افراد قرار می گیرن و تهیه کننده گان آنها سورس اصلی برنامه رو بیشتر به منظور عیب یابی و کاهش خطا های احتمالی برنامه در اختیار برنامه نویسان میزارن تا برنامه نویسان و علاقمندان بتونن به راحتی کد برنامه رو ویرایش کنند.
OpenGL جزء نرم افزار متن باز به شمار می روه و graphic library یا همان کتابخانه گرافیکی به مجموعه کتابخانه ها یا کامپوننت های گفته می شه که برای استفاده از دستورات مخصوص گرافیکی تهیه شده و با اضافه کردن بوسیله include از اون ها در برنامه اصلی استفاده میشه.
کتابخانه ها یا همان فایل های با پسوند lib که مخفف library هستن به منظور آسان تر شدن کار برنامه نویسان در موقع برنامه نویسی ایجاد و تهیه می شون، مثلاً برنامه نویسی داخل برنامه های خود از تابع خاصی چندین بار به صورت متوالی استفاده می کنه، خب قطعا نوشتن این تابع خاص به این تعداد در کد اصلی برنامه حجم فایل نهایی رو بالا میبره و البته وقت برنامه نویس رو هم میگیره، اینجاست که کتابخانه ها یا lib ها وارد عمل می شون و تابع خاص رو داخل خودشون قرار میدن تا موقع نیاز به تابع ازش استفاده شه.
پس میتونیم نتیجه بگیریم که OpenGL یک زبان برنامه نویسی نیست بلکه یک سری کتابخانه از پیش تعریف شده هست که کار این کتابخانه ارتباط راحت تر با بخش سخت افزاری گرافیک سیستم هستش. برای اینکه بتونیم با سخت افزار های موجود داخل سیستم خودمون مثل کارت شبکه ، کارت گرافیک، … به صورت درست و صحیح ارتباط برقرار کنیم، احتیاج به رابط هایی داریم که بتونن این کار را به درستی انجامبدن. این کار توسط API ها انجام میشه. API ها رابط های نرم افزاری هستن که زبان سیستم ( زبان ماشین ) و چگونگی ارتباط با سخت افزار را میدونن.
تاریخچه OpenGl
سازنده اوپن جی ال یا بهتر بگم توسعه دهنده و بهینه کننده اون شرکت Graphics Silicon است. خود OpenGL توسعه یافته کتابخانه دو بعدی IRISGL که اون هم محصول شرکت SGLهست. شرکت های دیگه ای هم به توسعه این محصول متن باز کمک کردن از جمله شرکت Labs3 D که تکنیک و قابلیت سایه زنی رو به OpenGL اضافه کردن.
در سال های اخیر کتابخانه های OpenAL و OpenIL هم به موازات OpenGL در حال پیشروی و گسترش هستن که اولی برای کنترل و مدیریت سخت افزار های صوتی و ایجاد صدا های سه بعدی و دومی برای مدیریت و کنترل دستگاه های ورودی ها ایجاد شده.
انواع گرافیک کامپیوتری
قبل از برنامه نویسی Opengl در ++Virtual C باید اطلاعاتی در مورد انواع گرافیک کامپیوتری داشته باشیم. به طور کلی دو نوع گرافیک کامپیوتری وجود داره:
نوع اول گرافیک رستری (Raster) هست که به گرافیک Bitmap هم مشهور هست. البته گاهی اوقات به گرافیک رستری گرافیک پیکسلی هم میگن و نوع دوم اون گرافیک وکتور (Vector) یا برداری هست.
1- گرافیک پیکسلی یا رستری
این نوع از گرافیک از خانه های پیکسلی که دارای درجه مشخصی از یک رنگ هستن تشکیل شده و وقتی این پیکسل ها در کنار هم با درجه رنگهای مختلف از هم، قرار میگیرن، تصاویر رو تشکیل میدن. در گرافیک پیکسلی به دلیل اینکه ما با رنگ پیکسل ها سرو کار داریم، قادر به ویرایش، حذف یا ایجاد تصویر یا عکس نیستیم. تنها میتونیم عکس یا تصاویر دیجیتال رو توسط دسترسی به پیکسلهای رنگی اون، ویرایش کنیم.
چیزی که داخل گرافیک رستری اهمیت داره، تعداد پیکسل های رنگی در اینچ هست، چون این تعداد، کیفیت رنگی و وضوح تصویری عکس دیجیتال رو مشخص میکنه. به تعداد پیکسل های رنگی در اینچ، رزولوشن میگن و مقدار رزولوشن، همان مقدار پیکسل ها رو در واحد اینچ مشخص می کنه که اصطلاحاً بهش واحدی dpi یا (Dot Per Inch) میگن.
همین dpi هست که باعث میشه وقتی ما یک تصویر رستری را بزرگ میکنیم، کیفیت تصویر پایین میاد. چون هرچی هم اون رو بزرگ تر کنیم نمیتونیم رزولوشن یا تعداد پیکسل های اون رو در واحد اینچ افزایش بدیم. کیفیت این تصاویر با سایز ارتباط مستقیم داره.
2- گرافیک وکتور یا برداری
این نوع گرافیک، گرافیکی رایانه ای هست که با فرمول های ریاضی سر و کار داره. از خط ها، منحنی ها و شکل هایی که دارای بعد و مختصات ریاضی هستن و مکان آنها با X و Y تعریف میشه که دارای طول و عرض ریاضی هستن و رزولوشن آنها با تغییر سایز، تغییر نمیکنه. بنابراین کیفیت تصاویر در هر سایزی یکسان میمونه و این کار از طریق محاسبات ریاضی انجام میشه. این گرافیک یکی از بهترین و پرکاربردترین انواع گرافیک کامپیوتری هست که برای کار تصویر سازی استفاده میشه و طراحی آرم ها و بعضی اوقات تصویر سازی کتاب های کودک و … توسط برنامه های وکتوری انجام میشه.
قوانین برنامه نویسی OpenGL
- دستورات OpenGL با پیشوند gl شروع میشن و با یک حرف بزرگ ادامه پیدا میکنن.
- ثابت ها با پیشوند GL_ شروع میشه و تمام حروف بعد از آن حروف بزرگ هست.
- بعضی از دستورات هم با یک عدد و چندین حرف در انتها برd1 یادآورd تعداد و نوع آرگومان هاd ورود تموم میشه.
انواع داده ها در برنامه نویسی OpenGL
پسوند | نوع داده | معادل نوع داده در زبان C | تعریف نوع در OpenGl |
b | 8 بیت integer | singed char | Glbyte |
s | 16 بیت integer | short | Glshort |
i | 32 بیت integer | int or long | Glint, Glsizei |
f | 32 بیت ممیز شناور | float | Glfloat, Glclampf |
d | 64 بیت ممیز شناور | double | Gldouble, Glclampd |
ub | 8 بیت integer بدون علامت | unsigned char | Glubyte, Glboolean |
us | 16 بیت integer بدون علامت | unsigned short | Glushort |
ui | 32 بیت integer بدون علامت | unsigned int or long | Gluint,glenum,Glbitfleld |
order acetazolamide 250 mg buy imuran 25mg order imuran pill
buy clobetasol for sale temovate over the counter brand cordarone 200mg
purchase benicar generic buy generic divalproex over the counter buy divalproex tablets