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



Download 15,78 Mb.
bet78/128
Sana14.07.2022
Hajmi15,78 Mb.
#795608
1   ...   74   75   76   77   78   79   80   81   ...   128
Bog'liq
1 O\'quv qo\'llanma Kompyuter grafikasi (1) (2)

GL_AMBIENT_AND_DIFFUSE glMaterial*() buyrug‘ini pname GL_AMBIENT va GL_DIFFUSE qiymati hamda params bir xil qiymatlari bilan ikki marta chaqirishga ekvivalent.
Bundan kelib chiqadiki, glMaterial[i f]() buyrug‘ini chaqirish faqat materialning ko‘zguli akslanish darajasi o‘rnatilishi uchungina mumkin bo‘ladi. glMaterial[i f]v() buyrug‘i qolgan parametrlarni berish uchun ishlatiladi.
face parametri bu material beradigan yoqlar turini aniqlaydi va GL_FRONT, GL_BACK yoki GL_FRONT_AND_BACK qiymatlarini qabul qilishi mumkin.
Agar sahnada obyektlarning materiallari faqat bitta parametr bilan farqlansa, glEnable() ni GL_COLOR_MATERIAL parametri bilan chaqirib kerakli rejimni o‘rnatish tavsiya etiladi, keyin esa quyidagi buyruqdan foydalaniladi:
void glColorMaterial (GLenum face, GLenum pname)
bu yerda, face parametri yuqorida ko‘rsatilgan ma’noga ega, pname parametri esa barcha sanab o‘tilgan qiymatlarni qabul qilishi mumkin. Bundan keyin pname aniq obyektning materiali xossalari yordamida olingan qiymatlar glColor*() buyrug‘ini chaqirish orqali o‘rnatiladi va bu ko‘p resurslarni talab qiladigan glMaterial*() buyrug‘i chaqirilishini oldini oladi hamda dastur samaradorligini oshiradi.

Material xossalarini aniqlashga misol:


float mat_dif[]={0.8,0.8,0.8};
float mat_amb[] = {0.2, 0.2, 0.2};
float mat_spec[] = {0.6, 0.6, 0.6};
float shininess = 0.7 * 128;

glMaterialfv (GL_FRONT_AND_BACK,GL_AMBIENT, mat_amb);
glMaterialfv (GL_FRONT_AND_BACK,GL_DIFFUSE, mat_dif);
glMaterialfv (GL_FRONT_AND_BACK,GL_SPECULAR, mat_spec);
glMaterialf (GL_FRONT,GL_ShININESS, shininess);



Yorug‘lik manbalarining tavsifi.
Obyekt materialining xossalarini aniqlash faqat sahnada yorug‘lik manbalari bo‘lgandagina o‘rinli. Aks holda barcha obyektlar qora rangda (materialning tarqoq rangida) bo‘ladi. Sahnaga yorug‘lik manbaini quyidagi buyruq yordamida qo‘shish mumkin:
void glLight [i f] (GLenum light, GLenum pname,
GLfloat param)
void glLight[i f] (GLenum light, GLenum pname,
GLfloat *params)


light parametri o‘z-o‘zidan yorug‘lik manbaini belgilaydi. U GL_LIGHTi ko‘rinishdagi maxsus belgili nomlar to‘plami bilan tanlanadi, i bu yerda 0 dan odatda sakkizdan katta bo‘lmaydigan GL_MAX_LIGHT o‘zgarmaslari orasida yotadi.
pname va params parametrlari glMaterial*() buyrug‘iga o‘xshash ma’noga ega. pname parametri qiymatlarini qarab chiqamiz:



Download 15,78 Mb.

Do'stlaringiz bilan baham:
1   ...   74   75   76   77   78   79   80   81   ...   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