شركت سيليكون گرافيكس SGI OpenGL را با هدف ساخت يك API براي توسعه برنامه‌هاي گرافيكي دوبعدي و سه بعدي عرضه‌كرده‌است. پيش از ساخته شدن  APIهاي گرافيكي مانندOpenGL و DirectX، بسياري از توليدكنندگان سخت‌افزار، كتابخانه‌هاي گرافيكي مختلف و متفاوتي داشتند. به همين دليل پشتيباني از نسخه‌هاي مختلف نرم‌افزارهايشان روي پلتفرم‌هاي سخت‌افزاري مختلف هزينه‌بر و انتقال يك برنامه كاربردي از يك پلتفرم سخت‌افزاري به پلتفرم سخت‌افزاري ديگر بسيار وقت‌گير و سخت بود.

بنابراين SGI نمونه برنامه‌اي را توليد كرد كه توليدكنندگان سخت‌افزار بايد از آن براي توسعه درايورهاي OpenGL در سخت‌افزارهايشان استفاده كنند. اين برنامه به صورت اپن ‌سورس ارائه شده‌است. ولي سازندگان اين سخت‌افزارها مي‌توانند قابليت‌هاي گوناگوني را برپايه OpenGL در سخت‌افزار هايشان ايجاد كنند. تصميم‌گيري درباره ايجاد تغييرات در OpenGL را كنسرسيوم ARB اتخاذ مي‌كند.

اين كنسرسيوم شامل اعضاي مهمي همچون اپل، اينتل، آي‌بي‌ام، سان، ATI، دل، NVIDIA، سيليكون‌گرافيكس و۳Dlabs است و از سوي شركت‌هاي معتبر ديگري مانند متراكس، S3 ،Xi و Quantum 3D حمايت مي‌شود. توسعه‌دهندگان نرم‌افزار براي استفاده از OpenGL در نرم‌افزارهايشان نيازي به اخذ مجوز ندارند. ولي توليد كنندگان سخت‌افزار براي پياده‌سازي سخت‌افزاري OpenGL نيازمند اخذ مجوز از SGI هستند.

OpenGL دقیقا به عنوان یک “رابط نرم افزاری برای سخت افزار گرافیکی” تعریف شده است.در ماهیت خود یک کتابخانه مدل سازی و گرافیک سه بعدی میباشد که بسیار سریع و قابل انتقال است. با استفاده از OpenGL شما میتوانید تصاویر سه بعدی زیبا و جذابی طراحی کنید. بزرگترین فایده استفاده از OpenGL اینست که فوق العاده از یک ردیاب نور (ray tracer ) سریعتر است. OpenGL از الگوریتمهایی استفاده میکند که توسط شرکت Silicon Graphics توسعه یافته و بهینه شده است.

SGIیک رهبر تائید شده در دنیای گرافیک کامپیوتری و انیمیشن میباشد.

OpenGL یک زبان برنامه نویسی مانند c یا c++ نیست. OpenGL بیشتر شبیه کتابخانه زمان اجرای C می باشدکه یک سری توابع از پیش بسته بندی شده را تدارک دیده. در عمل چیزی به نام برنامه OpenGL وجود ندارد. وقتی ما میگوییم این یک برنامه OpenGL است یعنی در ساختار این برنامه از OpenGL به عنوان API گرافیکی اش استفاده کرده است همانطور که ما از توابع API ویندوز استفاده میکنیم تا بتوانیم به فایلها و امکانات شبکه ای و غیره ویندوز دسترسی پیدا کنیم. همین طور هم ما از توابع OpenGL استفاده میکنیم تا بتوانیم گرافیک سه بعدی بلادرنگ طراحی کنیم.

IRIS GL در ابتدا یک کتابخانه دوبعدی بود که پیشرفت کرد و به OpenGL تبدیل شد. در حقیقت OpenGL نتیجه تلاشی بود که شرکت SGI برای اصلاح و بهبود IRIS GL کرد.

OpenGL استاندارد به سازندگان شخصی سخت افزار گرافیکی این اجازه را میدهد که قابلیت های افزودنی خودشان را با عنوان Extension تهیه کنند که ممکن است بعضی از محدودیت های توابع OpenGL را کم کند یا راحت تر کند و یا اینکه قابلیت های جدیدی را به آن بیفزاید. Extensionها از توابع و ثابت های جدیدی ساخته شده اند که قابلیت های جدیدی را به OpenGL استاندارد می افزایند.

هر سازنده سخت افزار گرافیکی یک اختصار الفبایی مخصوص به خود برای نامگذاری Extension های خودش دارد. برای مثال شرکت NVIDIA از حروف اختصاری NV برای نامگذاری Extension هایی که درست میکنند استفاده میکنند.

OpenGL 2.0 توسط شرکت ۳D Labs ایجاد شد که نگران راکد ماندن و نداشتن یک مدیریت قوی برای

