Как создать подвижную маску XNA на WP7

#windows-phone-7 #xna

#windows-phone-7 #xna

Вопрос:

У меня есть две текстуры: фон и маска. Мне нужно сделать вывод, что маска определяет, что отображается на фоне формы. Очень важной частью является то, что маска должна быть меньше по размеру, чем фон, я буду перемещать ее во время выполнения, открывая части фона.

введите описание изображения здесь

Проект находится на WP7, поэтому возможности для BlendState манипуляций ограничены.

Ответ №1:

Вы можете использовать встроенный AlphaTestEffect с буфером трафарета для достижения требуемой маскировки.

Следующие шаги:

  1. Очистите буфер трафарета
  2. Перенесите свою маску в буфер трафарета с помощью AlphaTestEffect, чтобы отображались только непрозрачные пиксели.
  3. Нарисуйте свое изображение, используя маскировку буфера трафарета.

В статье «Дерьмовое кодирование» «Изменение текстуры с использованием объектов рендеринга с некоторым действием буфера трафарета» показано, как это сделать, и приведен рабочий пример кода.