Затемнення за Фонгом
Затемнення за Фонгом (англ. Phong shading), це інтерполяційний метод комп'ютерної графіки, який використовується для побудови неперервного градуйованого освітлення поверхонь у 3D комп'ютерній графіці. Також називається інтерполяцією Фонга[1] або нормально-векторною інтерполяціює затінення.[2] Метод ґрунтується на інтерполяції нормалей поверхні за растеризованими полігонами та обчислює колір пікселів на основі інтерпольованої нормалі та моделі відбиття світла. Затемнення за Фонгом може також відноситися до поєднання інтерполяції за Фонгом та моделі відбиття Фонга.
Історія
Затемнення за Фонгом і моделі відбиття Фонга були розроблені в університеті штату Юта, Буйєм Туонгом Фонгом, який опублікував їх у своїй кандидатській дисертації у 1973 році.[3][4]Методи Фонга вважалися радикальним у момент їх введення, але з того часу стали базовим методом обчислення затемнення для багатьох додатків візуалізації. Методи Фонга стали популярними через їх ефективне використання часу для обчислення кольору пікселів.
Фонгова інтерполяція
Затемнення за Фонгом удосконалює метод затемнення по Гуро і забезпечує краще наближення затемнення гладкої поверхні. Затемнення за Фонгом забезпечує більш гладку зміну вектора нормалі до поверхні. Інтерполяційний метод Фонга працює краще, ніж затемнення Гуро, коли застосовується до моделі відображення, яка має невеликі дзеркальні відблиски, такі як у моделі відбиття Фонга. Найсерйозніша проблема затемнення за Гуро виникає, коли дзеркальні відблиски знаходяться в середині великого полігону. Оскільки ці дзеркальні підсвічування відсутні в вершинах багатокутника, то затемнення за Гуро є інтерполяцією кольорів вершин, і тому дзеркальний відблиск буде відсутній на зображенні полігону. Ця проблема виправлена вирішується у методі Фонга.
На відміну від затемнення Гуро, яке інтерполює кольори через полігони, в затемненні Фонга вектор нормалі до поверхні лінійно інтерполюється на багатокутник за нормалями у вершинах багатокутника. Нормаль поверхні інтерполюється і нормалізується в кожному пікселі, а потім використовується в моделі відбиття Фонга, для отримання кінцевого кольору пікселя. Затемнення за Фонгом потребує більше обчислювальних ресурсів, ніж у затемненні Гуро, оскільки модель відбиття має бути обчисленною в кожному пікселі, а не лише в вершинах.
У сучасному графічному обладнанні, варіанти цього алгоритму реалізовані з використанням піксельних або фрагментних шейдерів.
Модель відбиття Фонга
Затемнення за Фонгом можна також віднести до конкретної комбінації інтерполяції за Фонгом та моделі відбиття Фонга, яка є емпіричною моделлю локального освітлення. Це є опис того, в який спосіб поверхня відбиває світло, як поєднання дифузного відбиття світла грубої поверхні з дзеркальним відбиттям світла відполірованих поверхонь. Ця модель заснована на власному спостереженні Буйя Туонга Фонга, який зауважив, що блискучі поверхні містять невеликі зони з інтенсивними дзеркальними відблисками, у той час як матові поверхні мають великі області, в яких освітлення змінюється поступово. Також модель освітлення включає в себе амбієнтне освітлення, тобто навколишнє освітлення, яке рівномірно розсіюється по всій поверхні.
Див. також
- Список загальних алгоритмів затемнення
- Blinn–Phong затемнення моделі-Фонга, модель відображення зміни при передачі точності з обчислювальною ефективністью.
- Затемнення по Гуро — затемнення полігонів шляхом інтерполяції кольору, які розташовані на вершинах.
- Модель відбиття Фонга — відображення моделі які часто використовується з Фонговим затемненням.
- Дзеркальне відбиття — інші освітлювальні дзеркальні рівняння.
Примітки
- 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.
- 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.
- B. T. Phong, Illumination for computer generated pictures, Communications of ACM 18 (1975), no. 6, 311–317.
- University of Utah School of Computing, http://www.cs.utah.edu/school/history/#phong-ref