گرافیک کامپیوتری opengl سایت گرافیک کامپیوتری opengl
درباره وبلاگ


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

مدیر وبلاگ : ایرانی
نویسندگان
برچسبها
چهارشنبه 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،

 

کتاب کامل آموزشی OPENGL با استفاده از زبان دلفی

 

فهرست موضوعی کتاب آموزشی:

  •  فصل اول : مقدمه و معرفی کتاب 
  • مقایسه ای بین opengl  و  direct-x توسط سرپرست تیم برنامه نویسی بازی های doom و quake -  آخر و عاقبت برنامه نویسی opengl 
  •  فصل دوم : برپایی پنجره مخصوص opengl
  • مفاهیم اولیه برنامه نویسی opengl - آغاز به کار با opengl - آشنایی با دستور زبان opengl - توضیح در مورد نوع های عددی opengl  - برنامه مربوط به این فصل
  •  فصل سوم :  مرجع توابع مرتبط سازنده opengl و ویندوز
  • مرجع windows gl - wgl مرجع توابع فرمت نقطه ای و پلات ها - ایجاد واحد spf 
  •  فصل چهارم : ترسیم اشکال اولیه دو بعدی : نقاط ، خطوط و چند ضلعی ها
  •  مقدمه - سیستم مختصات در opengl - تبدیلات در opengl - توابع دیگر ترسیم اشکال  اولیه در opengl - اولین برنامه فصل - دومین برنامه فصل - نحوه بررسی خطاها در opengl
  •  فصل پنجم : اختلاط رنگ ها و دوران
  •  مقدمه - توابع مورد استفاده - برنامه فصل
  •  فصل ششم : اشیاء سه بعدی
  •  فصل هفتم : نور پردازی ، مواد و دوربین ها
  •  نور در opengl - مروری بر توابع بخش نور پردازی - دو برنامه برای بخش دوربین ها و نورپردازی
  •  فصل هشتم : نگاشت بافت ها - texture mapping
  •  فصل نهم : لیست های نمایشی ( ایجاد و اجرا و فلسفه لیست های نمایشی - توابع مورد استفاده - برنامه فصل  )
  •  فصل دهم : سطوح و اشکال درجه دوم ( Quadratics ) - اشیاء درجه دوم 
  •  فصل یازدهم : ایجاد کتابخانه اشیاء - ایجاد کتابخانه glo 
  •  فصل دوازدهم : منحنی ها و رویه های بزییر ( bezier ) 
  •  فصل سیزدم : بارگزاری چند قالب بندی سه بعدی - بررسی فرمت RAW - بررسی فرمت GEM
  •  فصل چهاردهم : بکارگیری قلم های بیت مپی
  •  محدودیت های نمایش متن در opengl -  الگوریتم نمایش متن 2 بعدی opengl 
  •  فصل پانزدهم : نمایش متن توسط قلم های سه بعدی 
  •  فصل شانزدهم : افزودن مه به صحنه - الگوریتم نمایش مه در opengl 
  •  فصل هفدهم : انتخاب اشیاء - الگوریتم انتخاب اشیاء 
  •  فصل هجدهم : فارسی سازی opengl
  •  بیت مپ ها و فونت ها رستر raster  - نمایش فونت ها توسط لیست های نمایشی ...
  •  فصل نوزدهم : نگاشت محیط  - واحد textures 
  •  فصل بیستم : Nurbs - امکانات نوربز
  •  فصل بیست و یکم : انعکاس و مفروش سازی
  •  الگوریتم شبیه سازی انعکاس - مفروش سازی tesselation چند ضلعی - الگوریتم استفاده از امکانات مفروش سازی چند ضلعی - چند مثال در زمینه کاربرد آزمون استنسیل 
  •  فصل بیست و دوم : ایجاد برنامه های افزودنی سه بعدی برای winamp
  •  فصل بیست و سوم : خلق سایه - طریقه ایجاد سایه 
  •  فصل بیست و چهارم : ذخیره کردن تصاویر در فایل و تبدیل آنها به AVI
  •  دو روش مطمئن برای ذخیره سازی تصاویر opengl - تبدیل تصاویر ذخیره شده به یک فایل ویدیویی استاندارد ویندوز avi - نحوه تبدیل فایل های bmp به avi - 
  •  فصل بیست و پنجم : تشخیص تصادم
  • تشخیص تصادم با یک صفحه - با یک کره - تشخیص تصادم با یک استوانه - تشخیص تصادم با یک مخروط - تسخیص تصادف با بیضی گون ... سهمی گون ... مثلث ... سطح دوار ... هلالی ...
  •  فصل بیست و ششم : موارد تکمیلی نگاشت بافت ها و شفافیت 
  •  فصل بیست و هفتم : استفاده از امکانات ویژه کارت های گرافیکی سه بعدی
  • طریقه نام گذاری extensions در opengl - توضیحات بعضی از extensions بکار گرفته  شده در opengl - مقایسه توانایی های چند کارت گرافیکی متداول در ایران - لیست کامل از انواع اکستنشنز ها 
  •  فصل بیست و هشتم : طرز استفاده از opengl در c++ builder و  vc ++ studio - اسمبلی
  • استفاده از opengl در زبان اسمبلی 32 بیتی 
  •  فصل بیست و نهم : بکارگیری opengl در ویژوال بیسیک 6


 

قیمت این کتاب : ۵۰۰۰ تومان ( دانلود فهرست این کتاب)

قیمت سورس های برنامه همین کتاب ( به زبان دلفی ) : ۳۰۰۰ تومان

سورس ها + کتاب = 8000 تومان

نکته کنکوری  :   برای سفارش کتاب یا سورس های همین کتاب ( یا هردو  ) با شماره

 ( ۰۹۱۴۸۴۸۴۹۱۲ -  قره داغی  )  تماس حاصل فرمایید


توابع ساخت اشیاء به زبان دلفی در opengl کتاب  آموزشی opengl با زبان دلفی

 برنامه نویسی opengl چرخش مکعب - گرافیک کامپیوتری





نوع مطلب : کتاب و مقاله و تحقیق درباه opengl، 
برچسب ها : کتاب آموزشی کامل opengl، اموزش اپن جی ال به زبان دلفی، دانلود کتاب آموزشی کامل opengl با زبان برنامه نویسی دلفی،