3 O‘lchovli grafika imkoniyatlarini loyihalashda qo‘llash texnologiyalari


Download 23.83 Kb.
bet2/2
Sana26.01.2023
Hajmi23.83 Kb.
#1123658
1   2
Bog'liq
3 O‘lchovli grafika imkoniyatlarini loyihalashda qo‘llash texnologiyalari.

Guruch. 1: simli ramka kubi

3D grafik quvurining ushbu soddalashtirilgan tushuntirishi bilan ham, 2D ekranda 3D ob'ektni chizish uchun qancha hisoblash kerakligi aniq bo'ladi. Agar ob'ekt harakatlansa, koordinatalar tizimi bo'yicha talab qilinadigan hisoblash miqdori qanchalik ko'payishini tasavvur qilishingiz mumkin. API ning roli


Dasturlashtiriladigan dastur interfeysi (API) dasturiy ta'minot darajasida 3D quvur liniyasini boshqaradigan funktsiyalardan iborat, ammo agar mavjud bo'lsa, 3D-ning apparat tatbiq etilishidan foydalanishi mumkin. Agar apparat tezlatgich mavjud bo'lsa, API undan foydalanadi, agar bo'lmasa, API eng keng tarqalgan tizimlar uchun mo'ljallangan optimal sozlamalar bilan ishlaydi. Shunday qilib, API-dan foydalanish tufayli har qanday miqdordagi dasturiy vositalar har qanday apparat 3D tezlatgichlari tomonidan qo'llab-quvvatlanishi mumkin.
Umumiy va ko'ngilochar ilovalar uchun quyidagi API mavjud:

  • Microsoft Direct3D

  • Criterion Renderware

  • Argonavt BRender

  • Intel 3DR

