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


Matritsalar bilan ishlash



Download 15,78 Mb.
bet72/128
Sana14.07.2022
Hajmi15,78 Mb.
#795608
1   ...   68   69   70   71   72   73   74   75   ...   128
Bog'liq
1 O\'quv qo\'llanma Kompyuter grafikasi (1) (2)

Matritsalar bilan ishlash.


OpenGLda sahna obyektlarini turlicha o‘zgartirishni ko‘rsatish uchun matritsalar ustida operatsiyalardan foydalaniladi, buning uchun matritsalar uch turga ajratiladi: modelli-tasvir, proeksiyalash matritsasi va teksturalash matritsasi. Ularning barchasi 4x4 o‘lchamga ega. Tasvirli matritsa obyektni parallel ko‘chirish, masshtabni o‘zgartirish va burish singari eng yuqori koordinatalarda o‘zgarishni belgilaydi. Proeksiyalash matritsasi, uch o‘lchovli obyektning ekran tekisligiga (oynali koordinatalarda) proeksiyalanishini belgilaydi, teksturlash matritsasi obyekt teksturalar bilan qoplanishini belgilaydi.
Koordinatani matritsaga ko‘paytirish, koordinatani belgilovchi (qoida sifatida, bu buyruq glVertex*) OpenGL ning tegishli buyrug‘ini chaqirish vaqtida sodir bo‘ladi.
Matritsani qanday o‘zgartirish kerakligiga qarab kerakli buyruqlar ishlatiladi:
void glMatrixMode (GLenum mode)
mode parametrli qiymatga ega bo‘lgan chaqiruv GL_MODELVIEW, GL_PROJECTION, yoki GL_TEXTURE larga teng bo‘lib, mos holda modelli tasvir matritsasi, proeksiyalash matritsasi yoki teksturalash matritsalari bilan ishlash rejimini qamrab oladi. U yoki bu tipdagi matritsani tayinlash buyrug‘ini chaqirish uchun, avvalo tegishli rejimni o‘rnatib olish zarur.
Joriy tipdagi matritsa elementlarini aniqlash uchun quyidagi buyruq chaqiriladi:
void glLoadMatrix [f d] (GLtype *m)
bu yerda m buyruqning nomlanishiga mos xolda float yoki double tipidagi 16 elementli massivni bildiradi. Bunday xolda dastlab unda matritsaning birinchi ustuni, so‘ngra ikkinchi, uchinchi va to‘rtinchi ustuni yozilishi kerak.
void glLoadIdentity (void) buyrug‘i joriy matritsani birlik matritsaga o‘zgartiradi.
Ko‘p hollarda joriy matritsa elementlarini saqlash talab qilinadi, buning uchun quyidagi buyruqlar ishlatiladi.
void glPushMatrix (void)
void glPopMatrix (void)
Ular joriy matritsani birlashmasidan yozib oladi va qayta tiklaydi, bunda har bir matritsa o‘zining birlashmasiga ega. Model-ko‘rinishli matritsalar uchun uning chuqurligi minimum 32 ga teng, boshqalar uchun minimum 2 ga teng.
Joriy matritsani boshqa matritsaga ko‘paytirish uchun quyidagi buyruq ishlatiladi:
void glMultMatrix [f d] (GLtype *m) .
bunda m parametr 4x4 o‘lchamli matritsani berishi kerak. Agar joriy matritsani M deb, yuboriladigan matritsani T deb belgilasak, unda glMultMatrix buyrug‘i bajarilganda M * T joriy matritsa bo‘lib qoladi. Biroq u yoki bu turdagi matritsani o‘zgartirish uchun, qiymati jihatidan kerakli matritsani hosil qilib joriy matritsaga ko‘paytiradigan maxsus buyruqlarni qo‘llash qulay.
Umuman olganda, sahnaning uch o‘lchamli obyektlarini ilova oynasida tasvirlash uchun rasmda ko‘rsatilgan ketma-ketlik bajariladi.

Normallangan koordinatalar




Download 15,78 Mb.

Do'stlaringiz bilan baham:
1   ...   68   69   70   71   72   73   74   75   ...   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