ОСВЕЩЕНИЕ
5.5. Освещение по Фонгу
Здесь принято делать, как минимум, такие предположения:
Да-да, здесь нет никакой ошибки. Практически все обычно используемые (в demo по меньшей мере) методы т.н. "освещения по Фонгу" НЕ учитывают отраженной компоненты освещенности.
Здесь будет рассказано о самом, наверное, популярном методе освещения по Фонгу, который сводит освещение к текстурированию по определенной текстуре.
Этот метод базируется на таких добавочных предположениях:
То есть, утверждается, что если в вершинах нормаль к объекту имеет длину 1, то при интерполяции этой нормали между вершинами по какой-то грани мы будем получать в каждой точке нормаль той же самой длины 1. На самом деле это вовсе даже не так, но для несильно разнящихся углов наклона нормалей приблизительно верно.
Так как Ks = 0, а длина N по предположению равна 1 на всей грани, имеем:
intensity = ambient + amp * (N * L).
Рассмотрим упрощенный случай, когда вектор L = (0,0,1).