Apple o'zining Quickdraw 3D API-ga asoslangan o'zining Rave tajribasini targ'ib qilmoqda.
ostida ishlaydigan professional ilovalar uchun Windows boshqaruvi NTda OpenGL interfeysi ustunlik qiladi. Autodesk kompaniyasi, eng yirik ishlab chiqaruvchi muhandislik ilovalari, Heidi deb nomlangan o'z API-ni ishlab chiqdi.
Intergraph - RenderGL va 3DFX - GLide kabi kompaniyalar o'zlarining API-larini ishlab chiqdilar.
Bir nechta grafik quyi tizimlar va ilovalarni qo'llab-quvvatlaydigan 3D interfeyslarning mavjudligi va mavjudligi real vaqtda 3D apparat tezlatgichlariga bo'lgan ehtiyojni oshiradi. Ko'ngilochar dasturlar, bunday tezlatgichlarning asosiy iste'molchisi va mijozi, lekin Windows NT ostida ishlaydigan 3D grafiklarni qayta ishlash uchun professional ilovalar haqida unutmang, ularning ko'pchiligi Silicon Graphics kabi yuqori samarali ish stantsiyalaridan shaxsiy kompyuter platformasiga ko'chiriladi. Veb-ga asoslangan ilovalar 3D grafik foydalanuvchi interfeyslari taqdim etadigan ajoyib chaqqonlik, intuitivlik va moslashuvchanlikdan katta foyda oladi. Butunjahon Internet tarmog'idagi o'zaro aloqa, agar u uch o'lchovli makonda sodir bo'lsa, ancha oson va qulayroq bo'ladi.
Grafik tezlatgich
Kontseptsiyadan oldin grafik quyi tizimlar bozori multimedia rivojlantirish nisbatan oson edi. Rivojlanishning muhim bosqichi 1987 yilda IBM tomonidan ishlab chiqilgan VGA (Video grafik massivi) standarti bo'ldi, buning natijasida video adapter ishlab chiqaruvchilari kompyuter monitorida yuqori aniqlik (640x480) va kattaroq rang chuqurligidan foydalanishga muvaffaq bo'lishdi. Windows operatsion tizimining tobora ommalashib borishi bilan tizimning markaziy protsessorini tushirish uchun ikki o'lchovli grafiklarning apparat tezlatkichlariga shoshilinch ehtiyoj bor, bu esa qo'shimcha hodisalarni qayta ishlashga majbur bo'ladi. Grafiklarni qayta ishlash uchun protsessorning o'zgarishi GUI (Graphical User Interface) - grafik foydalanuvchi interfeysining umumiy ishlashiga sezilarli darajada ta'sir qiladi va Windows va uning ilovalari imkon qadar ko'proq CPU resurslarini talab qilganligi sababli, grafik ishlov berish pastroq tezlik bilan amalga oshirildi. ustuvorlik, ya'ni juda sekin amalga oshirildi. Ishlab chiqaruvchilar o‘z mahsulotlariga 2D grafiklarni qayta ishlash funksiyalarini qo‘shgan, masalan, ochish va kichraytirishda oynalarni chizish, kursorni harakatlantirganda doim ko‘rinadigan apparat kursori va ekrandagi joylarni yuqori yangilanish tezligida bo‘yash. Shunday qilib, zamonaviy kompyuterlarda bo'lishi kerak bo'lgan elementga aylangan Windows yoki GUI akseleratori sifatida ham tanilgan VGA (Accelerated VGA - AVGA) tezlashuvini ta'minlovchi protsessor mavjud edi.
Multimedianing joriy etilishi 2D grafik to'plamiga audio va raqamli video kabi komponentlarning qo'shilishi natijasida yuzaga kelgan yangi muammolarni keltirib chiqardi. Bugungi kunda ko'pgina AVGA mahsulotlari apparatda raqamli videoga ishlov berishni qo'llab-quvvatlashini ko'rish oson. Shuning uchun, agar sizning monitoringizda video pochta markasi o'lchamidagi oynada o'ynatilsa - kompyuteringizga o'rnatish vaqti keldi. multimedia tezlatgichi... Multimediya tezlatgich odatda video tasvirni x va y o'qlari bo'ylab masshtablash imkonini beruvchi o'rnatilgan apparat funktsiyalariga ega, shuningdek, raqamli signalni RGB formatida monitorda ko'rsatish uchun apparatni analogga aylantiradi. Ba'zi multimediya tezlatgichlari raqamli video dekompressiyani o'rnatish imkoniyatlariga ham ega bo'lishi mumkin.
Grafik dizaynerlar qisman kompyuter monitorining o'lchamiga bog'liq bo'lgan, qisman GUI ta'sirida va qisman GPU tomonidan ta'sirlangan talablarga amal qilishlari kerak. 640x480 piksel o'lchamlari bilan birlamchi VGA standarti 14 "monitorlar uchun mos edi, o'sha paytda eng keng tarqalgan. Bugungi kunda 1024x768 o'lchamdagi tasvirlarni ko'rsatish qobiliyati tufayli 17" trubkali diagonali eng ko'p afzal qilingan monitorlar yoki Ko'proq.
VGA-dan multimediya tezlatgichlariga o'tishning asosiy tendentsiyasi kompyuter monitorida iloji boricha ko'proq vizual ma'lumotlarni joylashtirish qobiliyati edi. 3D grafikadan foydalanish ushbu tendentsiyaning mantiqiy rivojlanishidir. Uch o'lchamda taqdim etilganda, monitor ekranining cheklangan maydoniga katta hajmdagi vizual ma'lumotni siqib chiqarish mumkin. Haqiqiy vaqtda 3D grafiklarni qayta ishlash foydalanuvchiga taqdim etilgan ma'lumotlarni osongina boshqarish imkonini beradi.
O'yin dvigatellari

Kompyuter o'yinlarining birinchi qoidasi - hech qanday qoidalar yo'q. An'anaga ko'ra, o'yin ishlab chiquvchilari texniklarning tavsiyalariga amal qilishdan ko'ra o'z dasturlarining ajoyib grafikalari bilan ko'proq qiziqishadi. Ishlab chiquvchilar o'z ixtiyorida ko'plab 3D API-larga ega bo'lishiga qaramay, masalan - Direct3D, ba'zi dasturchilar o'zlarining 3D o'yin interfeysi yoki dvigatelini yaratishga harakat qilmoqdalar. Xususiy o'yin dvigatellari ishlab chiquvchilar uchun ajoyib realizmga erishishning bir yo'li bo'lib, grafik dasturlash chegaralarini deyarli bosadi. 3D grafik texnologiyasi


