Самоучитель по 3dsmax 7

         

Освещение по Фонгу


ОСВЕЩЕНИЕ
5.5. Освещение по Фонгу

Здесь принято делать, как минимум, такие предположения:

  • Ks = 0 (то есть грань не отражает свет, а только рассеивает)

Да-да, здесь нет никакой ошибки. Практически все обычно используемые (в demo по меньшей мере) методы т.н. "освещения по Фонгу" НЕ учитывают отраженной компоненты освещенности.

Здесь будет рассказано о самом, наверное, популярном методе освещения по Фонгу, который сводит освещение к текстурированию по определенной текстуре.

Этот метод базируется на таких добавочных предположениях:

  • L - константа (как бы точечный источник, удаленный бесконечно далеко)
  • длина единичной нормали к объекту при интерполяции между вершинами грани НЕ меняется

То есть, утверждается, что если в вершинах нормаль к объекту имеет длину 1, то при интерполяции этой нормали между вершинами по какой-то грани мы будем получать в каждой точке нормаль той же самой длины 1. На самом деле это вовсе даже не так, но для несильно разнящихся углов наклона нормалей приблизительно верно.

Так как Ks = 0, а длина N по предположению равна 1 на всей грани, имеем:

intensity = ambient + amp * (N * L).

Рассмотрим упрощенный случай, когда вектор L = (0,0,1).



Содержание раздела