OpenGL بود. . این شرکت قابلیت های جدیدی را به OpenGL اضافه کرد که پر اهمییت ترین آنها زبان سایه زنی GLSL بود.

این قابلیت برنامه نویسان را قادر میساخت که خطوط لوله تکه و راس تابع ثابت OpenGL را با سایه زن های نوشته شده در زبانی شبیه به Cتعویض کنند.

در اوايل پيدايش OpenGL ، از اين API در كارهاي صنعتي، طراحي وسايل داخلي، مكانيكي و نيز در آناليزهاي علمي و آماري استفاده مي‌شد.

در سال ۱۹۹۶، نويسندگان و توسعه‌دهندگان بازي‌هاي كامپيوتري از نسخه ويندوزي OpenGL براي ساخت بازي‌هاي كامپيوتري استفاده كردند. OpenGL براي پشتيباني از گستره وسيعي از تكنيك‌هاي رندركردن گرافيكي پيشرفته طراحي شده است كه مي‌توان پاره‌اي از آن‌ها را به اين‌صورت نام برد:

نورپردازي: قابليت تحليل ميزان رنگ هنگام تابش مدل‌هاي متفاوت نور به يك سطح از يك يا چند منبع نور مختلف.

سايه‌سازي نرم: قابليت تحليل افكت‌هاي سايه هنگام تابش نور به يك زاويه و ايجاد اختلا‌ف نور خفيف در مقابل آن سطح،مانند نور كمي كه هنگام تابش آفتاب به يك صخره يخي در اطراف آن ايجاد مي‌شود.

حركت محو ومدل‌سازي: توانايي تغيير مكان و اندازه پرسپكتيو يك شي در فضاي سه بعدي.

مجموعه امكانات OpenGL شبيه Direct3D است. ولي API سطح پايين‌تر آن (نزديك‌تر به سطح سخت‌افزار) باعث مي‌شود كنترل خوبي روي عناصر اصلي ايجاد صحنه‌هاي سه بعدي مانند اطلا‌عات سه‌ضلعي‌ها كه سلول‌هاي تشكيل‌دهنده يك مدل سه بعدي هستند داشته باشد.

دو سطح پشتيباني از شتاب‌دهندگي سخت‌افزاري براي OpenGL وجود دارد: installing client driver) ICDs) كه به نوردهي ايجاد تغيير و رستركردن (تبديل يك فريم سه بعدي چند ضلعي ذخيره شده درframe buffer به يك تصوير كامل با بافت‌ها و نشانه‌هاي عمق و نور) شتاب مي‌دهد و mini client server) MCs) كه از رستركردن پشتيباني مي‌كند.

OpenGL 1.4 و OpenGL 1.5 به‌ترتيب در تابستان ۲۰۰۲ و ۲۰۰۳ معرفي شدند كه هر يك امكانات و كاربردهاي بيشتري از نسخه‌هاي پيش از خود داشتند. بزرگ‌ترين آن‌ها OpenGL Shading Language بود؛ زباني ويژه برنامه‌نويسي vertex-shader و pixel-shader كه در صورت نياز به OpenGLالصاق مي‌شد. OpenGLShading Language زباني شد كه به سرعت در سطح گسترده‌اي مورد پشتيباني يونيكس، ويندوز، لينوكس و ديگر سيستم‌عامل‌ها براي توسعه‌دهنده گرافيك‌هاي تعاملي و برنامه‌هاي كاربردي ترسيمي قرار گرفت.

 

OpenGL 2.0

 OpenGL 2.0آخرين نسخه عرضه شده تا اوايل سال ۲۰۰۶ ميلا‌دي است. OpenGL Shader Language همراه با اين نسخه عرضه شده و بر پايه استاندارد ANSYC طراحي شده است. برخي قابليت‌هاي تازه اين نسخه عبارتند از:

سايه‌زني قابل برنامه‌ريزي به‌وسيله OpenGL Shader Language و APIهاي آن. قدرت ايجاد Shader و برنامه‌نويسي اشيا، بخش ديگري از تغييرات ايجاد شده در اين نسخه است.

رندر چندگانه كه به shaderهاي قابل برنامه‌نويسي امكان مي‌دهد در بافرهاي خروجي چندگانه در يك گذر مقادير مختلفي بنويسند.

بافت‌هاي دو طرفه، با قابليت تعريف كاربرد آن بافت براي سطح جلو و پشت يك مدل اوليه كه كيفيت حجم سايه و كارايي الگويم‌هاي رندر هندسي اشياي سخت را ارتقا مي‌دهد.

