OpenGL چیست؟
زمان کنونی: 1397-05-30, 03:17 ق.ظ
خوش آمدید، مهمان! (ورودثبت نام)
http://uploader.bushehrteam.com/do.php?imgf=137519987016081.jpg آموزش کوتاه روز : آیا می دانستید در محیط کد نویسی سی شارپ با دستور ";(System.Diagnostics.Process.Start("calc"" می توانید برنامه ماشین حساب ویندوز را اجرا کنید.
 ( آموزشهای کوتاه خود را در هر زمینه ای و در هر سطحی از طریق این لینک برای ما  بفرستید تا با نام خودتان روزانه در این قسمت قرار بگیرد)
قابل توجه اعضا و بازدیدکنندگان محترم سایت : دامنه کوتاه BUTM.IR در کنار دامنه اصلی ( BushehrTeam.Com ) به وب سایت متصل هست و می توانید به جای استفاده از دامنه BushehrTeam.Com  از دامنه BUTM.IR برای بازدید از سایت استفاده نمایید . . .

ارسال پاسخ 
 
امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
اشتراک موضوع در Digg delsios Reddit Facebook Twitter StumbleUpon
OpenGL چیست؟
نویسنده پیام
********
مدیر ارشد


MeySam OmRaNi
وضعيت : آفلاین
ارسال ها:203
تاریخ ثبت نام:خرداد 1392
اعتبار: 6
سن: 31
ساکن: بوشهر
حالت من: شاد
سپاس ها: 1705
سپاس شده 629 بار در 187 ارسال

ارسال: #1
OpenGL چیست؟
OpenGL چیست؟

[تصویر: Opengl-logo.gif]

در این مقاله می خواهم اطلاعات مختصر و مفیدی در باره چیستی 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 ) ها ایجاد شده اند .

[تصویر: directx-11-logo.png]

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

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















آدمی برای لذت بردن از زندگی به آرامش نیاز دارد

و

برای چگونه زندگی کردن به دانش
1392-04-29 08:18 ب.ظ
یافتن همه ی ارسالهای این کاربر نقل قول این ارسال در یک پاسخ
 سپاس شده توسط Reza.Heydari ، sentak ، bakhtiari azad ، Arash2012 ، nahid ، sajad safaie
**
کاربر سایت


کاربر سایت
وضعيت : آفلاین
ارسال ها:17
تاریخ ثبت نام:خرداد 1392
اعتبار: 2
سن: 23
ساکن: Boushehr
حالت من: عادی
سپاس ها: 35
سپاس شده 67 بار در 19 ارسال

ارسال: #2
RE: OpenGL چیست؟
با درود به میثم و بچه های عزیز بوشهر تیم
یه سوال
رو یه سیستم میخواستم یه بازی نصب کنم که با این پیام خطا مواجه شدم که میگه رندر کردن OpenGL رو پشتیبانی نمیکنه
[تصویر: 41014567975955855450.jpg]
در ضمن گرافیک سیستم مورد نظر هم مدل ATI Radeon HD 4650 هست ، آیا راه حلی برای اجرای این برنامه دارید؟















[size=medium]از عجایب عشق است: تنها همان آغوشی آرامت می سازد که دلت را به درد می آورد
1392-04-30 07:13 ب.ظ
یافتن همه ی ارسالهای این کاربر نقل قول این ارسال در یک پاسخ
 سپاس شده توسط omrani.meysam63 ، sentak ، Reza.Heydari ، bakhtiari azad ، sajad safaie
********
مدیر ارشد


MeySam OmRaNi
وضعيت : آفلاین
ارسال ها:203
تاریخ ثبت نام:خرداد 1392
اعتبار: 6
سن: 31
ساکن: بوشهر
حالت من: شاد
سپاس ها: 1705
سپاس شده 629 بار در 187 ارسال

ارسال: #3
RE: OpenGL چیست؟
سلام دوست عزیز
اطلاعات کارت گرافیک ATI فوق رو نگاه کردم
OpenGl رو ساپورت میکنه ولی چرا این خطا رو داده؟
به نظر من در اینجا تنظیمات نرم افزاری و سیستم عاملی میتونه باعث بوجود اومدن خطا باشه
ATI Radeon HD 4650
OpenGL 2.0, PCI-E 2.0 x16, Powerplay, DisplayPort support up to 2560x1600, HDMI support up to 1920x1080 (both with 7.1 AC3 Audio), 1x Dual-Link/Single-Link DVI, 1x Single-Link DVI Support (all display ports have to be supported by the laptop manufacturer)















آدمی برای لذت بردن از زندگی به آرامش نیاز دارد

و

برای چگونه زندگی کردن به دانش
1392-04-31 12:36 ق.ظ
یافتن همه ی ارسالهای این کاربر نقل قول این ارسال در یک پاسخ
 سپاس شده توسط sentak ، Arash2012 ، Reza.Heydari ، bakhtiari azad ، sajad safaie
*****
مدیر بخش
مدیر بخش هک و امنیت
وضعيت : آفلاین
ارسال ها:80
تاریخ ثبت نام:تير 1392
اعتبار: 8
سن:
ساکن:
حالت من:
سپاس ها: 196
سپاس شده 322 بار در 81 ارسال

ارسال: #4
RE: OpenGL چیست؟
(1392-04-30 07:13 ب.ظ)Arash2012 نوشته شده توسط:  با درود به میثم و بچه های عزیز بوشهر تیم
یه سوال
رو یه سیستم میخواستم یه بازی نصب کنم که با این پیام خطا مواجه شدم که میگه رندر کردن OpenGL رو پشتیبانی نمیکنه
[تصویر: 41014567975955855450.jpg]
در ضمن گرافیک سیستم مورد نظر هم مدل ATI Radeon HD 4650 هست ، آیا راه حلی برای اجرای این برنامه دارید؟

