تبلیغات
گرافیک کامپیوتری opengl - opengl چیست ؟ ( مقاله آشنایی با opengl)
 
گرافیک کامپیوتری opengl سایت گرافیک کامپیوتری opengl
درباره وبلاگ


با سلام خدمت همه علاقمندان گرافیک کامپیوتری و OPenGl ، این وبلاگ جهت آموزش و دریافت سفارش انجام پروژه ها و تمرینات گرافیک کامپیوتری opengl با قیمت کاملا دانشجویی و اطلاع رسانی آخرین اخبار روز دنیا در این زمینه طراحی شده است ، امید است گامی هر چند کوتاه در راستای ارتقاء سطح دانش کامپیوتری کشور برداریم ( البته با نظرات و انتقادات و پیشنهادات سازنده شما عزیزان و همراهان )
آدرس ایمیل
gharehdaghi.hamid@gmail.com
شماره تلفن : 09148484912

مدیر وبلاگ : ایرانی
نویسندگان
برچسبها
کلیه مطالب این وبلاگ به سایت گرافیک کامپیوتری - opengl انتقال یافت
چهارشنبه 7 اردیبهشت 1390 :: نویسنده : ایرانی

به نام تنها برنامه نویس هستی

OpenGL چیست ؟

اپن جی ال چیست ؟


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

ابتدا از نام OpenGL شروع می کنیم که نشان دهنده مفهوم آن نیز می باشد  ، OpenGL یعنی Open source Graphic Library ، خوب ابتدا مختصری درباره نرم افزار های open source یا همان متن باز توضیح می دهم :

حتما با نرم افزار های متن باز یا به اصطلاح اصلی open source آشنایی دارید ( حداقل نام آن به گوشتان رسیده است ! ) و می دانید که این نرم افزار ها به صورت رایگان در اختیار عموم  قرار می گیرند و تهیه کننده گان آنها سورس اصلی برنامه را بیشتر به منظور عیب یابی و کاهش خطا ها و bug های احتمالی برنامه در اختیار برنامه نویسان قرار می دهند تا برنامه نویسان و علاقمندان بتوانند به راحتی کد آن برنامه را ویرایش کرده و تغییرات دلخواه را روی آن انجام دهند ( یکی از معروفترین برنامه های open surce سیستم عامل لینوکس است که حتما نام آن را شنیده اید و البته پیشرفت ها و موفقیت های جدید آن را ، که مهمترین عامل این پیشرفت ها همین متن باز بودن لینوکس بوده و است ) .

opengl هم همانطور که از نام آن مشخص است جزء نرم افزار متن باز به شمار  می رود که یک از مزیت ها و امتیازات آن نیز به شمار می رود ، حال نوبت به graphic library می رسد :

graphic library یا همان کتابخانه گرافیکی به مجموعه کتابخانه ها یا کامپوننت های گفته می شود که برای استفاده از دستورات مخصوص گرافیکی تهیه شده است و با الصاق ( include ) آن ها به برنامه اصلی ( هنگام برنامه نویسی ) می توانیم ، از دستورات گرافیکی مجاز برای ایجاد رابطه با بخش گرافیک سیستم استفاده نماییم ( از جمله کار هایی که با گرافیک سیستم سر و کار دارد نوشتن بازی ها و اشکال سه بعدی و دو بعدی و کلا برنامه هایی که با مانیتور در ارتباط باشند )

نکته آموزشی داخل پارانتز (( کتابخانه ها یا همان فایل های با پسوند lib که مخفف شده library می باشد ، به منظور آسان تر شدن کار برنامه نویسان در موقع برنامه نویسی ایجاد و تهیه می شوند ، به این صورت که مثلا برنامه نویسی داخل برنامه های خود از تابع خاصی چندین بار ( شاید هم صد ها و هزاران بار )  به صورت متوالی استفاده می کند ، خوب نوشتن این تابع خاص به این تعداد در کد اصلی برنامه حجم فایل نهایی را بالا برده و البته وقت برنامه نویس را هم خواهد گرفت ، اینجاست که کتابخانه ها یا lib ها وارد عمل می شوند و تابع خاص را داخل خود قرار می دهند تا موقع نیاز به تابع از آن استفاده شود ))

این هم از مفهوم graphic library ، حال شما با مفهوم اسم OpenGL یا همان Open source Graphic Library آشنایی کامل را دارید .

پس در اینجا نتیجه می گیریم که OpenGL یک زبان برنامه نویسی نیست ، یک سری کتابخانه از پیش تعریف شده می باشد  که  کار این کتابخانه ارتباط راحت تر با بخش سخت افزاری گرافیک سیستم می باشد ، برای درک بیشتر این مطلب باید توضیحی هم درباره رابط های نرم افزاری یا همان API ها بدهم :

برای اینکه بتوانیم با سخت افزار های موجود در سیستم خود مثل کارت شبکه ، کارت گرافیک ، ...  به صورت درست و صحیح ارتباط برقرار کنیم  ( به زبان خود ماشین ) احتیاج به رابط هایی داریم که بتوانند این کار را به درستی انجام دهند ، فرض کنید یک فارسی زبان ( که زبان دیگری هم نمی داند ) با یک انگلیسی زبان ( که او هم زبان فارسی را نمی داند ) برخورد می کنند و می خواهند با هم صحبت کنند  ، به نظر شما چاره کار چیست ؟ خوب اولین و تنها گزینه یک مترجم می باشد که هم زبان فارسی بداند و هم زبان انگلیسی ، حال آن دو به راحتی می توانند با هم مکاتبه داشته باشند . در مورد کامپیوتر هم دقیقا به همین صورت است ، نرم افزار و سخت افزار کامپیوتر زبان هم دیگر را نمی دانند و احتیاج به یک سری مترجم هایی به نام API دارند .

API ها رابط های نرم افزاری هستند که زبان سیستم ( زبان ماشین ) و چگونگی ارتباط با سخت افزار را می دانند . به عنوان مثال من برنامه نویس اگر بخواهم یک پیکسل از مانیتور را روشن کنم  به API مربوطه فرمان می دهم که این کار را ( با زبانی که بلد هستی ) برای من انجام بده و مستقیم با سخت افزار صحبت نخواهم کرد ، API مربوطه دستور را گرفته و  به سخت افزار می رساند ، به همین راحتی ...
API های مختلفی برای بخش های مختلف سخت افزار وجود دارد ، اما در اینجا و این مقاله API  های گرافیکی مد نظر ما می باشد ، که معروفترین آنها OpenGl و DirectX  می باشند  .
البته سخت افزار های موجود نیز باید از API  ها پشتیبانی کنند ، که بعضی شرکت هاس سازنده سخت افزار و کارت های گرافیکی از API های OpenGL پشتیبانی و همایت می کنند و بعضی هم از DirectX که محصول شرکت ماکروسافت است . هر یک از این واسط های نرم افزاری OpenGl و DirectX  معایب و مزایای خواص خود را دارند که در اینجا قصد مقایسه این دو را ندارم .


تاریخچه و نحوه تکامل OpenGl  :  
سازنده OpenGL یا بهتر بگوییم توسعه دهنده و بهینه کننده آن شرکت Silicon Graphics  می باشد  ( که به اختصار SGI  نیز نامیده می شود و یکی از بزرگان صنعت گرافیک کامپیوتری می باشد ) ، خود OpenGL  توسعه یافته کتابخانه دوبعدی IRIS GL که آن هم محصول شرکت SGL بود ، می باشد . شرکت های دیگری نیز به توسعه این محصول متن باز کمک کرده اند از جمله شرکت 3D Labs که تکنیک و قابلیت سایه زنی را به OpenGL اضافه نمود .  در سالهای اخیر  کتابخانه های OpenAL  و OpenIL نیز به موازات OpenGL در حال پیشروی و کسترش هستند که اولی برای کنترل و مدیریت سخت افزار های صوتی (Audio) و ایجاد صدا های سه بعدی و دومی برای مدیریت و کنترل دستگاه های ورودی ( Input ) ها ایجاد شده اند .

دایرکس ایکس

رقیب اصلی OpenGL  همان DirectX محصول شرکت Microsoft می باشد که در سال 1995 وارد عرصه رقابت API ها شد ، در اوایل رقابت بین این دو  اپن جی ال کاملا یک سر و گردن از حریف خود جلو بود ، اما کار به همین روال پیش نرفت و شرک ماکروسافت یا استفاده از قدرت تجاری خود توانست از رقیب خود جلو بزند ،  البته متن باز بودن OpenGL هم بی تقصیر نبود به گونه ای که ماکروسافت از این ویژگی استفاده می کرد و محصولات خود را تقریبا مشابه  با محصولات OpenGL ارائه می داد تا اینکه در تاریخ  2000 میلادی DirectX 8 منتشر شد که امکانات بیشتر و بهتری نسبت به OpenGL داشت ، در این برهه زمانی بود که OpenGL از رقیب خود عقب افتاد ولی همچنان رقابت بین این دو ادامه دارد .

در آخر هم نام دو کتاب درباره OpenGl  که توسط شرکت  SGI تهیه و منتشر شده است را ذکر می کنم ، اولی کتابی با عنوان  OpenGL Red Book  می باشد که به توضیح و تشریح اپن جی ال اختصاص داده شده است و کتاب دوم با عنوان OpenGL Blue Book که مرجع دستورات این کتابخانه می شود.

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

تهیه و تنظیم : مهندس قره داغی 09148484912 
 





نوع مطلب : کتاب و مقاله و تحقیق درباه opengl، 
برچسب ها : opengl چیست ؟، مقاله درباره opengl، همه چیز درباه opengl، اپن جی ال چیست ؟، دایرکس ایکس رقیب اپن جی ال، مقاله تحقیقاتی درباره opengl، تاریخچه opengl و شرکت SGI، directx و شرکت ماکروسافت، API رابط نرم افزاری چیست ؟، رابط گرافیکی و کتابخانه گرافیکی OpenGl، فایل های کتابخانه ای یا LIB فایل، معرفی کتاب های مخصوص opengl،


آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :