Вопросы к 38 - p1xelse/CG GitHub Wiki

Чем метод Фонга отличается от простой закраски и от метода Гуро?

Простая закраска: каждая грань закрашивается с константной интенсивностью, соответствующей нормали к грани. Из-за этого видны границы между областями константной интенсивности - визуальная "ребристость".

Закраска методом Гуро: для грани вычисляется интенсивность ее вершин (предварительно вычисляются нормали в вершинах грани). Интенсивность грани интерполируется по интенсивностям ее вершин. Это позволяет визуально сгладить ребристость.

  • Не учитывает кривизну поверхности.
  • Хорошо работает на матовых поверхностях (диффузная составляющая).

Закраска методом Фонга: для грани вычисляются нормали ее вершин - и интерполируются для каждой точки грани. Так, для каждой точки грани вычислена нормаль к ней - соответственно, может быть вычислена ее интенсивность.

  • Учитывает кривизну поверхности.
  • Хорошо работает на зеркальных поверхностях (зеркальная составляющая).

Как получаем значение интенсивности?


Возможно, куров хочет услышать что-то другое, но я не знаю, что

Преимущества и недостатки метода?

(+) Высокое качество визуальных характеристик, учитывается кривизна поверхности, качественно визуализируются блики на зеркальных поверхностях
(-) Большие вычислительные затраты, низкое быстродействие алгоритма (-) (трудности метода) Если покадрово визуализируется объект в различной ориентации, то закраска может значительно меняться от кадра к кадру (т.к. зависит от ориентации объекта)

В каких случаях (для каких поверхностей) применяется?

Для зеркальных поверхностей. (Поскольку в методе учитывается кривизна поверхности - полагаю, для кривых)