OpenGL tuzilishi
OpenGL funksiyalari mijoz-server texnologiyasi asosida yaratilgan. Ilovalar mijoz vazifasini bajaradi – ular buyruqlarni ishlab chiqadilar, server OpenGL esa ularni qayta ishlaydi va bajaradi. Server o‘zi mijoz joylashgan kompyutyerda joylashgan bo‘lishi ham mumkin (masalan, dinamik yuklanuvchi kutubxona ko‘rinishida – DLL), yoki boshqa kompyutyerda (ushbu holda mashinalar o‘rtasida ma’lumot almashinish uchun maxsus protokol qo‘llaniladi).
GL bir qancha tanlangan rejimlar bo‘yicha grafik primitivlarni kadr buferida chizadi va qayta ishlaydi. Har bir primitiv – bir nuqta, kesma, ko‘pburchak va boshqalar bo‘lishi mumkin. Har bir rejim boshqasiga bog‘liq bo‘lmagan holda o‘zgartirilishi mumkin. Primitivlarni aniqlash, rejimlarni tanlash va boshqa amallar kutubxona funksiyalarini chaqirish ko‘rinishidagi buyruqlar orqali tavsiflanadi.
Primitivlar bir yoki bir nechta uchlar (vertex) to‘plami yordamida aniqlanadi. Uch nuqta orqali ifodalanadi, kesma oxiri yoki ko‘pburchak uchi. Har bir uch atributlar deb ataluvchi ma’lum bir ma’lumotlarga ega (koordinatalar, rang, normal, tekstura koordinatalari va x.k.). Ko‘p hollarda uchlar bir biriga bog‘liqsiz holda qayta ishlanadi.
OpenGL grafik tizimi tuzilishi jihatidan grafik obyektlarni ketma-ket qayta ishlashning bir necha bosqichlaridan iborat konveyer hisoblanadi.
OpenGL buyruqlari har doim ularning kelishi tartibida amalga oshiriladi, biroq ularning hosil qilinish effektidan oldin to‘htalishlar bo‘lib qolishi mumkin. Ko‘p hollarda OpenGL aniq interfeysni taqdim etadi, ya’ni obyektning aniqlanishi uning kadr buferida vizualizasiya bo‘lishiga olib keladi.
Dasturchilar nuqtai nazarida, OpenGL – grafik qurilmalardan foydalanishni boshqarib turadigan buyruqlar to‘plamidir. Agarda qurilma faqatgina adreslangan kadr buferidan tarkib topgan bo‘lsa, u holda OpenGL markaziy prosessor resurslaridan foydalanish yordamida to‘liq amalga oshirilishi kerak. Odatda grafik qurilma turli darajadagi tezlikni ta’minlaydi: chiziq va ko‘pburchaklarni chiqarishdan geometrik malumotlar ustida turli amallarni qo‘llab murakkab grafik usullarni uskunaviy amalga oshirilishigacha.
3.2-rasm. OpenGL konveyerining funksionallashuvi.
OpenGL qurilma va foydalanuvchi darajalari o‘rtasidagi qatlam hisoblanib, qurilmalar imkoniyatlaridan foydalangan holda turli platformalarda yagona interfeysni taqdim etish imkonini beradi.
Bundan tashqari, OpenGLni chekli avtomat sifatida qarash mumkin, uning holati joriy normal, rang, tekstura koordinatalari va boshqa atributlar va alomatlar qiymatlari va maxsus o‘zgaruvchilarning ko‘pgina qiymatlari bilan belgilanadi. Ushbu axborotlarning barchasi ekranga chiqariladigan figuralarni qurish uchun uchlar koordinatasi grafik tizimiga kirishda ishlatiladi. Holatlarni almashtirish funksiyalarni chaqirish uchun ishlatiladigan buyruqlar orqali amalga oshiriladi.
Do'stlaringiz bilan baham: |