Tez taxminiy anti-aliasing - Fast approximate anti-aliasing

Tez taxminiy anti-aliasing (FXAA) a ekran maydoni begonalashtirish tomonidan yaratilgan algoritm Timoti Lottes da NVIDIA.[1] Bundan tashqari, deb nomlanadi tez namunali anti-aliasing (FSAA).

FXAA 3 a ostida chiqariladi jamoat mulki litsenziya. Keyingi versiyasi, FXAA 3.11, 3 bandli BSD litsenziyasi asosida chiqarilgan.[2]

Algoritm tavsifi

  1. Kirish ma'lumotlari tasvirlangan tasvir va ixtiyoriy ravishda nashrida ma'lumotlari.[3]
  2. Yorug'lik ma'lumotlarini oling.[3] Ushbu ma'lumotlar FXAA algoritmiga ko'rsatish bosqichidan tasvirga o'rnatilgan alfa kanali sifatida antialaziya qilingan, ko'rsatilgan rasmdan hisoblangan yoki yorug'lik kanallari sifatida yashil kanaldan foydalanilgan holda yaqinlashtirilishi mumkin.[3]
  3. Yorug'lik ma'lumotlarini ishlatadigan yuqori o'tish filtri yordamida yuqori kontrastli piksellarni toping.[3] Topilgan past kontrastli piksellar FXAA tomonidan o'zgartirilishi mumkin emas.[3] Past kontrastli piksellarni hisobga olmagan yuqori o'tish filtri tezlikni va sezgirlikni muvozanatlash uchun sozlanishi mumkin.[3]
  4. Chetlarni evristik ravishda topish uchun chekka piksellar orasidagi kontrastdan foydalaning va qirralarning gorizontal yoki vertikal yo'nalishlarda ekanligini aniqlang.[3] Pikselning aralashma yo'nalishi ushbu pikselda aniqlangan chekka yo'nalishiga perpendikulyar bo'ladi.[3]
  5. Ko'zda tutilgan piksel markaziy piksel bo'lgan 3x3 piksellardagi nurlanish ma'lumotlarini tahlil qilib, yuqori kontrastli piksel uchun bitta aralash omilini hisoblang.[3]
  6. Ikkinchi aralashma koeffitsientini hisoblash uchun haqiqiy qirraning yo'nalishini hisobga olish uchun aniqlangan gorizontal yoki vertikal chekka tugagach, ushbu chekka qancha davom etishini va haqiqiy chekka qaysi tomonga ketishini aniqlash uchun aniqlangan chekka bo'ylab qidirib toping.[3] Ushbu qadamni qidirish piksellar sonini oshirish va chekka uchini qidirishdan oldin qidirish qanchalik uzoqlashishi yoki ikkalasini ham kamaytirish orqali ko'proq tezlikni oshirish orqali yanada sifatli qilish uchun sozlanishi mumkin.[3]
  7. Pikselni tanlangan aralash yo'nalishi va hisoblangan har ikkala aralashma omilining maksimal miqdoridan foydalanib aralashtiring.[3]

Taqqoslash

Ushbu texnikaning an'anaviy kosmik anti-aliasingdan asosiy afzalligi shundaki, u katta miqdorlarni talab qilmaydi hisoblash kuchi. Bunga kiruvchi qirrali qirralarni tekislash orqali erishiladi ("jaggies ")[4] kabi piksel, ularni tahlil qilish o'rniga, ekranda qanday paydo bo'lishiga qarab 3D model o'zi, odatdagi kosmik anti-aliasing kabi.[1] Bu haqiqiyga asoslanmaganligi sababli geometriya, u nafaqat silliqlashadi qirralar uchburchaklar orasidagi, lekin ichkaridagi qirralar ham alfa aralashtirilgan to'qimalar yoki undan kelib chiqadiganlar pikselli shader ta'siridan immunitetga ega bo'lgan effektlar ko'p namunali anti-aliasing (MSAA).[5]

Kamchiliklari bu yuqori kontrast xaritalar xiralashgan; FXAA qo'llanilishi kerak oldin ko'rsatish Hud ularga ta'sir qilmasligi uchun o'yin elementlari; va MSAA va SSAA tomonidan olingan va taqdim etilishi mumkin bo'lgan bitta pikseldan kichik bo'lgan ko'pburchak tafsilotlar faqatgina FXAA tomonidan olinmaydi va ko'rsatilmaydi.

Shuningdek qarang

Adabiyotlar

  1. ^ a b Lottes, Timoti (2009 yil fevral). "FXAA" (PDF). NVIDIA. Olingan 29 sentyabr 2012.
  2. ^ "opengl - Mening kodimda NVidia FxAA-dan foydalanish: litsenziyalash modeli nima?". Stack overflow.
  3. ^ a b v d e f g h men j k l Siltang, Jasper. "FXAA: piksellarni tekislash". Olingan 21 iyul, 2020.
  4. ^ Vang, Jeyms (2012 yil 19 mart). "FXAA: jangovar tezlikda yumshatishga qarshi kurash". NVIDIA. Olingan 3 yanvar, 2013.[o'lik havola ]
  5. ^ Atvud, Jef (2011 yil 7-dekabr). "Tez taxminiy yumshatishga qarshi (FXAA)". Kodlash dahshati. Olingan 30 sentyabr, 2012.