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



Download 15,78 Mb.
bet83/128
Sana14.07.2022
Hajmi15,78 Mb.
#795608
1   ...   79   80   81   82   83   84   85   86   ...   128
Bog'liq
1 O\'quv qo\'llanma Kompyuter grafikasi (1) (2)

Teksturani tayorlash.


Teksturadan foydalanish uchun, oldin xotiraga kerakli tasvirni joylashtirish va uni OpenGL ga uzatish kerak.
Grafikaviy ma’lumotlarni fayldan o‘qishni va ularni almashtirishini qo‘lda bajarish mumkin. Shu bilan birga GLAUX (undan foydalanish uchun qo‘shimcha ravishda glaux.lib ni bog‘lash kerak bo‘ladi) kutubxonasiga kiruvchi muhim amallarni o‘zi bajaradigan funksiyadan foydalanish mumkin. Bu funksiya
AUX_RGBImageRec* auxDIBImageLoad (const char *file)
bu yerda file – *.bmp yoki *.dib kengaytmali fayl nomi. Funksiya ko‘rsatkichni qayta ishlangan ma’lumotlar saqlanadigan xotira sohasiga qaytardi.
Xotirada tekstura obrazini hosil qilishda quyidagi talablarni hisobga olish kerak.
Birinchidan, teksturaning o‘lchamlari, ham gorizontal bo‘yicha, ham vertikal bo‘yicha o‘zida ikkining darajalarini aks ettirishi lozim. Bu talab teksturani tekstura xotirasida kompakt holda qo‘yilishini ko‘zda tutadi va uning samarali qo‘llanilishini ta’minlaydi. Faqat shunday teksturalar bilan ishlash noqulay, shuning uchun joylashtirilgandan keyin ularni almashtirish kerak. Tekstura o‘lchamlarini quyidagi buyruq yordamida o‘zgartirish mumkin:
void gluScaleImage (GLenum format, GLint widthin,
GL heightin, GLenum typein,
const void *datain,
GLint widthout,
GLint heightout, GLenum typeout,
void *dataout)


Format parametrining qiymati sifatida odatda ma’lumotlarni saqlash formatini belgilaydigan GL_RGB yoki GL_RGBA qiymati ishlatiladi. widthin, heightin, widhtout, heightout parametrlari kiruvchi va chiquvchi tasvirlarining o‘lchamlarini aniqlaydi, typein va typeout yordamida esa datain va dataout manzillarida joylashgan massiv elementlarining turi beriladi. Odatiy holga o‘xshash bu GL_UNSIGNED_BYTE, GL_ShORT, GL_INT va boshqa turlar bo‘lishi mumkin. Funksiya o‘z ishining natijasini dataout parametrini ko‘rsatadigan xotira sohasiga kiritadi.
Ikkinchidan, obyekt rasterizasiyadan keyin o‘lchamlari jihatidan unga qo‘yiladigan teksturadan kichkina bo‘lib qolishi holini ko‘zda tutish kerak. Obyekt qanchalik kichkina bo‘lsa, unga qo‘yiladigan tekstura ham shunchalik kichkina bo‘lishi kerak, shuning uchun ham teksturani detalizasiyalash pog‘onalari degan tushuncha kiritiladi (mipmap). Detalizasiyaning har bir pog‘onasi originalning ikki baravar kichiklashtirilgan nusxasi sifatidagi qandaydir tasvirni beradi. Bunday yondashuv obyektga tekstura qo‘yishni osonlashtiradi. Masalan, 2mx2n o‘lchamdagi tasvir uchun detalizasiyaning turli pog‘onalariga mos keluvchi max(m,n)+1 kichiklashtirilgan tasvirlarni qurish mumkin.
OpenGL ning ichki xotirasida tekstura obrazini yaratishning bu ikki pog‘onasini quyidagi buyruqlar yordamida olib borish mumkin:
void gluBuild2DMipmaps (GLenum target, GLint components,
GLint width, GLint height,
GLenum format, GLenum type,
const void *data)
bu yerda target parametri GL_TEXTURE_2D ga teng bo‘lishi kerak. components parametri teksturaning rang komponentlarini aniqlaydi va quyidagi asosiy qiymatlarni qabul qilishi mumkin:

Download 15,78 Mb.

Do'stlaringiz bilan baham:
1   ...   79   80   81   82   83   84   85   86   ...   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