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


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

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

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

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،
لینک های مرتبط :

       نظرات
چهارشنبه 7 اردیبهشت 1390
ایرانی
دوشنبه 27 شهریور 1396 05:19 ب.ظ
I always used to study piece of writing in news papers but now as
I am a user of net therefore from now I am using net for articles,
thanks to web.
یکشنبه 26 شهریور 1396 09:47 ق.ظ
After I originally commented I seem to have clicked on the -Notify me when new comments are added-
checkbox and now each time a comment is added I recieve four emails with the exact same comment.
There has to be a way you can remove me from that service?
Thanks!
یکشنبه 26 شهریور 1396 08:10 ق.ظ
Thanks very interesting blog!
یکشنبه 19 شهریور 1396 02:28 ق.ظ
من فکر می کنم مدیر این صفحه وب واقعا برای حمایت از کار سخت است
وب سایت خود را، از آنجا که در اینجا هر چیز مواد با کیفیت است.
یکشنبه 19 شهریور 1396 01:28 ق.ظ
چیزهای عالی اینجا من بسیار خوشحالم که پست شما را به اشتراک می گذارم
خیلی ممنونم و می خواهم با شما ارتباط برقرار کنم.
لطف میکنید نامهای برایم بفرستید؟
شنبه 18 شهریور 1396 09:33 ب.ظ
اگر بخواهید معامله ای عالی از این پاراگراف بدست آورید، باید این را اعمال کنید
روش های به صفحه وب شما برنده
دوشنبه 13 شهریور 1396 02:44 ق.ظ
We're a bunch of volunteers and opening a new scheme in our community.
Your web site provided us with valuable information to work on. You've performed a formidable task and our entire neighborhood will probably be grateful to
you.
جمعه 13 مرداد 1396 10:12 ق.ظ
Fantastic goods from you, man. I have understand your stuff
previous to and you're just extremely wonderful. I really like what you've acquired
here, certainly like what you are saying and the way in which you say it.
You make it entertaining and you still care for to keep it sensible.
I can't wait to read much more from you. This is actually a tremendous web site.
پنجشنبه 12 مرداد 1396 09:11 ب.ظ
Greetings from California! I'm bored at work so I decided
to browse your blog on my iphone during lunch break.
I enjoy the knowledge you present here and can't wait to
take a look when I get home. I'm amazed at how quick your blog loaded on my cell phone ..

I'm not even using WIFI, just 3G .. Anyways, great blog!
جمعه 6 مرداد 1396 10:16 ب.ظ
Wow, awesome weblog structure! How lengthy have you been running a blog for?
you make running a blog look easy. The total look of your site is great, let alone the content material!
سه شنبه 13 تیر 1396 12:06 ق.ظ
Hey would you mind sharing which blog platform you're working with?
I'm planning to start my own blog soon but I'm having
a hard time deciding between BlogEngine/Wordpress/B2evolution and Drupal.
The reason I ask is because your design seems different then most blogs and I'm looking for something unique.

P.S Apologies for being off-topic but I had to ask!
یکشنبه 4 تیر 1396 10:35 ب.ظ
ریشه از خود نوشتن در حالی که صدایی
دلنشین ابتدا آیا نه کار کاملا با من پس از برخی از
زمان. جایی درون پاراگراف شما در واقع موفق
به من مؤمن اما تنها برای کوتاه در حالی که.

من هنوز مشکل خود را با فراز در منطق و شما ممکن است را خوب به کمک پر کسانی که شکاف.

اگر شما در واقع که می توانید انجام من خواهد بدون شک
بود مجذوب.
یکشنبه 4 تیر 1396 08:54 ب.ظ
We're a bunch of volunteers and opening a brand new scheme in our community.
Your website provided us with useful information to
work on. You've done a formidable activity and our whole community will likely be grateful to you.
یکشنبه 31 اردیبهشت 1396 09:10 ب.ظ
If some one needs expert view about blogging then i suggest him/her to go to see this
blog, Keep up the pleasant work.
دوشنبه 25 اردیبهشت 1396 06:40 ق.ظ
Hurrah! At last I got a weblog from where I be able to
in fact take valuable facts regarding my study and knowledge.
شنبه 19 فروردین 1396 11:01 ب.ظ
Hello there, You have done an incredible job. I'll definitely digg it and
personally suggest to my friends. I'm sure they will be benefited from this website.
یکشنبه 22 فروردین 1395 10:56 ق.ظ
ممنون از شما مطلب مفیدی بود
چهارشنبه 27 خرداد 1394 05:49 ب.ظ
ممنون مهندس جان خیلی کوتاه و مفید بود
من که حال کردم
شنبه 10 آبان 1393 11:37 ق.ظ
mmnun ba mafhume kolish ashna shodam
tooye erae azash estefade mikonm
پنجشنبه 6 تیر 1392 06:52 ب.ظ
خیلی خوب بود! من کلی دنبال معنی opengl گشتم اما بقیه جاها به این خوبی نگفته بودن! ممنون!
دوشنبه 9 مرداد 1391 11:39 ب.ظ
kheyli mamnoon vagean lotf kardid dastetoon dard nakone. kash nahveye rafe error haye barname hayi ke khataye opne Gl midan ro ham begid. mamnoon.
یکشنبه 1 آبان 1390 08:53 ق.ظ
آقا دستون درد نکنه واقعا جای تشکر داره و خالی از لطف نبود
ایرانی خواهش می کنم
سه شنبه 27 اردیبهشت 1390 03:58 ب.ظ
سلام
مطالب جالبی داخلش هست خیلی استفاده کردم
دوشنبه 12 اردیبهشت 1390 10:18 ب.ظ
مطلب خوبی بود ولی اوپن جی ال open standard است نه open source
ایرانی این open source بودن رو من نمی گم که حرفم رو پس بگیرم ... با یکم تحقیق و جستجو به open source بودن اپن جی ال پی خواهید برد .
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر