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



Download 15,78 Mb.
bet66/128
Sana14.07.2022
Hajmi15,78 Mb.
#795608
1   ...   62   63   64   65   66   67   68   69   ...   128
Bog'liq
1 O\'quv qo\'llanma Kompyuter grafikasi (1) (2)

Uchlar va primitivlar


Uchlar (nuqta) OpenGL ning grafik primitivlari hisoblanadi va nuqtani, kesmaning oxiri, ko‘pburchakning burchagi va boshqalarni tavsiflaydi. Qolgan barcha primitivlar uchlarni tayinlash orqali shakllantiriladi. Masalan, kesma ikkita uchlar orqali ifodalanadi.
Har bir uch bilan birga uning atributlari ham mavjud. Asosiy atribut sifatida uchning fazodagi holati, uchning rangi va vektor normallarini olish mumkin.

Uchlarning fazodagi holati

Uchlarning holati ikki, uch yoki to‘rt o‘lchovli (bir jinsli koordinatalar) fazoda uning koordinatalarini tayinlash orqali belgilanadi. Bu glVertex* buyrug‘ini bir qancha variantlari yordamida amalga oshiriladi:


void glVertex [2 3 4][s i f d] (type coords)
void glVertex[2 3 4][s i f d]v (type *coords)
Har bir buyruq uchlarning to‘rtta koordinatasini tayinlaydi: x, y, z, w. glVertex2* buyrug‘i x va y qiymatlarini qabul qiladi. Bunday holatda z koordinatasi 0 ga teng, w koordinatasi – 1 ga teng.
Vertex3* buyrug‘i x, y, z koordinatalarini qabul qiladi va w koordinatasiga 1 qiymatini kiritadi.
Vertex4* barcha to‘rtta koordinatalarni tayinlash imkonini beradi.
Uchlar rangi, normallar va teksturlar koordinatalarini birlashtirish uchun mavjud ma’lumotlarning joriy qiymatlari ishlatiladi. Ushbu qiymatlar ixtiyoriy vaqtda tegishli buyruqni chaqirish yordamida o‘zgartirilishi mumkin.


Uchlar rangi


Uchlarning joriy rangini tayinlash uchun quyidagi buyruqlar ishlatiladi:
void glColor[3 4][b s i f] (GLtype components)
void glColor[3 4][b s i f]v (GLtype components)
Dastlabki uchta parametr rangning R, G, B komponentlarini tayinlaydi, oxirgi parametr notiniqlik koeffisienti (alfa-qism deb ataluvchi)ni belgilaydi. Agarda buyruqning nomlanishida ‘f’ (float) tipi ko‘rsatilgan bo‘lsa, unda barcha parametrlar qiymatlari [0,1] kesma oralig‘ida joylashishi kerak, bunday holda alfa-qism qiymati 1.0 ga tenglashtirilishi o‘rnatiladi. ‘ub’ (unsigned byte) tipi qiymat [0,255] kesmada joylashishi kerakligi ko‘zda tutadi.
Uchlarga turli xil ranglarni tayinlash mumkin, agarda mos rejim yoqilgan bo‘lsa. Unda primitiv sirti bo‘ylab ranglarning chiziqli interpolyasiyasi amalga oshiriladi.
Interpolyasiya jarayonini boshqarish uchun quyidagi buyruqdan foydalaniladi
void glShadeModel (GLenum mode)
chaqiruv GL_SMOOTH parametr bilan berilsa, interpolyasiya qo‘shiladi (tanlangan parametr asosida), GL_FLAT parametr berilsa esa ajratadi, o‘chiradi.

Normal


Normallarni ifodalash uchun quyidagi buyruqlardan foydalaniladi
void glNormal3[b s i f d] (type coords)
void glNormal3[b s i f d]v (type coords)

Yorug‘lik hisobini to‘g‘ri olish uchun normal vektori yagona uzunlikka ega bo‘lishi zarur. glEnable(GL_NORMALIZE) buyrug‘i maxsus buyruqlarni qo‘shishi mumkin, bunda tayinlanayotgan normal avtomatik normallashadi.


Avtomatik normallash rejimi modelli kengayish-torayish almashtirilishi ishlatilganda yoqilgan bo‘lishi kerak, chunki bu holda normal uzunligi model-matritsasiga ko‘paytirilganda o‘zgaradi. Ammo ushbu rejimni joriy qilish OpenGL ning vizuallashtirish mexanizmi ishini sekinlashtiradi, xuddi shunday vektorlarni normallash hisoblashning sezilarli qiyinchiliklariga olib keladi (kvadrat ildiz olish va b.). Shuning uchun birdaniga yagona normalni berish ma’qul.
Eslatib o‘tish kerakki,
void glEnable (GLenum mode)
void glDisable (GLenum mode)
buyruqlari OpenGL konveyerining u yoki bu ish rejimini o‘chirilishi yoki yoqilishini ta’minlaydi. Ushbu buyruqlar ko‘p hollarda qo‘llaniladi va ularning parametrlari har bir aniq holatlar uchun qaraladi.



Download 15,78 Mb.

Do'stlaringiz bilan baham:
1   ...   62   63   64   65   66   67   68   69   ...   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