glShadeModel(GL_FLAT);

В режиме плоского закрашивания OpenGL использует вектор нормали, ассоциированный с первой вершиной каждого очередного закрашиваемого многоугольника. Для примитивов типа полосы из треугольников (triangle strip) OpenGL для первого треугольника полосы использует нормаль к третьей вершине, для второго треугольника - нормаль к четвертой вершине и т.д. Аналогичная последовательность используется и при закрашивании полос из четырехугольников (quadrilateral strips).

На изображении, сформированном алгоритмом плоского закрашивания, четко видна разница в оттенках цвета отдельных многоугольников сети, причем если источник света или наблюдатель расположены достаточно близко к объектам сцены, то это отличие порождается не только разной ориентацией многоугольников (значениями векторов нормалей п), но и разным направлением векторов 1 и v. Но при аппроксимации таким способом гладкой поверхности качество изображения может удовлетворить только самого непритязательного пользователя, поскольку переход между отдельными многоугольниками сети на изображении кажется очень резким (рис. 6.27). Одна из особенностей зрительной системы человека заключается в том, что она очень чувствительна к малым изменениям оттенка соседних участков изображения вследствие так называемой вторичной задержки (lateral inhibition). Если рассматривать шкалу с дискретно изменяющейся интенсивностью участков (рис. 6.28), то каждый переход будет восприниматься таким образом, что с одной стороны перехода кажется, будто интенсивность участка понизилась по сравнению с номинальной, а с другой стороны перехода участок вначале кажется более темным, чем номинальный (рис. 6.29). Таким образом, в области светотеневого перехода глаз воспринимает полосы Маха (Mach bands). Это явление объясняется характером связи между колбочками и оптическим нервом, и единственное, что может сделать разработчик компьютерной графической системы для устранения такого неприятного эффекта - постараться по возможности сгладить контраст между оттенками соседних участков на границе многоугольников.


⇐ Предыдущая| |Следующая ⇒