Кіріспе

Компьютерлік графиканың рендерингтік әдісі Компьютерлік графикада пикселдік жарықтандыру - рендерингтік кескіндегі әрбір пикселдің жарықтығын есептейтін кескінді немесе сахнаны жарықтандырудың кез келген әдісі. Бұл 3D-модельдің әрбір нүктесіндегі жарықтандыруды есептейтін және нәтижесінде алынған мәндерді модельдің бетінде интерполяциялап, пикселдік түстердің соңғы мәндерін есептейтін vertex-жарықтандыру сияқты жарықтандырудың басқа кең таралған әдістеріне қарама-қайшы келеді. Пикселдік жарықтандыруды көбінесе қоспалау, альфа-араластыру, альфа-қаптамаға, антиалиазингке, текстуралық сүзгілеуге, кесуге, жасырын бетті анықтау, Z буферлеу, штемпель буферлеу, көлеңкелеу, мип-карталау, қалыпты карталау, соққы карталау, орын ауыстыру карталау, параллакс карталау, көлеңке карталау, көлеңкелік карталау, көлеңке көлемдері, жоғары динамикалық диапазонды көрсету, қоршаған ортаны бұғаттау (экран кеңістігін бұғаттау, экран кеңістігін бағыттау бұғаттау, сәулемен жолданған қоршаған ортаны бұғаттау), сәулелерді іздеу, жаһандық жарықтандыру және тестелеу сияқты әдістермен қолданады. Бұл әдістердің әрқайсысы жарықтандырылған бетке немесе сахна мен жарық көздеріне қатысты қосымша мәліметтерді береді, бұл беттің соңғы көрінісіне және сезімін жасауға ықпал етеді. Қазіргі заманғы бейне ойындары қозғалтқыштарының көпшілігі қосымша нақтылық пен реализмге қол жеткізу үшін вертикальді жарықтандырудың орнына пикселдік техникаларды қолдана отырып жарықтандыруды іске асырады. Brink және Doom 3 сияқты ойындарды әзірлеу үшін пайдаланылған id Tech 4 двигуні пікселге шаңдау двигуні толық іске асырылған алғашқы ойын двигуні болды. CryENGINE, Frostbite Engine және Unreal Engine-дің барлық нұсқалары, басқалары, пикселдік көлеңкелеу әдістерін де іске асырады. Кейінгі көлеңкелеу - бұл пикселдік жарықтандырудың соңғы дамуы, ол Frostbite Engine және Battlefield 3 ойындарында қолданылған. Кейінгі көлеңкелеу әдістері ықтимал көп мөлшерде кіші жарықтарды арзан түсіруге қабілетті (бір пикселге жарықтандырудың басқа тәсілдері әр жарық үшін толық экранды есептеуді талап етеді).

Тарих

Тек жақында ғана жеке компьютерлер мен бейне аппараттары ойын сияқты нақты уақыт қосымшаларында пикселдік көлеңкелеуді толық орындауға жеткілікті қуатты болды, бірақ пикселдік жарықтандыру модельдерінде қолданылатын негізгі тұжырымдамалардың көбі ондаған жылдар бойы қолданылып келеді. Фрэнк Кроу 1977 жылы көлеңкелік көлемдер теориясын сипаттайтын мақала жариялады. Бұл техникада "көлеңке көлемінде" жатқан беттерге сәйкес келетін экранның аймақтарын белгілеу үшін штемпель буферін пайдаланады немесе қандай да бір нысанның жарық көзіне шағылып кеткен кеңістіктің көлемін білдіретін пішін. Бұл көлеңкелі аймақтар әдетте сценикалық буферлерге берілгеннен кейін көлеңкелі аймақтарды штемпель буферімен сақтау арқылы көлеңкеленеді. Джим Блинн алғаш рет 1978 жылы SIGGRAPH мақаласында қалыпты карталау идеясын енгізді. Блинн Эдвин Кэтмалл ұсынған жарықсыз текстура картасының ертедегі идеясы дөрекі беттерді симуляциялау үшін шындыққа сай келмейтінін атап өтті. Қаттылықты симуляциялау үшін текстураны объектке карталаудың орнына Блинн беттің бір нүктесі беттің үстіндегі нормалардың белгіленген "тартылысына" негізделген жарықтандыру дәрежесін есептеу әдісін ұсынды.

Жабдықтық рендеринг

Видео ойындар сияқты нақты уақыт қолданбалары, әдетте, пикселдік шаштабандарды қолдану арқылы пикселдік жарықтандыруды іске асырады, бұл GPU аппараттық жасақтамасына әсерді өңдеуге мүмкіндік береді. Рендерингке алынатын көрініс алдымен көріністі рендерингте қолданылатын әр түрлі деректерді сақтайтын бірнеше буферлерге растерленеді, мысалы тереңдік, қалыпты бағыт және диффузиялық түс. Содан кейін деректерді шейдерге тапсырады және көріністің соңғы көрінісін есептеу үшін қолданылады, пиксельден пикселге дейін. Кейінгі көлеңкелеу - бұл соңғы уақытта ойындар үшін қолжетімді болған пикселдік көлеңкелеу әдісі. Кейінгі көлеңкелеу кезінде "g буфері" соңғы көріністі пиксель деңгейінде көлеңкелеуге қажетті барлық терминдерді сақтау үшін қолданылады. Бұл деректердің форматы қажетті әсерге байланысты әр түрлі қолданбаларда әр түрлі болады және басқалары арасында қалыпты деректерді, позициялық деректерді, спекулярлық деректерді, диффузиялық деректерді, эмиссиялық карталарды және альбедоны қамти алады. Бірнеше рендерлеу нысаналарын пайдаланып, осы деректердің бәрін g буферіне бір рет өткізу арқылы көрсетуге болады, ал шейдер әр пикселдің соңғы түсін g буферінен алынған деректерге негізделген соңғы "кезгертілген өту" арқылы есептей алады.

Бағдарламалық жасақтама

Пикселдік жарықтандыру сонымен қатар көптеген жоғары деңгейдегі коммерциялық рендеринг бағдарламаларында бағдарламалық жасақтамада орындалады, олар әдетте интерактивті кадрлық жылдамдықпен рендеринг жасамайды. Бұл оффлайн реендерлеу немесе бағдарламалық реендерлеу деп аталады. NVIDIA-ның ақыл-ой сәулелерін көрсету бағдарламалық жасақтамасы, Autodesk-тің Softimage сияқты жиынтықтармен біріктірілген, бұл жақсы танымал мысал.