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


Operatorli qavslar glBegin / glEnd



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

Operatorli qavslar glBegin / glEnd


Biz yuqorida bitta uchning atributlarini tayinlashni ko‘rib chiqdik. Ammo, grafik primitiv atributlarini tayinlash uchun, uchning bitta koordinatasi etarli emas. Ushbu uchlarni zaruriy xususiyatni belgilovchi bir butunlikka birlashtirish kerak. Buning uchun OpenGL da operatorli qavs deb ataluvchi maxsus buyruqlarni chaqirishda xizmat qiluvchilardan foydalaniladi. Primitivlarni belgilash yoki primitivlar ketma-ketligi
void glBegin (GLenum mode);
void glEnd (void);
buyruqlarini chaqirish oralig‘ida olib boriladi.





3.3-rasm. OpenGL primitivlari.


Mode parametri primitivning tipini belgilaydi, qaysiki ichkarida tayinlanadi va quyidagi qiymatlarni qabul qilishi mumkin:
GL_POINTS har bir uchlar bir qancha nuqtalar koordinatalarini belgilaydi.
GL_LINES har bir alohida uchlar juftligi kesmani belgilaydi; agarda toq sonli uchlar ko‘rsatilsa, u holda oxirgi uch e’tiborga olinmaydi.
GL_LINE_STRIP har bir keyingi uch oldingisi bilan birgalikda kesmani belgilaydi
GL_LINE_LOOP oldingi primitivdan farqli jihati shuki, oxirgi kesma so‘ngi va birinchi uchni belgilaydi, berk to‘g‘ri chiziq timsolida.
GL_TRIANGLES har bir alohida uchta uch uchburchakni belgilaydi; agarda uchta sonli uchlar karrali berilmasa, unda oxirgi uchlar e’tiborga olinmaydi.
GL_TRIANGLE_STRIP har bir keyingi uch oldingi ikkitasi bilan birgalikda uchburchakni belgilaydi.
GL_TRIANGLE_FAN uchburchaklar birinchi uch va har bir keyingi juft uchlar bilan beriladi (juftliklar kesishmaydi).
GL_QUADS har bir alohida to‘rtta uch to‘rtburchakni belgilaydi; agarda to‘rtta sonli uchlar karrali berilmasa, unda oxirgi uchlar e’tiborga olinmaydi.
GL_QUAD_STRIP n nomerli to‘rtburchak 2n-1, 2n, 2n+2, 2n+1 nomerli uchlar bilan belgilanadi.
GL_POLYGON qavariq ko‘pburchakning uchlarini ketma-ket berish.

Masalan, uchlari turli rangda bo‘lgan uchburchakni chizish uchun, quyidagilarni yozish etarli:


GLfloat BlueCol[3] = {0,0,1};


glBegin(GL_TRIANGLES);
glColor3f(1.0, 0.0, 0.0); /* qizil */
glVertex3f(10.0, 10.0, 0.0);
glColor3ub(0,255,0); /* yashil */
glVertex2i(100, 100);
glColor3fv(BlueCol); /* ko‘k */
glVertex3f(100.0, 100.0, 0.0);
glEnd();
Qoida sifatida, primitivlarning har xil turlari turlicha platformalarda turlicha vizuallashish tezligiga ega. Unumdorlikni oshirishda, serverga uzatish uchun kam sonli axborotlarni talab etuvchi, GL_TRIANGLE_STRIP, GL_QUAD_STRIP, GL_TRIAGLE_FAN singari primitivlardan foydalanish afzalroqdir.
Mazkur ko‘pburchaklarni tayinlashdan tashqari, ularni ekranda akslantirish usullarini ham berish mumkin.
Ammo dastlab old va orqa yoq tushunchalarini belgilab olish lozim.
Yoq deganda ko‘pburchakning tomonlaridan biri tushuniladi, va odatda soat strelkasiga teskari aylanuvchi uchlar joylashgan tomon old hisoblanadi. Old yoqning uchlari aylanish yo‘nalishini quyidagi buyruqni chaqirish orqali o‘zgartirish mumkin
void glFrontFace (GLenum mode)
mode parametrining qiymati GL_CW (clockwise) ga teng, qiymatni odatdagi holatiga qaytarish uchun GL_CCW (counter-clockwise) ni ko‘rsatish kifoya.
Ko‘pburchakni tasvirlash usulini o‘zgartirish uchun quyidagi buyruq ishlatiladi
void glPolygonMode (GLenum face, Glenum mode)
mode parametri ko‘pburchak qanday akslanishishini belgilaydi, face parametri ko‘pburchakning tipini o‘rnatishda qo‘llaniladi va quyidagi qiymatlar ham qabul qilinishi mumkin:

Download 15,78 Mb.

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