– Spriteهاي نقطه كه مختصات بافت يك نقطه را با مختصات بافت قرار داده شده در مقابل آن نقطه جابه‌جا مي‌كنند و رسم نقاط را در بافت‌هاي طراحي شده در كامپيوترهاي معمولي نيز ممكن مي‌سازند.بافت‌هاي Non-power-of-two كه براي همه انواع بافت‌ كاربرد دارد كه در نتيجه از بافت‌هاي چهارگوش پشتيباني مي‌نمايد و درعمل حافظه كمتري اشغال مي‌كند.

 

OpenAL

OpenAL، يك API ديگر است كه براي ايجاد و مديريت صداهاي سه بعدي در بازي‌هاي كامپيوتري و ديگر انواع نرم‌افزارها به صورت يك پروژه مشترك ميان شركت Loki Software و Creative ساخته شده است.كتابخانه اين API مجموعه‌اي از صداهاي قابل حركت در فضاي سه‌بعدي را مدل‌سازي مي‌كند. عناصر اصلي OpenAL شامل يك شنونده، يك منبع و يك بافر است. ممكن است تعداد زيادي بافر وجودداشته باشد كه شامل داده‌هاي صوتي هستند. هر بافر مي‌تواند به يك يا چند منبع ضميمه شود. هميشه يك عنصر شنونده (براي محتواي صوتي) وجود دارد كه موقعيت مكاني منبع صوتي كه صداي آن شنيده مي‌شود را نشان مي‌دهد. OpenAL در موتورهاي گرافيكي Epic Games Unreal نيز براي ساخت افكت‌هاي صوتي به كار مي‌رود.

 

OpenGL Performer

OpenGL Performer، رابط برنامه‌نويسي قدرتمند و كاملي است كه توسعه‌دهندگان براي شبيه‌سازي بصري از آن استفاده مي‌كنند. ابزارهاي موجود در آن، توسعه برنامه‌هاي شبيه‌سازي بصري، طراحي بر اساس شبيه‌سازي، واقعيت مجازي، نرم‌افزارهاي علمي، سرگرمي‌هاي تعاملي، برنامه‌هاي ويديويي و طراحي با كامپيوتر را آسان مي‌كند. اين رابط برنامه‌نويسي به برنامه‌نويسان امكان مي‌دهد از قابليت‌هاي سيستم به صورت بهينه استفاده كنند. آخرين نسخه اين نرم‌افزار OpenGL Performer 3.2 است.

 

OpenGL Volumizer

OpenGL Volumizer، يك API گرافيكي است كه در بخش‌هاي انرژي، توليد، داروسازي و تجارت كاربرد دارد. اين API براي انجام كارهاي تعاملي با كيفيت بالا‌ و بصري نمودن و شبيه‌سازي يك محيط با استفاده از مجموعه بزرگي از داده‌هاي حجمي (داده‌هايي كه مختصات يك شي در فضاي سه بعدي را نشان مي‌دهند) طراحي شده است. براي نمونه در نرم‌افزارهاي پزشكي براي شبيه‌سازي وضعيت بخش خاصي از بدن، از اين نرم‌افزار استفاده مي‌شود. OpenGL Volumizer آخرين نسخه اين API تا اوايل سال ۲۰۰۶ ميلا‌دي است كه بر پايه كتابخانه گرافيكي استانداردOpenGL ساخته شده و شامل رابط كلا‌س ++C و قابل‌استفاده در سيستم‌عامل‌هاي ويندوز و لينوكس ۳۲بيتي و ۶۴‌بيتي است.

 

OpenGL Multipipe SDK

OpenGL Multipipe SDK يك لا‌يه API است كه مديريت برنامه‌هاي گرافيكي را در زير سيستم‌ها و ساختارهاي گرافيكي چندگانه آسان مي‌كند. برنامه‌هاي كاربردي نوشته شده برپايه اين API به نرمي و رواني، هم روي سيستم‌هاي روميزي تك پردازنده‌اي و هم روي سيستم‌هاي چند پردازنده‌اي با سيستم‌هاي گرافيكي قدرتمند اجرا مي‌شوند.

 

نتيجه‌گيري‌:

همان‌گونه كه بيان شد ارتباط بين برنامه‌ها و سخت‌افزاري كه آن‌را اجرا مي‌كند برعهده API است. سازندگان بزرگ نرم‌افزار و سخت‌افزار APIخاصي را براي برنامه‌هاي مالتي‌مديا آماده كرده‌اند كه مطرح ترين آن‌ها DirectX و OpenGL هستند.




ساعات کاری و پذیرش دستگاه شنبه تا چهارشنبه از ساعت 10 صبح الی 18 بعدازظهر ،مشاوره تلفنی در ساعات کاری و فقط از طریق شماره تلفن های همراه اعلام شده امکان پذیر است

استفاده از مطالب سایت SupportNotebook.ir فقط برای مقاصد غیر تجاری و با ذکر منبع بلا مانع است. کليه حقوق اين سايت متعلق به پشتیبان نوت بوک می‌باشد.