MMX-команды помогают разрабатывать более эффективные программы компьютерной графики и обработки видеоизображений, во многих случаях позволяя избежать условных переходов. Например, для выделения графического объекта и наложения его на неоднородный фон можно воспользоваться следующими командами:
1. Сформировать маску сравнением цвета точек верхней картинки с синим цветом командой pcmpeqb.
2. Командой pand присвоить значение 0 всем точкам сцены, на которые будет наложен объект "Герой".
3. Командой pandn присвоить значение 0 всем синим точкам исходной картинки с "героем".
4. Выполнить наложение точек объекта на фон командой por.

Code Example
Этот фрагмент программы обрабатывает восемь точек в каждом изображении. Для наложения всего объекта на фон данный фрагмент надо выполнить в цикле для всех точек изображения.

1. Команда pcmpeqb формирует маску: точки, соответствующие "герою" заполняются нулями, а окружающие точки - единицами.

2. Команда pand присваивает значение 0 всем точкам фона, на которые попадет "герой".

3. Команда pandn присваивает значение 0 всем синим точкам картинки с "героем".

4. Команда por выпоняет наложение "героя" на фон.

back Возврат к началу темы