سلام
درایور کارت گرافیکتون نصبه ؟ شاید با آپدیت درایور کارت گرافیک مشکل حل بشه















[url=http://khabarup.net/]قیمت دلار
1392-04-31 02:01 ق.ظ
یافتن همه ی ارسالهای این کاربر نقل قول این ارسال در یک پاسخ
 سپاس شده توسط Arash2012 ، omrani.meysam63 ، Ehsan.Teimouri ، Reza.Heydari ، bakhtiari azad ، sajad safaie
**
کاربر سایت


عضو اصلی بوشهرتیم
وضعيت : آفلاین
ارسال ها:41
تاریخ ثبت نام:خرداد 1392
اعتبار: 2
سن: 24
ساکن: تنگستان
حالت من: سرحال
سپاس ها: 205
سپاس شده 139 بار در 40 ارسال

ارسال: #5
RE: OpenGL چیست؟
ارش جون فقط یه دایریکس ابدیت نصب کن درست میشه به راجتی















[size=medium]We are CE: [size=x-large]Computer [size=x-large]Engineers

!!!!! ....."[size=x-large]Master by default"
1392-04-31 10:51 ب.ظ
مشاهده سایت این کاربر یافتن همه ی ارسالهای این کاربر نقل قول این ارسال در یک پاسخ
 سپاس شده توسط Reza.Heydari ، Arash2012 ، sentak ، omrani.meysam63 ، bakhtiari azad ، sajad safaie
********
مدیر ارشد
مدیر ارشد سایت
وضعيت : آفلاین
ارسال ها:304
تاریخ ثبت نام:خرداد 1392
اعتبار: 10
سن: 25
ساکن: بوشهر
حالت من: شاد
سپاس ها: 1004
سپاس شده 1364 بار در 313 ارسال

ارسال: #6
RE: OpenGL چیست؟
سلام مهندس ،آرش عزیز
امیدوارم با راه حل احسان تیموری و کاربر Sentak  و همینطور اطلاعات میثم عمرانی عزیز ، مشکلت برطرف شده باشه .
بازهم اگر با با آپدیت درایور گرافیک و یا نصب ورژن جدید DirectX  مشکل حل نشد ، سخت افزارهای مورد نیاز برای نصبش +  سخت افزارهای سیستم خودت رو چک کن.
و بازهم اگر مشکلت حل شد یا نشد اینجا پست بزار ببینیم چیکار کردی. مرسی.















پیروزی آن نیست که هرگز زمین نخوری، آنست که بعد از هر زمین خوردنی برخیزی.(مهاتما گاندی)
انجمن تخصصی برنامه نویسی و نرم افزار بوشهرتــیــــــــم
1392-04-31 11:26 ب.ظ
مشاهده سایت این کاربر یافتن همه ی ارسالهای این کاربر نقل قول این ارسال در یک پاسخ
 سپاس شده توسط sentak ، Arash2012 ، omrani.meysam63 ، bakhtiari azad ، sajad safaie
**
کاربر سایت


کاربر سایت
وضعيت : آفلاین
ارسال ها:17
تاریخ ثبت نام:خرداد 1392
اعتبار: 2
سن: 23
ساکن: Boushehr
حالت من: عادی
سپاس ها: 35
سپاس شده 67 بار در 19 ارسال

ارسال: #7
RE: OpenGL چیست؟
سلام
در وعده اول مرسی از همه شما عزیزان که کمک کردید
این مشکل برای سیستم دوستم پیش اومده بود ، در واقع این پیام خطا موقعی که فایل setup رو میخاستم اجرا کنم بهم میداد
اولش  DirectX نصب کردم اما بازم خطا میداد
درایور کارت گرافیکش نصب بود و اما آپدیت نبود...
آپدیت کردم و پیام خطا از بین رفت
اما بازم مشکلی پا بر جا بود...
بازی که اجرا میشد به قسمتی از اون که میرسید ناگهان صفحه پرش می کرد و بعد با یه خطا دیگه خارج میشد
که این مشکل رو هم با یه ایمیل به بخش پشتیبانی شرکت سازنده کارت گرافیکش حل کردم (از اون جایی که انگلیسیم خیلی ی ی ی ی خوبه 10 یه متنی نوشتم که خودم نمیتونستم منظور خودم رو بفهمم و وقتی هم میدادم به Google Translate هنگ میکرد ، خلاصه نمیدونم چطور فهمیدن منظورم چیه ، ای ول دارن ، کارشون خیلی درسته) 113
در جوابش لینک یه فایل DLL بهم داد که اون رو دانلود کردم و در سیستم مورد نظر کپی کردم و همه چیز درست شد...
ممنون از راهنمایی و همکاری میثم جان ، sentak گرامی ، احسان گل که من خیلی دوستش دارم و آقا رضای عزیز 53















[size=medium]از عجایب عشق است: تنها همان آغوشی آرامت می سازد که دلت را به درد می آورد
(آخرین ویرایش در 1392-05-01 05:54 ب.ظ توسط: Arash2012. دلیل ویرایش : )
1392-05-01 05:52 ب.ظ
یافتن همه ی ارسالهای این کاربر نقل قول این ارسال در یک پاسخ
 سپاس شده توسط Reza.Heydari ، sentak ، omrani.meysam63 ، bakhtiari azad ، sajad safaie
ارسال پاسخ 


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع:

دوستان ما