Компьютер графикаси


Obyektning ko‘zgudagi aksi



Download 15,78 Mb.
bet97/128
Sana14.07.2022
Hajmi15,78 Mb.
#795608
1   ...   93   94   95   96   97   98   99   100   ...   128
Bog'liq
1 O\'quv qo\'llanma Kompyuter grafikasi (1) (2)

Obyektning ko‘zgudagi aksi.


Bu bo‘limda biz tekis obyektlarni akslantirish algoritmlarini ko‘rib chiqamiz. Bunday aks qaytarishlar tasvir ko‘rinishida katta axamiyatga ega va ularni oson amalga oshirish mumkin.
Algoritm kuzgu bilan 2 ta to‘liq sahnani jamlaydi: “haqiqiy” va “virtual” ko‘zgu orqasida joylashgan. Demak, aksni chizish jarayoni ikki qismdan iborat: 1) Har daqiqa sahnaning vizualligi va 2) Virtuallarni qurilish va vizuallashi har bir “haqiqiy” obyekt uchun uning ikkinchisi – aksi ko‘riladi, ya’ni kuzatuvchi ko‘zguda ko‘riladi.
Misol uchun devorda osilib turgan ko‘zguli xonani tasavvur qilamiz. Xona va obyektlar shunaqa ko‘zgu ko‘rinishida, huddi, agar ko‘zgu shisha bo‘lsa ko‘rinadigan, uning orqasida ham huddi shunaqa ko‘zgu bor. Ular tekislikka nisbatan simmetrik – aksi berilgan, ko‘zgu tepasidan o‘tkazilgan.



3.9-rasm. Ko‘zgudagi tasvir.

Tekislik aksini yaratish algoritmning soddalashtirilgan varianti quyidagi qadamlardan iborat:



  1. Sahnani har doimgidek chizamiz, ammo ko‘zgu obyektlarisiz.

  2. Niqob buferi ishlatgan xolda, ekranga ko‘zgu proeksiyasining keyingi natijalarini cheklaymiz.

  3. Ko‘zgu tekisligiga nisbatan akslangan sahnani vizuallashtiramiz. Shunda niqob buferi ko‘zgu obyekti proeksiyasi shaklining natijasini cheklash imkonini beradi.

Bu harakat ketma-ketligi akslantirishning ishonchli samarasini olish imkonini beradi.
Bosqichlarni batafsil kurib chiqamiz.
Dastlab sahnani odatdagidek chizish kerak. Bu bosqichga batafsil to‘htalmaymiz. Chizishdan oldin bevosita OpenGL buferi tozalashda, niqob buferini tozalashni unutmaslik lozim:
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|
GL_STENCIL_BUFFER_BIT);

Sahnani vizuallashtirish vaqtida obyektlarni chizmagan ma’qul, keyinchalik ular ko‘zguda tasvirdek bo‘lib qoladi.


Ikkinchi bosqichda ekranga ko‘zgudagi obyekt proeksiyasining keyingi natijalarini cheklash zarur.
Buning uchun niqob buferini to‘g‘rilaymiz va ko‘zgu yasaymiz.
glEnable(GL_STENCIL_TEST);
/* shart doim bajariladi va buferdagi qiymat 1 ga teng bo‘ladi */
glStencilFunc(GL_ALWAYS, 1, 0);
glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE);

RenderMirrorObject();


Natijada biz quyidagiga ega bo‘ldik:



  • Kadr buferida ko‘zgu sohasidan tashqarida bo‘lgan aniq chizilgan sahna;

  • Ko‘zgu sohasida (biz akslantirishni ko‘rmoqchi bo‘lgan joyda) niqob buferi qiymati 1 ga teng.

Uchinchi bosqichda ko‘zgudagi obyekt tekisligiga nisbatan aks etuvchi sahnani chizish zarur.
Dastlab akslantirish matritsasini to‘g‘rilab olamiz. Akslantirish matritsasi tekislikka nisbatan butun geometriyani ko‘zguda akslantirish lozim, ko‘zgu – aksi yotgan obyektni ko‘rsatishi kerak. Uni topish mumkin, masalan, quyidagi funksiyalar orqali (mashq sifatida mustaqil ushbu matritsani olishga harakat qiling).
void

Download 15,78 Mb.

Do'stlaringiz bilan baham:
1   ...   93   94   95   96   97   98   99   100   ...   128




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish