Yadro OpenGL - Core OpenGL

Yadro OpenGL, yoki CGL, bo'ladi Apple Inc. Macintosh kvarsi oyna tizimi ga interfeys OS X amalga oshirish OpenGL spetsifikatsiya. CGL shunga o'xshash GLX, bu X11 OpenGL-ga interfeys, shuningdek WGL, bu Microsoft Windows OpenGL-ga interfeys.

Tarix

Barcha oyna tizimining interfeyslari OpenGL ning ko'chishi natijasida paydo bo'lgan Silikon grafikalar xususiy 3D grafik dastur dasturlash interfeysi (API ) IrisGL hozirgi OpenGL standart standart shakliga. IrisGL-ni ochiq standartga aylantirish to'g'risida qaror qabul qilinganda, asosiy dizayn o'zgarishi ushbu grafik standart API oyna tizimini agnostik qilish edi. Shuning uchun OpenGL-ga o'tishda barcha oyna tizimiga xos mantiq IrisGL-dan o'chirildi. Oyna tizimi mantig'iga klaviatura va sichqoncha kabi qurilmalardan ma'lumotlarni yig'ish uchun har qanday hodisa mexanizmi, shuningdek, zamonaviy oynali foydalanuvchi interfeysiga tortishda ishlatiladigan oynalarni buyurtma qilish yoki o'lchamlarni o'zgartirish mantig'i kiradi. Bundan tashqari, ba'zan OpenGL yaratish uchun IrisGL-dan deraza xotirasi buferlarining, ba'zan sirt deb ataladigan barcha ichki boshqaruvi olib tashlandi.

OpenGL oyna tizimining agnostikasi bilan Apple kabi kompaniyalar OpenGL-ni ko'rsatish uchun mo'ljallangan joy sifatida foydalaniladigan sirtlarni sozlash va boshqarish yukini ko'tarishlari kerak.

Xususiyatlari

Tizim interfeyslarini derazalash

OS X-da, CGL - bu OpenGL-ga oyna ochish tizimi interfeyslarining asosiy qatlami. Ikkalasi ham AGL (Apple Graphics Library) va Kakao (API) (yoki AppKit) OpenGL interfeyslariga ega va mantiqiy dasturiy qatlam bo'lib, ularning xatti-harakatlari uchun CGL ga bog'liq. CGL va AGL o'zaro erkin ishlaydi. CGL va kakaolardan birgalikda foydalanish mumkin, ammo kakao sinflari bevosita CGL holatiga o'zgartirishlar kiritishi mumkin. AGL va Kakaodan kelgan funktsional qo'ng'iroqlar aralashmasligi kerak.

Ushbu sirtlarni sozlash piksel formatini tanlash jarayoni orqali amalga oshiriladi, bu erda har xil mos keluvchi ma'lumot qatlamlari birlashtirilib, a hosil bo'ladi ramka buferi. Bunday qatlamlarga misol sifatida rang tamponlari, shaffoflik buferlari (alfa), shablon tamponlar va chuqurlik buferlari. CGL funktsiyasi CGLChoosePixelFormat bufer mosligini tekshirishni amalga oshirish uchun ishlatiladi. CGLChoosePixelFormat, kirish parametrlari va ularning skorlama siyosatiga asoslanib, grafik buyruqlarni qayta ishlash uchun ishlatiladigan asosiy ko'rsatuvchi tomonidan qo'llab-quvvatlanadigan mos bufer konfiguratsiyasini ifodalovchi piksel formatini tanlaydi. Rendererlar yoki tizimga o'rnatilgan grafik kartalarga mos keladigan qo'shimcha qurilmalarga asoslangan bo'lishi mumkin yoki ular asosiy bo'lgan dasturiy ta'minotga asoslangan bo'lishi mumkin Markaziy protsessor tizimning barcha grafik buyruqlarini qayta ishlash va yakuniy ishlov berish rasterizatsiya ish.

Mac OS X heterojenitesiyle ishlash

Mac OS X-da, CGL shuningdek, Macintosh tizimidagi grafik qurilmalar o'rnatilishi va konfiguratsiyasining heterojen xususiyatlarini boshqarish uchun javobgardir. Macintosh kompyuterlarida istalgan miqdordagi displey va grafik kartalar o'rnatilgan bo'lishi mumkin. Ushbu konfiguratsiyalarda foydalanuvchi ish stoli bir xil grafik sotuvchidan bo'lishi mumkin yoki bo'lmasligi mumkin bo'lgan bir nechta grafik kartalarga ulangan bir nechta displeylarda virtualizatsiya (kengaytirilgan) yoki aks ettirilishi mumkin.

Ko'rsatishni boshqarish

Virtuallashtirilgan ish stolidan foydalanish uchun foydalanuvchilar o'zlarining Macintosh-lari sozlanganda va derazalarni bitta displeydan boshqasiga surishganda, CGL OpenGL grafik holatini boshqarish bilan shug'ullanadi, ular orasida buyruqlar bilan ishlashning izchilligini ta'minlash uchun qurilmalar o'rtasida soyalanishi kerak. Ikki xil ko'rsatuvchi tomonidan qo'llab-quvvatlanadigan ikki xil displey o'rtasida Macintosh ish stoli bo'ylab oynani sudrab borish "Virtual Screen Change" deb nomlanadi.

CGL shuningdek, hozirda foydalanilayotgan ko'rsatuvchi haqida ma'lumot olish mexanizmini taqdim etadi. Mac OS X-da OpenGL holatini saqlaydigan asosiy ma'lumotlar tuzilishi a CGLContextObj. Ushbu CGL kontekstlarini istalgan vaqtda qo'ng'iroq yordamida olish mumkin CGLGetCurrentContext. The CGLContextObj keyin u bilan bog'liq bo'lgan renderning o'ziga xos xususiyatlari haqida so'ralishi mumkin.

Dastur ta'minoti

Shuningdek, Apple kompaniyasining o'z uyidagi OpenGL dasturi ham mavjud dasturiy ta'minot. Dastlab, bu oddiy tamsayılar to'plami edi, 10.3 da yangi suzuvchi nuqta taqdim etildi bu oxir-oqibat uni almashtirdi. Dasturiy ta'minot ko'rsatuvchisi, sekin bo'lsa ham, asosiy dasturlar va uchun juda tezdir to'liq xususiyatga ega rivojlantirish maqsadida OS X-ning OpenGL dasturini amalga oshirish bilan.

Shuningdek qarang

Tashqi havolalar