Asosiy darajada OpenGL shunchaki spetsifikatsiya, ya'ni funktsiyalar to'plamini va ularning aniq harakatlarini tavsiflovchi hujjatdir. Uskuna ishlab chiqaruvchilari ushbu spetsifikatsiyadan ilovalarni yaratish uchun foydalanadilar - spetsifikatsiyadagi funktsiyalar to'plamiga mos keladigan funktsiyalar kutubxonalari. Amalga oshirish uskunaning imkoniyatlaridan samarali foydalanishga mo'ljallangan.
Agar apparat funktsiyani amalga oshirishga imkon bermasa, u dasturiy ta'minotda taqlid qilinishi kerak. Dasturiy ta'minot ishlab chiqaruvchilari OpenGL dasturiga kiritilishidan oldin bir qator muvofiqlik sinovlaridan o'tadilar. Dasturiy ta'minot ishlab chiqaruvchilari faqat spetsifikatsiyada tavsiflangan funktsiyalardan foydalanishni o'rganishlari kerakligi sababli, ularni amalga oshirish apparat ishlab chiqaruvchilariga topshiriladi.
Windows, Unix platformalari, PlayStation 3 va Mac OS uchun OpenGL-ning samarali dasturlari mavjud. Ushbu dasturlar odatda videoadapter ishlab chiqaruvchilari tomonidan ta'minlanadi va ikkinchisining imkoniyatlaridan faol foydalanadi. Shuningdek, OpenGL spetsifikatsiyasining ochiq manbali dasturlari mavjud, ulardan biri Mesa kutubxonasi. Litsenziyalash sabablariga ko'ra, Mesa OpenGL-ning "norasmiy" dasturidir, garchi u to'liq kodga mos kelsa va dasturiy ta'minotni taqlid qilishni ham, mos keladigan drayverlarga ega bo'lgan apparatni tezlashtirishni ham qo'llab-quvvatlasa.
OpenGL spetsifikatsiyasi 1992 yilda tashkil etilgan ARB (Architecture Review Board) konsortsiumi tomonidan qayta ko'rib chiqilmoqda. Konsortsium keng va qulay API yaratishga qiziquvchi kompaniyalardan iborat. Rasmiy OpenGL saytining ma'lumotlariga ko'ra 2004 yil noyabr oyidan boshlab ARB a'zolari ovoz berishning professional ovozi bilan SGI, 3Dlabs, Matrox va Evans & Sutherland (harbiy dasturlar), iste'molchilar uchun grafik uskunalar ishlab chiqaruvchi ATI va NVIDIA, protsessor ishlab chiqaruvchi Intel va kompyuter ishlab chiqaruvchilari. va IBM, Apple, Dell, Hewlett-Packard va Sun Microsystems kompyuter uskunalari hamda id Software Software dasturining etakchilaridan biri.
Microsoft, konsortsium asoschilaridan biri, 2003 yil mart oyida tark etdi. Doimiy a'zolardan tashqari, har yili bir yil davomida OpenGL ARB tarkibiga kirishga ko'plab boshqa kompaniyalar taklif etiladi. Turli xil manfaatlarga ega bo'lgan ko'plab kompaniyalar bilan OpenGL ko'plab imkoniyatlarga ega bo'lgan ko'p maqsadli APIga aylandi.
Arxitektura
OpenGL quyidagi ikkita maqsadga qaratilgan:
Ishlab chiquvchiga bitta API bilan ta'minlash orqali turli xil 3D tezlatgichlarini moslashtirishning murakkabligini yashiring.
Dasturiy ta'minotni taqlid qilish yordamida etishmayotgan funksiyalarni amalga oshirishni talab qilish orqali apparat platformalari imkoniyatlaridagi farqlarni yashirish.
OpenGL operatsiyasining asosiy printsipi - vektorli grafik ibtidoiylar to'plamlarini nuqta, chiziq va uchburchak shaklida olish, so'ngra olingan ma'lumotlarni matematik ishlov berish va ekranda va yoki xotirada raster tasvirni yaratish.
Vektorli o'zgartirishlar va rasterizatsiya asosan diskret avtomat bo'lgan grafik quvur orqali amalga oshiriladi. OpenGL buyruqlarining katta qismi ikkita guruhdan biriga kiradi: yoki ular quvur liniyasiga grafik ibtidoiylar qo'shadilar yoki ular turli xil konvertatsiyalarni amalga oshirish uchun quvur liniyasini sozlashadi.
OpenGL - bu dasturchini hosil bo'lgan bitmapni yaratish uchun aniq qadamlar ketma-ketligini belgilashga majbur qiladigan past darajadagi protsessual API (majburiy yondashuv). Bu butun sahna ma'lumotlar tuzilishi shaklida (ko'pincha daraxt) qayta ishlanib, ekranda qurilganida, deskriptor yondashuvlaridan asosiy farq. Bir tomondan, imperativ yondashuv dasturchidan uch o'lchovli grafikalar va matematik modellar qonunlarini chuqur bilishni talab qilsa, ikkinchi tomondan, bu turli xil yangiliklarni amalga oshirish erkinligini beradi.
Kengaytmalar
Do'stlaringiz bilan baham: |