Поделиться через


Растворяет, исчезает и проводит пальцем (Direct3D 9)

Все чаще приложения используют специальные эффекты, которые часто используются в фильмах и видео, таких как растворения, пальцы и исчезания.

В растворе один образ постепенно заменяется другим в гладкой последовательности кадров. Хотя Direct3D предоставляет методы использования нескольких смешений текстур для достижения одного эффекта, приложения, использующие буфер наборов элементов для растворений, могут использовать возможности смешения текстур для других эффектов во время их растворения.

Когда приложение выполняет растворение, оно должно отображать два разных изображения. Он использует буфер набора элементов для управления тем, какие пиксели из каждого изображения рисуются на целевой поверхности отрисовки. Можно определить ряд маски наборов элементов и скопировать их в буфер наборов элементов на последовательных кадрах. Кроме того, можно определить базовую маску элементов для первого кадра и изменить ее постепенно.

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

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

Приложения Direct3D используют аналогичный метод для проводите пальцем. Например, когда приложение выполняет пальцем влево направо, конечный образ будет постепенно скользить поверх начального изображения слева направо. Как и в растворе, необходимо определить ряд маск наборов элементов, загруженных в буфер наборов элементов на последовательных кадрах, или последовательно изменить начальную маску наборов элементов. Маски набора элементов используются для отключения записи пикселей из начального изображения и включения записи пикселей из конечного изображения.

Пальцем несколько сложнее, чем растворение в том, что приложение должно считывать пиксели из конечного изображения в обратном порядке прокрутки. То есть, если проводите пальцем слева направо, приложение должно считывать пиксели из конечного изображения справа налево.

Методы буфера