XNA добавляет цвета при наложении - PullRequest
0 голосов
/ 05 августа 2011

У меня есть спрайты, которые, когда они перекрываются, я хотел бы, чтобы они «добавляли» свои значения rgb цветов, чтобы (потенциально) становились белыми, у спрайтов также есть альфа-значения изменения, которые должны оставаться неизменными.Я уже пытался использовать все опции spritebatch alphablend, добавок и т.д ...

Это возможно через spritebatch или мне понадобится шейдер?

Спасибо, Пол.

1 Ответ

0 голосов
/ 07 августа 2011

Используя схему Premultiplied Alpha в XNA 4, вы можете сделать аддитивное смешивание, нарисовав текстуру в 0 alpha.Поскольку это означает, что для текстуры выполняется 0 блокировок, а затем к пикселям позади нее добавляется RGB, вы получаете аддитивное смешивание.

Просто нарисуйте текстуру с 0 альфа, используя режим spritebatch «Alphablend».,Чтобы снизить аддитивность, увеличьте альфа.Чтобы сделать его менее заметным, уменьшите RGB.

Я настоятельно рекомендую убедиться, что для любых текстур в вашем контенте отмечена опция «Предварительно умноженная альфа», если вы используете это.

...