Модели закрашивания

Существует несколько моделей закрашивания плоских граней.

На закрашивание грани в общем случае влияют направления четырех векторов: нормали к плоскости грани (), направления на источник света (), направления идеального зеркального отражения () и направления на наблюдателя (). При переходе от одной точки плоской грани к другой направление вектора остается постоянным, изменяются только вектора , и . Однако, в случае удаленного источника света и далеко расположенного наблюдателя этими изменениями можно пренебречь.

Это свойство используется в самой простой модели плоского закрашивания, когда освещенность одной, произвольной точки грани, принимают за освещенность всей грани, т.е. грань закрашивается равномерно. Недостаток этого метода – резкие переходы цвета между соседними гранями.

Резкость цветовых переходов дополнительно увеличивается из-за возникновения т.н. полос Маха, когда светлая грань вблизи ее границы с более темной гранью субъективно воспринимается глазом человека еще светлее, чем она есть на самом деле. На темной грани вблизи ее границы с более светлой гранью, наоборот, создается иллюзия более темной полосы.

Для сглаживания полос Маха применяются закрашивание, основанное на интерполяции интенсивности (метод Гуро), и закрашивание, основанное на интерполяции нормали (метод Фонга), .

При закрашивании методом Гуро интенсивность освещенности определяется отдельно для каждой вершины грани. Освещенность вдоль ребер грани интерполируется от значения освещенности в начальной вершине ребра до значения освещенности в конечной вершине. Поверхность грани закрашивается горизонтальными отрезками с изменяющейся интенсивностью освещенности (интенсивность освещенности в начальной и конечной точках каждого отрезка была определена при закраске ребер грани).

Значения освещенности в вершинах грани определяются для осредненного значения нормали. Нормаль в вершине получается при усреднении значений нормалей всех сходящихся в этой вершине граней. При k сходящихся в вершине граней и единичной длине векторов нормалей усредненное значение нормали в вершине:

.

Закраска методом Гуро позволяет визуально сгладить переходы между гранями, однако в некоторых случаях не удается избежать появления полос Маха.

При закрашивании граней методом Фонга также вычисляются усредненные значения нормалей в вершинах, однако при закраске поверхности грани интерполируются не значения освещенности, а значения нормалей в каждой точке, и лишь потом вычисляется освещенность.

Закрашиванием объектов можно передать иллюзию глубины пространства или эффект тумана.

В природе контуры отдаленных объектов кажутся наблюдателю размытыми, затуманенными. Этот эффект можно смоделировать в процессе закраски объектов. Для этого среда, в которой находятся объекты, формируется полупрозрачной. Итоговый цвет объекта С рассчитывается по формуле:

C = f Co + (1 – f) Cf,

где Co – исходный цвет объекта, рассчитанный с учетом его освещенности, Cf – цвет полупрозрачной среды (тумана), f – функция туманности, которая зависит от расстояния между объектом и наблюдателем.

Для передачи глубины пространства используют линейную функцию туманности, для создания эффекта тумана – нелинейную (экспоненциальную и т.п.).