موضوع مقاله: اوپن‌جی‌ال | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # اوپن‌جی‌ال | مقدمه: اوپن‌جی‌ال یک رابط برنامه‌نویسی نرم‌افزار چندزبانه و چندسکویی برای برای ارائه گرافیک برداری دو بعدی و سه بعدی است. | ## بخش 1: اوپن‌جی‌ال | اپن‌جی‌ال مخفف Open Graphic Library (کتابخانهٔ گرافیکی باز) است ولی اپن‌جی‌ال خود به هیچ‌وجه یک کتابخانهٔ نرم‌افزاری نیست و نرم‌افزار متن‌باز نیز به حساب نمی‌آید (چون حاوی هیچ کدی نیست)؛ اوپن‌جی‌ال، تنها استانداردی باز برای توصیف یک رابط گرافیکی است که توسط شرکت‌های متعددی توسعه داده‌شده و می‌تواند توسط درایورهای گرافیک، سیستم‌عامل‌ها و نرم‌افزارهای مختلف پیاده‌سازی شود. اوپن‌جی‌ال توسط شرکت سیلیکون گرافیکس از سال ۱۹۹۱ توسعه یافت و در سال ۱۹۹۲ منتشر شد و به‌صورت گسترده در زمینه‌های طراحی به کمک رایانه، واقعیت مجازی، مصورسازی، بصری‌سازی اطلاعات، شبیه‌سازهای پرواز و بازی‌های ویدئویی به‌کار گرفته‌شد. گروه کرونوس آخرین نسخه‌ی اوپن جی ال را در سال ۲۰۱۷ به مناسبت ۲۵ سالگی اوپن جی ال منتشر کرد و در حال حاضر ولکان به عنوان نسل جدید اوپن جی ال در حال توسعه میباشد. طراحی اوپن‌جی‌ال یک رابط برنامه‌نویسی نرم‌افزار انتزاعی را برای گرافیک دوبعدی و سه‌بعدی توصیف می‌کند. اگرچه که ممکن‌است این رابط به‌صورت کاملاً نرم‌افزاری پیاده‌سازی شود، ولی اوپن‌جی‌ال طراحی‌شده تا تقریباً کامل و یا کاملاً به شیوه‌ی سخت‌افزاری پیاده‌سازی شود. اگرچه تعریف توابع شبیه زبان برنامه نویسی سی به نظر می‌رسند ولی مستقل از زبان هستند. اوپن‌جی‌ال هیچ چیزی دربارهٔ گرفتن و مدیریت یک محیط اوپن‌جی‌ال نمی‌گوید و آن را به‌عنوان جزئیات سیستم پنجره‌بندی رها می‌کند. | ## بخش 2: اوپن‌جی‌ال | به همین دلیل، اوپن‌جی‌ال به‌طور خالص به پردازش تصویری توجه می‌کند و هیچ رابطی را دربارهٔ ورودی، صدا و پنجره فراهم نمی‌کند. نسخه‌های جدید اوپن‌جی‌ال به‌طور منظم توسط گروه کرونوس منتشر می‌شوند که هر یک آن را برای پشتیبانی از ویژگی‌های جدید مختلفی گسترش می‌دهد. جزئیات هر نسخه با اجماع بین اعضای این گروه از جمله سازندگان کارت گرافیک ، طراحان سیستم عامل و شرکت های فناوری عمومی مانند موزیلا و گوگل تعیین می شود. افزون‌بر ویژگی‌های جدیدی که توسط هستهٔ رابط برنامه‌نویسی مورد نیاز هستند، فروشندگان واحد پردازش گرافیکی ممکن است قابلیت‌های جدید را به شکل افزونه ارائه دهند. افزونه‌ها ممکن است ویژگی‌ها یا ثابت‌های جدیدی معرفی کنند یا ممکن است محدودیت‌هایی توابع فعلی اوپن‌جی‌ال را کاهش یا پاک کنند. فروشندگان می‌توانند بدون نیاز به پشتیبانی دیگر فروشندگان از افزونه‌ها برای نمایش رابط‌های سفارشی خود بهره ببرند که به‌مقدار زیادی انعطاف‌پذیری اوپن‌جی‌ال را افزایش می‌دهد. اگر چند فروشنده بر سر قابلیتی مشابه با رابط برنامه‌نویسی به‌توافق برسند این افزونهٔ مشترک ممکن است با شناسهٔ EXT منتشر گردد. | ## بخش 3: اوپن‌جی‌ال | در این موارد ممکن است هیئت بررسی معماری گروه کرونوس تأیید روشن خود را به افزونه بدهد در این صورت از شناسهٔ ARB استفاده می‌شود. ویژگی‌های جدید معرفی‌شده توسط هر نسخه معمولاً با ترکیب قابلیت‌های افزونه‌های گسترده پیاده‌سازی‌شدهٔ به خصوص افزونه‌های از نوع ARB و EXT هستند. کتابخانه‌های وابسته نسخه‌های اولیه اوپن‌جی‌ال با کتابخانهٔ همراهی که GLU، کتابخانهٔ ابزار اوپن‌جی‌ال خوانده می‌شد عرضه می‌شد. جی‌ال‌یو قابلیت‌های ساده و مفیدی از قبیل Mipmap سازی و موزاییک‌کاری که بعید به‌نظر می‌رسید در سخت‌افزارهای آن زمان حمایت شوند را فراهم می‌کرد. مشخصات GLU آخرین بار در ۱۹۹۸ به‌روز شد و نسخه‌های اخیر به قابلیت‌هایی که استفاده از آن توسط اپن‌جی‌ال ۳٫۱ با انتشار اپن‌جی‌ال در سال ۲۰۰۹ منسوخ اعلام‌شده وابسته است. با در نظرگرفتن اینکه ایجاد زمینه فرایند پیچیده‌ای است و همچنین بین سیستم‌عامل‌های مختلف متفاوت است، ایجاد خودکار زمینهٔ اوپن‌جی‌ال ویژگی مشترکی بین کتابخانه‌های توسعهٔ بازی و رابط کاربری است از جمله اس‌دی‌ال، Allegro, SFML, FLTK و کیوت. | ## جمع‌بندی | اولین نمونهٔ چنین کتابخانه‌هایی جی‌ال‌یوتی (که بعداً توسط فری‌جی‌ال‌یوتی جایگزین شد) بود.