На этом шаге мы рассмотрим заполнение растровыми изображениями.
Зачастую при использовании кистей и текстур используется копирование небольших растровых изображений. Такой алгоритм заполнения можно описать вышеупомянутой общей схемой, если строку С = f(x, у) заменить двумя другими строками:
. . . . Координаты пикселя заполнения (х, у) преобразуем в растровые координаты образца кисти (хт, ут) По координатам (хт, ут) определяем цвет (С) пикселя в образце кисти Вывод пикселя заполнения цвета С с координатами (х, у) . . . .
Преобразование координат пикселя заполнения (х, у) в координаты внути образца кисти можно выполнить таким образом:
xт = x mod m, yт = y mod n,
Рис.1. Копирование растра кисти
Удобно, когда размеры кисти равны степени двойки. В этом случае вместо операций взятия остатка (mod) можно использовать более быстродействующие для цифровых компьютеров поразрядные двоичные операции. Приведен пример вычисления остатка от деления на 16.
Здесь можно использовать поразрядную операцию & (И).
Еще один пример. Если необходимо вычислить X mod 256, а значение X записано в регистре АХ микропроцессора (совместимого с 80x86), то в качестве результата достаточно взять содержимое младшей байтовой части этого регистра - AL.
Для пикселей текстур часто употребляется название тексель.
На следующем шаге мы продолжим изучение этого вопроса.