Keling, sizni 3D grafikani amalda sinab ko'rishga ishontirishga muvaffaq bo'laylik (agar buni hali qilmagan bo'lsangiz) va siz 3D video kartadan foydalanish uchun mo'ljallangan 3D o'yinlardan birini o'ynashga qaror qildingiz.
Aytaylik, avtopoyga simulyatori shunday o'yin bo'lib chiqdi va sizning mashinangiz allaqachon yangi rekordlarni zabt etishga intilishga tayyor. Ishga tushirishdan oldingi ortga hisoblash davom etmoqda va siz monitor ekranida ko'rsatilgan kokpit ko'rinishi siz o'rganganingizdan biroz farq qilishini sezasiz.
Siz ilgari bunday poygalarda qatnashgansiz, lekin birinchi marta tasvir sizni favqulodda realizm bilan hayratda qoldiradi, sodir bo'layotgan voqealarning haqiqatiga ishonishga majbur qiladi. Ufq uzoqdagi narsalar bilan birga ertalabki tumanga g'arq bo'ladi. Yo'l g'ayrioddiy silliq ko'rinadi, asfalt - bu iflos kulrang kvadratchalar to'plami emas, balki yo'l belgilariga ega monoxromatik sirt. Yo'l bo'yidagi daraxtlar chindan ham bargli tojlarga ega bo'lib, ularda alohida barglar ajralib turadigan ko'rinadi. Butun ekran, umuman olganda, haqiqatni taqlid qilish uchun ayanchli urinish sifatida emas, balki haqiqiy istiqbolga ega sifatli fotosurat taassurotini beradi.
Keling, qanday texnik echimlar 3D video kartalarga virtual haqiqatni bunday realizm bilan etkazishga imkon berishini aniqlashga harakat qilaylik. Qanday qilib kompyuter vizuallari professional 3D grafika studiyalari darajasiga yetdi.
Uch o'lchovli dunyoni ko'rsatish va modellashtirish bilan bog'liq hisoblash operatsiyalarining bir qismi endi 3D video kartaning yuragi bo'lgan 3D tezlatgichga o'tkaziladi. Markaziy protsessor endi displey muammolari bilan deyarli band emas, ekran tasviri video karta tomonidan shakllantiriladi. Bu jarayon apparat darajasida bir qator effektlarni amalga oshirishga, shuningdek, oddiy matematik apparatdan foydalanishga asoslangan. Keling, 3D grafik protsessor aniq nima qila olishini aniqlashga harakat qilaylik.
Poyga simulyatorimiz misoliga qaytsak, keling, yo'lning sirtlari yoki yo'l chetidagi binolar qanday qilib real tarzda ko'rsatilishi haqida o'ylab ko'raylik. Bu tekstura xaritalash deb ataladigan keng tarqalgan texnika yordamida amalga oshiriladi.
Bu sirtni modellashtirish uchun eng keng tarqalgan effekt. Masalan, binoning jabhasi ko'plab g'ishtlar, derazalar va eshiklarni modellashtirish uchun ko'plab yuzlarni ko'rsatishni talab qiladi. Biroq, tekstura (bir vaqtning o'zida butun yuzaga qo'llaniladigan tasvir) ko'proq reallikni beradi, lekin kamroq hisoblash resurslarini talab qiladi, chunki u butun jabha bilan bitta sirt sifatida ishlashga imkon beradi. Ekranga tegmasdan oldin yuzalar teksturalanadi va soyalanadi. Barcha teksturalar xotirada saqlanadi, odatda video kartaga o'rnatiladi. Aytgancha, bu erda AGP dan foydalanish tizim xotirasida teksturalarni saqlashga imkon berishini va uning hajmini sezilarli darajada oshirishini payqash mumkin emas.
Shubhasiz, yuzalar tekstura qilinganda, masalan, ufqdan tashqariga cho'zilgan bo'linuvchi chiziqli yo'lni ko'rsatishda istiqbolni hisobga olish kerak. Teksturali ob'ektlar to'g'ri ko'rinishi uchun istiqbolni tuzatish kerak. Bu zarba xaritasi ob'ektning turli qismlariga - kuzatuvchiga yaqinroq va uzoqroq bo'lgan qismlarga to'g'ri qo'llanilishini ta'minlaydi.
Istiqbolni hisobga olgan holda tuzatish juda ko'p vaqt talab qiladigan operatsiyadir, shuning uchun ko'pincha uning to'liq to'g'ri bajarilmasligini topish mumkin.
To'qimalarni qo'llashda, printsipial jihatdan, siz ikkita eng yaqin beatmap orasidagi tikuvlarni ham ko'rishingiz mumkin. Yoki ko'pincha, ba'zi o'yinlarda miltillash haydash paytida yo'l yoki uzun koridorlarni tasvirlashda seziladi. Ushbu qiyinchiliklarni bostirish uchun filtrlash (odatda ikki yoki uch chiziqli) ishlatiladi.
Ikki chiziqli filtrlash - bu tasvir buzilishlarini olib tashlash usuli. Ob'ekt asta-sekin aylanayotganda yoki harakatlanayotganda, siz pikselning bir joydan ikkinchisiga sakrashini sezishingiz mumkin, bu esa miltillashga olib keladi. Ushbu effektni kamaytirish uchun ikki chiziqli filtrlash sirt nuqtasini ko'rsatish uchun o'rtacha to'rtta qo'shni tekstura pikselini oladi.
Uch chiziqli filtrlash biroz murakkabroq. Tasvirdagi har bir pikselni olish uchun ikki darajadagi ikki chiziqli filtrlash natijalarining o'rtacha og'irligi olinadi. Olingan tasvir yanada aniqroq va kamroq miltillovchi bo'ladi.
Ob'ektning sirti hosil bo'lgan teksturalar ob'ektdan tomoshabinning ko'zlari holatiga bo'lgan masofaning o'zgarishiga qarab tashqi ko'rinishini o'zgartiradi. Harakatlanuvchi tasvirda, masalan, ob'ekt tomoshabindan uzoqlashganda, ko'rsatilgan ob'ekt hajmining pasayishi bilan birga tekstura bitmapining hajmi ham kamayishi kerak. Ushbu transformatsiyani amalga oshirish uchun GPU ob'ekt yuzasini qoplash uchun tekstura bitmaplarini mos o'lchamga aylantiradi, lekin tasvir tabiiy bo'lib qolishi kerak, ya'ni. ob'ekt kutilmagan tarzda deformatsiyalanmasligi kerak. Biz barcha 3D algoritmlarining ishlashining asosiy nuqtasiga keldik. Aytaylik, bizning poyga mashinamiz yuradigan yo'l ko'plab ob'ektlar - binolar, daraxtlar, odamlar bilan o'ralgan.
Bu erda 3D protsessor ob'ektlarning qaysi biri ko'rish maydonida ekanligini va ular qanday yoritilganligini aniqlashning asosiy muammosiga duch keladi. Bundan tashqari, nima ko'rinishini bilish uchun bu daqiqa yetarli emas. Ob'ektlarning o'zaro joylashuvi haqida ma'lumotga ega bo'lish kerak. Ushbu muammoni hal qilish uchun z-buferlash deb ataladigan usul qo'llaniladi. Bu yashirin yuzalarni olib tashlashning eng ishonchli usuli. Z-bufer deb ataladigan narsa barcha piksellarning chuqurlik qiymatlarini (z-koordinatalarini) saqlaydi. Yangi piksel hisoblanganda (ko'rsatilganda), uning chuqurligi z-buferda saqlangan qiymatlar bilan, aniqrog'i bir xil x va y koordinatalari bo'lgan allaqachon ko'rsatilgan piksellar chuqurligi bilan taqqoslanadi. Agar yangi piksel z-buferdagi har qanday qiymatdan kattaroq chuqurlik qiymatiga ega bo'lsa, yangi piksel ko'rsatish uchun buferga yozilmaydi, agar kamroq bo'lsa, u yoziladi.
Download 23.83 Kb.

Do'stlaringiz bilan baham:
1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling