Плоское закрашивание устанавливается в OpenGL с помощью команды

glShadeModel(GL_FLAT);

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

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

Рис. 8.23. Две сетки, визуализированные с использованием плоского закрашивания Ребра между гранями явно выглядят более выраженными, чем они были бы на истинном физическом объекте, - это происходит в силу зрительного эффекта, известного как «боковое торможение» (lateral inhibition) и описанного впервые Эрнстом Махом (Ernst Mach)1. Если на объекте имеется разрыв интенсивности, то при созерцании этого разрыва в глазу возникает так называемая полоса Маха (Mach band), в результате чего просматривается четкое ребро. Эта зона преувеличивает полигональный «вид» каркасных объектов, визуализируемых с помощью плоского закрашивания.

1 Эрнст Мах (1838-1916) - австрийский физик, чьи ранние работы оказали сильное влияние на появление теории относительности.

8,3. Плоское и плавное закрашивание Зеркальные блики плохо визуализируются в рамках плоского закрашивания, опять же вследствие того, что вся грань заполняется тем цветом, который был вычислен только для одной вершины. Если случится так, что у этой репрезентативной вершины имеется значительный зеркальный компонент, то вся грань будет окрашена с этой яркостью. Если же зеркальный блик не выпадает на репрезентативную точку, то он полностью игнорируется. По этой причине в вычислительный процесс закраски мало смысла включать компонент зеркального отражения.

8.3.2. Плавное закрашивание При плавном закрашивании делается попытка затушевать ребра между гранями - путем вычисления цветов в большем числе точек каждой грани. Существует два основных типа плавного закрашивания"opengl1_548.html">⇐ Предыдущая| |Следующая ⇒