Аналогичен методу Гуро, но при использовании метода Фонга для определения цвета в каждой точке интерполируются не интенсивности отраженного света, а векторы нормалей.
• Определяются нормали к граням.
• По нормалям к граням определяются нормали в вершинах. В каждой точке закрашиваемой грани определяется интерполированный вектор нормали.
• Цвет каждой точки грани вычисляется в соответствии с направлением интерполированного вектора нормали и согласно выбранной модели отражения света.
Метод Фонга сложнее метода Гуро. Для каждой точки (пиксела) поверхности необходимо выполнять намного больше вычислительных операций. Тем не менее, он дает значительно лучшие результаты, в особенности при имитации зеркальных поверхностей.
Общие черты и отличия методов Гуро и Фонга можно показать на примере образца цилиндрической поверхности, которая аппроксимирована плоскими гранями (рис. 8.8). Пусть точечный источник света находится позади нас. Проанализируем результаты закрашивания граней поверхности для имитации отражения света.
Рис. 8.8. Отличия закрашивания методами Гуро и Фонга
Основные отличия можно заметить, рассматривая закрашивания передней грани. Она перпендикулярна направлению лучей света. Поэтому нормали в вершинах этой грани располагаются симметрично — они образуют попарно равные по абсолютной величине углы с лучами света. Для метода Гуро это обуславливает одинаковые интенсивности отраженного света в вершинах передней грани. А раз интенсивности для всех вершин одинаковые, то цвет всех точек этой грани — константа (при линейной интерполяции), что, в данном случае, неправильно.