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


OpenGL da ishlash usullari



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

3.8. OpenGL da ishlash usullari


Ushbu paragrafda biz OpenGL yordamida, to‘g‘ridan-to‘g‘ri quvvatlanishi kutubxona standartida mavjud bo‘lmagan qiziqarli vizual effektlarni yaratishni ko‘rib chiqamiz.


Pog‘onalilikni bartaraf qilish.
Pog‘onalilikni (antialiasing) bartaraf qilish masalasidan boshlaymiz. Pog‘onalilik effekti (aliasing) buferning chekli (qoida sifatida, katta bo‘lmagan) ruxsati hisobiga kadr buferida primitivlarni rasterizasiyalashdagi xatoliklar natijasida yuzaga keladi. Ushbu muammoga hal qilish bo‘yicha bir necha yondashushlar mavjud. Masalan, olingan tasvirga filtrlashni qo‘llash mumkin. Shuningdek ushbu effektni, har bir primitiv ko‘rinishini tekislash, rasterizasiyalash bosqichida bartaraf qilish mumkin. Bu yerda biz barcha sahnani butun holi uchun o‘xshash umumiy dalillar bilan bartaraf qilish imkonini beruvchi usulni ko‘rib chiqamiz.
Har bir kadr uchun sahnani bir necha marta chizish zarur, har bir o‘tishda kamera boshlang‘ich holatiga nisbatan ozroq suriladi. Kameralarning joylashishi, masalan, doira hosil qilish mumkin. Agarda kamerani surilishi nisbatan kam bo‘lsa, unda diskretizasiya xatolari har xil bo‘lishi mumkin, va, olingan tasvirni o‘rtacha ko‘rinishga olib kelguncha biz tekis tasvirni olamiz.
Kuzatuvchi joyini ko‘chirish osonroq, lekin undan oldin ko‘chirish joyini shunday hisoblash kerakki, ekranga uzatilgan koordinatalar qiymati, piksellar yarmidan oshmasligi lozim.
Barcha hosil bo‘lgan tasvirlarni to‘plovchi buferda 1/n koeffisienti bilan saqlaymiz, bu yerda n-har bir kadr uchun o‘tish yo‘laklari soni. Bunday yo‘laklar qancha ko‘p bo‘lsa, unumdorlik shuncha pasayadi, lekin natija yaxshilanadi.
for(i=0; i/* odatda samples_count 5 dan 10 gacha bo‘lgan chegarada yotadi */
{
ShiftCamera(i); /* kamerani ko‘chiramiz */
RenderScene();
if (i==0)
/* birinchi iteratsiyada tasvirni yuklaymiz */
glAccum(GL_LOAD,1/(float)samples_count);
else
/* avval mavjud bo‘lganlarga qo‘shamiz */
glAccum(GL_ACCUM,1/(float)samples_count);
}
/*Olingan natijani orqaga boshlang‘ich buferga yozamiz */
glAccum(GL_RETURN,1.0);

Shuni aytish joizki, barcha sahna uchun pog‘onalilikni bartaraf qilish, qoida sifatida vizuallashtirish unumdorligining pasayishiga jiddiy ta’siri bilan bog‘liq. Negaki, har bir sahna bir necha marotaba chiziladi. Zamonaviy tezlashtiruvchilar odatda tasvir resamplingi deb ataluvchiga asoslangan boshqa usullarni apparatli amalga oshiradi.



Download 15,78 Mb.

Do'stlaringiz bilan baham:
1   ...   90   91   92   93   94   95   96   97   ...   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