اوپن‌جی‌ال

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

ساختارهای برنامه نویسی[ویرایش]

در GL متغیر نداریم، یعنی در هیچ یک از منابع استاندارد حتی یک متغیر تعریف نشده‌است، این بدان معنا نیست که شما نمی‌توانید از متغیر استفاده کنید بلکه بدان معنی است که خود سیلیکون متغیری در GL تعریف نکرده‌است.

در GL همواره ثوابت را به شکل زیر و با حروف بزرگ تعریف می‌کنند: GL_TEXTURE_2D همیشه ثوابت با حروف GL بزرگ شروع می‌شوند و با یک _ ادامه می‌یابند سپس نام ثابت و اگر این ثابت اندازه داشته باشد مجدداً _ و مقدار یا مشخصه ثابت قرار می‌گیرد.

در GL توابع نیز به شکل زیر تعریف می‌شوند: glVertex3f همیشه توابع با gl کوچک یا اگر از کتابخانه کمکی استفاده شوند glu شروع می‌شوند در ادامه نام تابع وارد می‌شود که در اینجا Vertex به معنی نقطه‌است و در ادامه تعداد یا مشخصه اصلی نام تابع وارد می‌شود که در اینجا ۳ وارد شده و در نهایت نوع مقدار و مشخصه وارد می‌گردد که در این مثال f به معنی float یا (اعشاری) است.

در Gl تعدادی قابلیت ثابت برای کارتهای گرافیکی مختلف و جود دارد که معمولاً شرکتهای سازنده کارت گرافیکی آنها را اضافه می‌کنند.

تاریخچه[ویرایش]

IRIS GL در ابتدا یک کتابخانه دوبعدی بود که پیشرفت کرد و به OpenGL تبدیل شد. در حقیقت OpenGL نتیجه تلاشی بود که شرکت SGI برای اصلاح و بهبود IRIS GL کرد. OpenGL استاندارد به سازندگان شخصی سخت افزار گرافیکی این اجازه را میدهد که قابلیت های افزودنی خودشان را با عنوان Extension تهیه کنند که ممکن است بعضی از محدودیت های توابع OpenGL را کم کند یا راحت تر کند و یا اینکه قابلیت های جدیدی را به آن بیفزاید. Extension ها از توابع و ثابت های جدیدی ساخته شده اند که قابلیت های جدیدی را به OpenGL استاندارد می افزایند. هر سازنده سخت افزار گرافیکی یک اختصار الفبایی مخصوص به خود برای نامگذاری Extension های خودش دارد. برای مثال شرکت NVIDIA از حروف اختصاری NV برای نامگذاری Extension هایی که درست میکنند استفاده میکنند. OpenGL 2.0 توسط شرکت 3D Labs ایجاد شد که نگران راکد ماندن و نداشتن یک مدیریت قوی برایOpenGL بود. . این شرکت قابلیت های جدیدی را به OpenGL اضافه کرد که پر اهمییت ترین آنها زبان سایه زنی GLSL بود.

نحوه استفاده[ویرایش]

از این کتابخانه در همه زبانهای برنامه نویسی با قابلیت ساخت برنامه اجرایی یا Application می‌توان استفاده کرد. در اکثر این زبانها کار با GL به یک شکل است، به طوری که شما اگر بتوانید در Visual Cpp برنامه مبتنی بر GL بنویسید می‌توانید همان برنامه را نیز در Visual Basic باز نویسی کنید. مثالهای متنوع از کاربرد GL را در اکثر زبانهای برنامه نویسی می‌توانید در سایت نئون هلیم بیابید. نحوه استفاده از GL بسیار ساده‌است که شامل مراحل زیر می‌شود(ممکن است در بعضی از زبانها این مراحل کمتر یا بیشتر باشد)این مثال برای زبانهای C & Cpp نوشته شده‌است.

  • فراخوانی منابع GL

مثال:

#include <GL\gl.h>

  • ساخت متغیری برای جایگیری محتویات رندر و تنظیمات پیکسل

مثال:

HGLRC hRc=NULL;

int m_PixelFormat;

  • تنظیمات پیکسل فرمت

مثال:

PIXELFORMATDESCRIPTOR pfd

  • تنظیمات در گاه نمایش

مثال:

این قسمت از کار باید در مرجع توابع مربوط به اندازه پنجره برنامه انجام گیرد، برای اینکار تابع OnSize بسیار مناسب است.استفاده از تابع فریم بندی پنجره در GL با نام ViewPort

  • تخریب GL اینکار برای زمانی انجام می‌گیرد که کاربر برنامه را می‌بندد، حالا برنامه باید بتواند کلیه منابعی را که از سیستم در اختیار گرفته بود آزاد سازد. بهترین راه این کار استفاده از توابع wgl است.
  • ترسیم اشیاع در GL، این بخش رندر نیز محسوب می‌شود، زیرا ما تمامی اشیاعی که نمایش می‌دهیم را در این قسمت رسم می‌کنیم.

نگارخانه[ویرایش]

منابع[ویرایش]

جستجو در ویکی‌انبار در ویکی‌انبار پرونده‌هایی دربارهٔ اوپن‌جی‌ال موجود است.