25
(2.4)
bu yerda,
– akslantirish funksiyalarining oltita sonli koef-
fitsiyentlari. Bu koeffitsiyentlarni topish uchun koordinatalarning
sonli qiymatlariga cheklanishlarni shakllantirib olish va ularni shu
koeffitsiyentlar bilan oltita tenglama ko‘rinishida ifodalash kerak.
2.1-rasmdagi misol uchun cheklanishlar sifatida bir xil
a, b
va
c
harflar bilan belgilangan primitiv va tekstura elementlari mosligi
o‘rnatiladi:
a
nuqta uchun (2.3) ifoda -
,
(2.4) ifoda -
.
b
nuqta uchun (2.3) ifoda -
,
(2.4) ifoda -
c
nuqta uchun (2.3) ifoda -
,
(2.4) ifoda -
.
Tenglamalar yechimi koeffitsiyentlarning qiymatlarini beradi:
Natijada
akslantiruvchi
funksiya quyidagi ko‘rinishni oladi:
va u primitivning ixtiyoriy nuqtasi uchun teksturani hisoblashga
imkon beradi.
Akslantirishning chiziqli funksiyasi tadbiqi juda sodda va
hisoblash tizimidan katta resurs sarfi talab qilmaydi. Biroq u
teksturalashning eng past sifatini beradi. Kvadratik parabola va
splayn-funksiyada tekstura koordinatasini interpolyatsiyalash ancha
sifatli, biroq ancha sekin teksturalashni beradi.
Egri
chiziqli primitivlar uchun, misol uchun, ikkinchi tartibli
sirtlar bo‘lganda, akslantirish funksiyasi umuman olganda nochiziqli
bo‘ladi. Bu funksiyani primitiv-sirtning har bir elementi uchun
hisoblash zarur bo‘ladi va bu ko‘p hisoblash vaqti talab qiladi.
Bundan tashqari, aks ettirishning realligini oshirish maqsadida
zamonaviy grafik tizimlarda multiteksturalash qo‘llaniladi, ya’ni
bitta primitivga bir nechta tekstura aralash qo‘llaniladi.
Bu usul
teksturalashga hisoblash xarajatlarini oshirib yuboradi, shuning
26
uchun odatda, geometrik almashtirishlardan so‘ng egri chiziqli
primitivlar tekis poligonlar bilan approksimatsiyalanadi. Poligonlar
ekran tekisligiga poligonlar ko‘rinishida proeksiyalanadi. Ularni
ekranda bo‘yash primitiv proeksiyasiga tegishli bo‘lgan
vatar yoki
kvada bo‘ylab amalga oshiriladi. Teksturalash jarayonini
tezlashtirish uchun tekstura koordinatalarining aniq qiymatlari
faqatgina chegaraviy fragmentlar uchun hisoblanadi, oraliq
fragmentlar uchun tekstura koordinatalari interpolyatsiya yordamida
taxminan topiladi.
Obyektni olib tashlashda kuzatuvchi koordinatalar tizimida
uning ko‘rinuvchi o‘lchamlari ekranda kichiklashadi. Bu
teksturaning bir nechta elementlari bitta pikselga proeksiyalanishini
bildiradi. Ma’lumki, bu hol uchun har bir piksel biror bir o‘rtacha
rang yorqinligi
bilan yoritilishi kerak, aks holda tasvirning rang
buzilishi ro‘y beradi. Real vaqt rejimida o‘rtacha rang yorqinligini
amalga oshirmaslik uchun uni oldindan bajarib qo‘yiladi.
Tasvirlashning dastlabki bosqichida har xil mukammallikdagi
teksturasi ierarxiyasi (piramidasi) tuziladi. Ierarxiyaning eng quyi
qatlamini dastlabki tekstura tashkil etadi,
keyingi qatlamning
teksturasi oldingi qatlam teksturasini 4 karra (har bir koordinata
bo‘ylab 2 karradan) siqish yo‘li bilan olinadi. Siqish jarayonida
teksellar rang yorqinligi o‘rtachasi olinadi. Ierarxiyaning eng yuqori
qatlamida teksturalanayotgan obyektning maksimal uzoqlikdagisiga
mos keluvchi tekstura turadi. Real vaqt bosqichida primitivning
kuzatuvchidan uzoqligi aniqlangandan so‘ng tekstura piramidasidan
bu uzoqlikka mos keluvchi tekstura tanlanadi. Piramidadan
foydalanib teksturalash mip-mapping [18] deb nomlanadi. Ierarxiya
teksturasi ularni saqlash uchun xotira sarfini uchdan birgacha
oshiradi. Zamonaviy grafik tizimlarda
tekstura qoplash apparat
tomonidan qo‘llab-quvvatlanadi.
Uch o‘lchovli obyektlarni tasvirlashda reallikni oshirish uchun
bir yoki bir nechta yorug‘lik manbaida ularni yoritilishini model-
lashtirish kerak bo‘ladi. Yorug‘likning yutilishi, sinishi, qaytishi
kabi fizik qonuniyatlariga asoslanib yoritilganlikni aniq hisoblash
ancha murakkab ish va shuning uchun yoritilganlikning
soddalashtirilgan
modellaridan
foydalaniladi.
Eng
sodda
modellardan biri tarqoq yorug‘lik manbaida
yoritilganlikni hamda
27
nuqtali yorug‘lik manbaidan yoritilganlikning diffuz va shu’la
komponentlarini hisobga oladi [18]. Primitiv sirti elementida
Do'stlaringiz bilan baham: