Затемнення за Фонгом

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Затемнення за Фонгом (англ. Phong shading), це інтерполяційний метод комп'ютерної графіки, який використовується для побудови неперервного градуйованого освітлення поверхонь у 3D комп'ютерній графіці. Також називається інтерполяцією Фонга[1] або нормально-векторною інтерполяціює затінення.[2] Метод ґрунтується на інтерполяції нормалей поверхні за растеризованими полігонами та обчислює колір пікселів на основі інтерпольованої нормалі та моделі відбиття світла. Затемнення за Фонгом може також відноситися до поєднання інтерполяції за Фонгом та моделі відбиття Фонга.

Історія

[ред. | ред. код]

Затемнення за Фонгом і моделі відбиття Фонга були розроблені в університеті штату Юта, Буйєм Туонгом Фонгом[en], який опублікував їх у своїй кандидатській дисертації у 1973 році.[3][4]Методи Фонга вважалися радикальним у момент їх введення, але з того часу стали базовим методом обчислення затемнення для багатьох додатків візуалізації. Методи Фонга стали популярними через їх ефективне використання часу для обчислення кольору пікселів.

Фонгова інтерполяція

[ред. | ред. код]
Фонгове затемнення, приклад інтерполяції

Затемнення за Фонгом удосконалює метод затемнення по Гуро і забезпечує краще наближення затемнення гладкої поверхні. Затемнення за Фонгом забезпечує більш гладку зміну вектора нормалі до поверхні. Інтерполяційний метод Фонга працює краще, ніж затемнення Гуро, коли застосовується до моделі відображення, яка має невеликі дзеркальні відблиски, такі як у моделі відбиття Фонга. Найсерйозніша проблема затемнення за Гуро виникає, коли дзеркальні відблиски знаходяться в середині великого полігону. Оскільки ці дзеркальні підсвічування відсутні в вершинах багатокутника, то затемнення за Гуро є інтерполяцією кольорів вершин, і тому дзеркальний відблиск буде відсутній на зображенні полігону. Ця проблема виправлена ​​вирішується у методі Фонга.

На відміну від затемнення Гуро, яке інтерполює кольори через полігони, в затемненні Фонга вектор нормалі до поверхні лінійно інтерполюється на багатокутник за нормалями у вершинах багатокутника. Нормаль поверхні інтерполюється і нормалізується в кожному пікселі, а потім використовується в моделі відбиття Фонга, для отримання кінцевого кольору пікселя. Затемнення за Фонгом потребує більше обчислювальних ресурсів, ніж у затемненні Гуро, оскільки модель відбиття має бути обчисленною в кожному пікселі, а не лише в вершинах.

У сучасному графічному обладнанні, варіанти цього алгоритму реалізовані з використанням піксельних або фрагментних шейдерів.

Модель відбиття Фонга

[ред. | ред. код]

Затемнення за Фонгом можна також віднести до конкретної комбінації інтерполяції за Фонгом та моделі відбиття Фонга, яка є емпіричною моделлю локального освітлення. Це є опис того, в який спосіб поверхня відбиває світло, як поєднання дифузного відбиття світла грубої поверхні з дзеркальним відбиттям світла відполірованих поверхонь. Ця модель заснована на власному спостереженні Буйя Туонга Фонга, який зауважив, що блискучі поверхні містять невеликі зони з інтенсивними дзеркальними відблисками[en], у той час як матові поверхні мають великі області, в яких освітлення змінюється поступово. Також модель освітлення включає в себе амбієнтне освітлення, тобто навколишнє освітлення, яке рівномірно розсіюється по всій поверхні.

Візуальна ілюстрація до освітлення за Фонгом: є джерело білого освітлення, амбіентна та дифузна складові сині, колір дзеркальне відбиття білий, відображає невелику частину світла, яке потрапляє на поверхню, але лише на невеликій частині поверхні. Інтенсивність дифузної компоненти залежить від розташування поверхні та напрямку освітлення, на відміну від амбієнтної, яка не залежить ні від розташування поверхні, ні від напрямку освітлення.

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. Watt, Alan H.; Watt, Mark (1992). Advanced Animation and Rendering Techniques: Theory and Practice. Addison-Wesley Professional. с. 21–26. ISBN 978-0-201-54412-1.
  2. Foley, James D.; van Dam, Andries; Feiner, Steven K.; Hughes, John F. (1996). Computer Graphics: Principles and Practice. (2nd ed. in C). Addison-Wesley Publishing Company. с. 738 and 739. ISBN 0-201-84840-6.
  3. B. T. Phong, Illumination for computer generated pictures, Communications of ACM 18 (1975), no. 6, 311–317.
  4. University of Utah School of Computing, http://www.cs.utah.edu/school/history/#phong-ref [Архівовано 3 вересня 2013 у Wayback Machine.]