Orqa yuzni yo'q qilish - Back-face culling

Chap tomonda BFC'siz model; o'ng tomonda BFC bilan bir xil model: orqa yuzlar olib tashlangan.

Yilda kompyuter grafikasi, orqa tomonni yo'q qilish yoki yo'qligini aniqlaydi ko'pburchak grafik ob'ekt ko'rinadi. Bu ko'pburchakdagi nuqtalarning ekranga aks ettirilayotganda soat yo'nalishi bo'yicha yoki soat yo'nalishi bo'yicha teskari tartibda paydo bo'lishini tekshiradigan grafik quvur liniyasidagi qadamdir. Agar foydalanuvchi old tomonga yo'naltirilgan ko'pburchaklar soat yo'nalishi bo'yicha sariq bo'lsa, lekin ekranda aks ettirilgan ko'pburchak soat yo'nalishi bo'yicha teskari o'ralgan bo'lsa, u holda u kameradan teskari tomonga burilib, chizilmaydi.

Jarayon amalga oshiriladi ko'rsatish dasturni chizish uchun ko'pburchaklar sonini kamaytirish orqali ob'ektlarni tezroq va samaraliroq. Masalan, shahar ko'chasidagi sahnada, odatda kameralarning yon tomoniga binolarning yon tomonlarida ko'pburchaklarni chizishning hojati yo'q; ular kameraga qaragan tomonlari tomonidan butunlay yopilib qoladi.

Umuman olganda, agar yuz yopiq va shaffof bo'lmagan geometriyani o'z ichiga olgan bo'lsa, namoyish qilingan sahnada hech qanday ko'rinadigan artefakt hosil qilmaydi deb taxmin qilish mumkin. Shaffof ko'pburchaklarni o'z ichiga olgan sahnalarda, orqa tomonga qaragan ko'pburchaklar jarayonida ko'rish mumkin alfa tarkibi. Simli ramkada ko'rsatishda, muammolarni qisman hal qilish uchun orqa tomonni olib tashlash ishlatilishi mumkin yashirin chiziqni olib tashlash, lekin faqat yopiq qavariq geometriya uchun.

Tegishli usul qirqish, bu ko'pburchaklar kameraning umuman ko'rish doirasiga kiradimi-yo'qligini aniqlaydi.

Shunga o'xshash yana bir usul Z-kulling, shuningdek, ma'lum okklyuziyani yo'q qilish, bu boshqa ko'rinadigan ko'pburchaklar tomonidan nuqtai nazardan yopilgan ko'pburchaklar chizilishini o'tkazib yuborishga harakat qiladi.

Amalga oshirish

Orqaga yuzni olib tashlashni amalga oshirish usullaridan biri bu uchburchaklarni tashlashdir nuqta mahsuloti ularning sirt normal va kameradan uchburchakka vektor noldan katta yoki unga teng

qayerda P nuqtai nazar, V0 uchburchakning birinchi tepasi va N uchburchakning yonma-yon tomonlarini ifodalovchi ikkita vektorning o'zaro bog'liqligi sifatida aniqlangan uning normal ko'rsatkichidir V0

O'zaro faoliyat mahsulot kommutativ bo'lmaganligi sababli, o'zaro faoliyat mahsulot bo'yicha normalni aniqlash uchburchak yuzasiga nisbatan normal yo'nalishni vertikal tartib (o'rash) yordamida aniqlashga imkon beradi:

Agar fikrlar allaqachon bo'shliqda bo'lsa, P deb taxmin qilish mumkin (0, 0, 0), kelib chiqishi.

Yuqoridagi tengsizlikni matritsaning determinanti sifatida ko'rsatish va unga proyeksiya matritsasini qo'llash orqali proektsion makonda ushbu usuldan foydalanish mumkin.[1]

Yana bir usul aks ettirish paritetiga asoslanib mavjud bo'lib, u normal o'lchamlarni hisoblash mumkin bo'lmagan ikki o'lchov uchun mos keladi (shuningdek, CCW tekshiruvi deb ham ataladi).

Ikki o'lchovli birlik uchburchagi (bir hil koordinatalar ) sifatida belgilanishi kerak

Keyin boshqa uchburchak uchun, shuningdek ikki o'lchovda,

birlik uchburchagini unga aylantiradigan matritsani aniqlang

Shuning uchun; ... uchun; ... natijasida

Agar matritsa bo'lsa, uchburchakni tashlang M aks ettirishning g'alati soni (birlik uchburchagining qarama-qarshi tomoniga qarab)

Birlik uchburchagi mos yozuvlar va transformatsiya sifatida ishlatiladi M tepalik tartibi ikki uchburchak o'rtasida farq qilishini aniqlash uchun iz sifatida ishlatiladi. Tepalik tartibini ikki o'lchovda o'zgartirishning yagona usuli - bu aks ettirish. Ko'zgu - bu misol majburiy funktsiya (tepalik tartibiga nisbatan), aks ettirishning juft soni uchburchakni bir tomonga qaratib qo'yadi, go'yo hech qanday aks etilmagan. Toq miqdordagi aks ettirish, xuddi bitta aks etgandan so'ng, uchburchakni boshqa tomonga qaratib qo'yadi. Ko'zgularni toq sonini o'z ichiga olgan transformatsiyalar har doim ham salbiy miqyoslash koeffitsientiga ega, shuningdek, ko'lam koeffitsienti ijobiy bo'lsa, aks ettirishlar yoki ularning soni bo'lmasa. Transformatsiyani masshtablash koeffitsienti tomonidan hisoblanadi aniqlovchi uning matritsasi.

Adabiyotlar

  1. ^ Devid H. Eberli (2006). 3D o'yin dvigatellari dizayni: real vaqtda kompyuter grafikasiga amaliy yondashuv, p. 69. Morgan Kaufmann Publishers, Amerika Qo'shma Shtatlari. ISBN  0122290631.