Кіріспе
Компьютерлік графикадағы интерполяциялық әдіс. Гуро көлеңкелеуі (/ɡ//uː/'/r//oʊ/ gooROH), Генри Гуроның есімімен аталған, компьютерлік графикада көпбұрыштық торлармен бейнеленген беттердің үздіксіз көлеңкеленуін жасауға қолданылатын интерполяциялық әдіс. Іс жүзінде, Гуро көлеңкелеуі ең көп үшбұрыштық торлардағы үздіксіз жарықтандыруды қамтамасыз ету үшін қолданылады, мұнда әр үшбұрыштың төбелерінде жарық есептеліп, үшбұрышпен жабылатын әр пиксель үшін түстер сызықтық интерполяцияланады. Гуро алғаш рет бұл техниканы 1971 жылы жариялаған. Дегенмен, жақсырақ көлеңкелеу модельдеріне арналған жабдықтардың жетілдірілуі Гуро көлеңкелеуін қазіргі заманғы рендерингте көнелткен.
Gouraud shading (/ɡ//uː/'/r//oʊ/ gooROH), named after Henri Gouraud, is an interpolation method used in computer graphics to produce continuous shading of surfaces represented by polygon meshes. In practice, Gouraud shading is most often used to achieve continuous lighting on triangle meshes by computing the lighting at the corners of each triangle and linearly interpolating the resulting colours for each pixel covered by the triangle. Gouraud first published the technique in 1971. However, enhanced hardware support for superior shading models has yielded Gouraud shading largely obsolete in modern rendering.
Сипаттама
Гуро көлеңкелеуі келесідей жұмыс істейді: Полигональды 3D-модельдегі әрбір түбектің беттік нормасына жасалған бағалау әр түбек үшін беріледі немесе әр түбекте жиналатын көпбұрыштардың беттік нормаларының орташасы арқылы анықталады. Осы бағалауларды қолдана отырып, шағылысу моделіне негіделген (мысалы, Фонг шағылысу моделі) жарық есептеулері жүргізіліп, түбектерде түс интенсивтілігі шығарылады. Көпбұрышты тормен жабылатын әрбір экран пикселі үшін түс интенсивтілігі түбектерде есептелген түс мәндерінен интерполяцияланады.
Басқа көлеңкелеу әдістерімен салыстыру
Горауд көлеңдеуі жазық көлеңдеуден артық деп есептеледі және Фонг көлеңдеуіне қарағанда едәуір аз өңдеуді қажет етеді, бірақ көбінесе жақтары көрінетін бейнеге әкеледі. Фонг көлеңдеуімен салыстырғанда, Горауд көлеңдеуінің күші мен әлсіздігі оның интерполяциясында жатыр. Егер модель экран кеңістігіндеғы түйіндер санынан артық пикселдерді қамтыса, түйіндердегі қымбат жарық есептеулерінің нәтижелерінен түс мәндерін интерполяциялау, Фонг көлеңдеуіндегідей әр пиксел үшін жарық есептеуін жүргізуге қарағанда процессорды аз жүктейді. Дегенмен, локальды жарық эффектілері (мысалы, жылтыр жарқырау, мысалы, алма бетіндегі шағылысқан жарықтың жылтырауы) дұрыс көрсетілмейді, және егер жарқырау көпбұрыштың ортасында болса, бірақ көпбұрыштың түйініне жетпесе, ол Горауд көлеңдеуінде көрінбейді; керісінше, егер жарқырау көпбұрыштың түйінінде пайда болса, ол осы түйінде дұрыс көрсетіледі (өйткені жарық моделі осы жерде қолданылады), бірақ интерполяция әдісі арқылы барлық көршілес көпбұрыштарға табиғи емес түрде таралады. Бұл мәселе модель айналғанда оның бетінде тегіс жылғатын жарқырау болуы керек болғанда байқалады. Горауд көлеңдеуі орнына модельдің көршілес бөліктерінде жарқыраудың үнемі пайда болып, сөнуіне себеп болады, бұл мақсатты жарқырау модельдің түйінімен сәйкес келгенде ең жоғары қарқынға жетеді. Бұл мәселені объектідегі түйіндердің тығыздығын арттыру арқылы шешуге болады, бірақ белгілі бір уақыттан кейін осы тәсілдің тиімділігі төмендеп, көлеңдеудің егжей-тегжейлі моделіне ауысуға ыңғайлы болады.
Сызықтық және гиперболалық интерполяция
Гураның алғашқы мақаласында сызықтық түс интерполяциясы сипатталған. Ол графикалық процессорларда (GPU) сызықтық интерполяцияға перспективалық түрде дұрыс балама ретінде қолданылады. Төбелерден пиксельдерге түс интерполяциясының сызықтық және гиперболалық түрлерінің екеуі де "Гурау көлеңкелеуі" деп аталады.
Мах жолақтары
Кез келген сызықтық интерполяция интенсивтіліктің туындыларындағы үзілістерге себеп болады, бұл Мах жолақтарын тудырады – Гуро көлеңдеуінің кең таралған көрінетін кемшілігі.