GL_OBJECT_PLANE tekislik berishga imkon beradi, ungacha bo‘lgan masofani inersiya yordamida ishlatiladi, agar GL_OBJECT_LINEAR tartibi o‘rnatilgan bo‘lsa. Bu vaziyatda params parametri tekislik tenglamasining to‘rtta koeffisienti massivga ko‘rsatgich hisoblanadi.
GL_EYE_PLANE Oldingi qiymatga o‘xshash. GL_EYE_LINEAR rejimi uchun tekislikni berish imkoniyatini beradi.
Tekstura koordinatalarini tayinlashning avtomatik rejimini o‘rnatish uchun glEnable buyrug‘ini GL_TEXTURE_GEN_S yoki GL_TEXTURE_GEN_P parametrlari bilan chaqirish kerak.
Animatsiya va tekstura olinishidan foydalanilgan dastur D.3 ilovada keltirilgan.
Nazorat savollari:
Tekstura o‘zi nima va qanday maqsadda ishlatiladi?
Tekstura bilan ishlash ketma-ketligini tushuntiring?
Tekstura koordinatalari nima va ularni obyekt uchun qanday berish mumkin?
Agar tekstura o‘zida devorda osib qo‘yiladigan suratni aks ettiradigan vaziyatda material (GL_MODULATE, GL_REPLACE) bilan o‘zaro ta’sirlashishning qanday usulidan foydalanish zarur?
Obyektga tekstura berish buyrug’i qanday ifodalanadi?
OpenGL da tekstura koordinatalarini generasiyalash usullaridan sizga ma’lum bo‘lganlarini keltiring?
Teksturani batafsil tekshirish bosqichi (mip-mapping) nima uchun ishlatiladi?
Teksturani filtrasiyalash rejimi nima va OpenGL da ular qanday beriladi?
Tayanch iboralar: Tekstura, tekstura obrazi, tekstura parametrlari, detallashtirish, teksturalar qo‘yish, teksturali koordinata.
3.7. Piksellar ustida amallar
Uchlar koordinatalarini o‘zgartirish bo‘yicha barcha amallarni olib borilgandan so‘ng rang va boshqalarni hisoblashda OpenGL rasterizasiyalash bosqichiga o‘tadi. Bu bosqichda teksturani qo‘yish, tuman effektlarini qo‘yish, barcha primitivlarni rasterizasiyalash ishlari amalga oshiriladi. Ushbu jarayonning natijasi har bir primitiv uchun kadr buferi sohasida egallangan, ushbu sohaning har bir pikseliga rang va chuqurlik qiymati yozilishi hisoblanadi.
OpenGL ushbu axborotni kadr buferida yangilangan malumotlarni yozish uchun ishlatadi. Buning uchun OpenGL nafaqat alohida qayta ishlov berish piksellar konveyeriga ega, shuningdek unda qo‘shimcha turli vazifalarni bajaradigan bufer ham mavjud. Bu dasturlovchiga eng quyi darajada vizual jarayonni nazorat qilish imkonini beradi.
OpenGL grafik kutubxonasi quyidagi buferlar ishini ta’minlaydi:
rangning bir qancha buferlari
chuqurlik buferi
to‘plovchi bufer (akkumulyator)
niqob buferi
Rang buferlari guruhida kadr buferi ham mavjud, lekin bunday bufer bir qancha bo‘lishi mumkin. Ikkitali buferizasiyalashdan foydalanganda ishchi (front) va fonli (back) bufer haqida gap boradi. Qoida sifatida fonli buferda dastur tasvirni hosil qiladi, keyin uni birato‘la ishchi buferiga qo‘chiradi. Ekranda faqatgina rang buferlari haqidagi axborot namoyon bo‘lishi mumkin.
Chuqurlik buferi ko‘rinmas sirtlarni o‘chirish uchun ishlatiladi va ular bilan to‘g‘ridan to‘g‘ri ishlash kamdan-kam talab qilinadi.
To‘plovchi bufer har xil operatsiyalar uchun ishlatiladi. U xaqda to‘liq ma’lumot 3.3 bo‘limda keltirilgan.
Niqob buferi piksellar niqobini (trafaretlarni) shakllantirish uchun ishlatiladi. Umumiy massivlardan kerakli ekranga uzatish deb lozim topilgan piksellarni qirqib beradi.
Do'stlaringiz bilan baham: |