Pikselli yoritish - Per-pixel lighting

Yilda kompyuter grafikasi, pikselli yorug'lik uchun har qanday texnikani nazarda tutadi yoritish ko'rsatilgan tasvirdagi har bir piksel uchun yoritishni hisoblaydigan rasm yoki sahna. Bu kabi boshqa mashhur yoritish usullaridan farq qiladi tepada yoritish, a ning har bir tepasida yoritishni hisoblaydi 3D model undan keyin interpolatlar piksel boshiga yakuniy rang qiymatlarini hisoblash uchun model yuzlari ustida hosil bo'lgan qiymatlar.

Pikselli yorug'lik odatda shunga o'xshash texnikada qo'llaniladi oddiy xaritalash, zararli xaritalash, o'ziga xoslik va soya hajmlari. Ushbu texnikalarning har biri yuzaning yoritilishi yoki sahna va yorug'lik manbalari to'g'risida ba'zi qo'shimcha ma'lumotlarni taqdim etadi, bu esa sirtning so'nggi ko'rinishi va hissiyotiga yordam beradi.

Ko'pgina zamonaviy videoo'yin dvigatellari yorug'likni yuqori tafsilotlar va realizmga erishish uchun vertikal yoritish o'rniga pikselli texnikadan foydalangan holda amalga oshiradilar. The id Tech 4 kabi o'yinlarni ishlab chiqish uchun ishlatiladigan dvigatel Yalang'och va Doom 3, to'liq pikselli soya soluvchi dvigatelni amalga oshirgan birinchi o'yin dvigatellaridan biri edi. Ning barcha versiyalari Yigitcha, Muzqaymoq dvigateli va Haqiqiy bo'lmagan vosita, boshqalar qatori, shuningdek, pikselga soya tushirish texnikasini amalga oshiradi.

Kechiktirilgan soyalash Frostbite Engine-da ishlatilishi bilan ajralib turadigan pikselli yorug'likning so'nggi rivojlanishi Jang maydoni 3. Kechiktirilgan soyalash usullari, potentsial jihatdan juda ko'p miqdordagi kichik chiroqlarni arzon narxlarda ko'rsatishga qodir (boshqa har bir pikselli yoritish yondashuvlari o'lchamidan qat'i nazar, sahnadagi har bir yorug'lik uchun to'liq ekranli hisoblashni talab qiladi).

Tarix

Yaqinda shaxsiy kompyuterlar va videofayllar o'yinlar kabi real vaqtda dasturlarda to'liq pikselli soyalashni amalga oshirish uchun etarlicha kuchga ega bo'lsa-da, har pikselli yoritish modellarida ishlatiladigan ko'plab asosiy tushunchalar o'nlab yillar davomida mavjud.

Frank Krou nazariyasini tavsiflovchi maqolani nashr etdi soya hajmlari 1977 yilda.[1] Ushbu texnikada shablon tampon "soya hajmida" yotadigan sirtlarga yoki ba'zi bir narsalar tomonidan yorug'lik manbasidan tutilgan bo'shliq hajmini ifodalaydigan shaklga mos keladigan ekran maydonlarini belgilash. Ushbu soyali joylar, odatda, sahna stencil tamponli soyali joylarni saqlash orqali buferlarga berilgandan keyin soyalanadi.

Jim Blinn birinchi g'oyasini taqdim etdi oddiy xaritalash 1978 yilda SIGGRAF qog'oz.[2] Blinning ta'kidlashicha, ilgari yoritilmagan to'qimalarni xaritalash g'oyasi tomonidan taklif qilingan Edvin Ketmull qo'pol sirtlarni simulyatsiya qilish uchun haqiqiy emas edi. Pürüzlülüğü simüle qilish uchun biron bir tuzilmani xaritalash o'rniga, Blinn, sirt ustida bir normaning belgilangan "bezovtalanishi" asosida olinishi kerak bo'lgan sirtni yoritish darajasini hisoblash usulini taklif qildi.

Uskuna ko'rsatish

Kabi real vaqt dasturlari video O'yinlar, odatda foydalanish orqali pikselli yoritishni amalga oshiring pikselli shaderlar, ruxsat berish GPU effektni qayta ishlash uchun apparat. Ko'rsatiladigan sahna birinchi navbatda sahnani namoyish qilishda ishlatiladigan turli xil ma'lumotlarni saqlaydigan buferlar qatoriga, masalan, chuqurlik, normal yo'nalish va tarqoq rangga rasterlanadi. Keyinchalik, ma'lumotlar shaderga uzatiladi va sahnaning yakuniy ko'rinishini piksel-piksel hisoblash uchun ishlatiladi.

Kechiktirilgan soyalash yaqinda o'yinlar uchun mumkin bo'lgan har bir pikselli soyalash texnikasi.[3] Kechiktirilgan soyalash bilan "g-buffer" piksel darajasida so'nggi sahnani soya qilish uchun zarur bo'lgan barcha shartlarni saqlash uchun ishlatiladi. Ushbu ma'lumotlarning formati istalgan effektga qarab har bir dasturda farq qiladi va oddiy ma'lumotlar, pozitsion ma'lumotlar, ko'zoynakli ma'lumotlar, tarqoq ma'lumotlar, emissiya qiluvchi xaritalar va albedo, Boshqalar orasida. Bir nechta render maqsadlaridan foydalangan holda, ushbu ma'lumotlarning barchasi g-buferga bitta o'tish bilan berilishi mumkin va shader har bir pikselning yakuniy rangini g-buferdan olingan ma'lumotlarga asoslanib, yakuniy "kechiktirilgan o'tish" da hisoblashi mumkin.

Dasturiy ta'minot

Per-pikselli yoritish, shuningdek, odatda interaktiv freymlarda ko'rsatilmaydigan ko'plab yuqori darajadagi tijorat dasturlarida dasturiy ta'minotda amalga oshiriladi. Bunga oflayn render yoki deyiladi dasturiy ta'minot. NVidia aqliy nur kabi to'plamlar bilan birlashtirilgan dasturiy ta'minotni taqdim etish Autodesk "s Softimage taniqli misoldir.

Izohlar

  1. ^ Crow, Franklin C: "Kompyuter grafikasi uchun soya algoritmlari", Kompyuter grafikasi (SIGGRAPH '77 protsesslari), vol. 11, yo'q. 2, 242-248.
  2. ^ Blinn, Jeyms F. "Ajingan yuzalarni simulyatsiya qilish", Kompyuter grafikasi (SIGGRAPH '78 protsesslari, vol. 12, yo'q. 3, 286-292.
  3. ^ Hargrivz, Shoun [pl ] va Mark Xarris: "Dengiz ostidagi 6800 liga: kechiktirilgan soyalash". NVidia Developer aktivlari.

Shuningdek qarang

Tashqi havolalar