}

С вычислительной точки зрения закраска Гуро обходится ненамного дороже, чем плоское закрашивание. Закраска Гуро устанавливается в OpenGL с помощью функции:

glShadeModel (GLJMOOTH) :

На рис. 8.24 показаны бакибол и сфера, визуализированные с помощью закраски Гуро. Бакибол выглядит так же, как в случае визуализации с плоским закрашиванием (см. рис. 8.23), поскольку с каждой вершиной грани связан один и тот же цвет, поэтому интерполяция ничего не меняет. Однако сфера выглядит гораздо более гладкой: отсутствуют резкие скачки цвета между соседними гранями, а ребра между гранями (полосы Маха) исчезли, уступив место плавному изменению цвета по поверхности объекта. В то же время вдоль силуэта еще можно видеть ребра, ограничивающие отдельные грани.

Две сетки, визуализированные с помощью плавного закрашивания

Рис. 8.24. Две сетки, визуализированные с помощью плавного закрашивания Почему же исчезают ребра при использовании этой техники? На рис. 8.25, а изображены две грани, .Ри ¥', имеющие общее ребро. При визуализации грани ¥ используются цвета с1 и ск , а при визуализации грани Р - цвета с[ и с'я. Но поскольку цвета ск и с[ одинаковы, резкое изменение цвета на ребре вдоль строки развертки отсутствует.

Непрерывность цвета, пересекающего ребро полигона

Рис. 8.25. Непрерывность цвета, пересекающего ребро полигона На рис. 8.25, б показано, как при закраске Гуро проступает «истинная» поверхность, аппроксимированная сеткой. В поперечном сечении показана полигональная поверхность с отмеченными вершинами"opengl1_550.html">⇐ Предыдущая| |Следующая ⇒