Color.FonNonPremultiplied различные оттенки с BlendState.NonPremultiplied

В моем проекте XNA я использую необработанные изображения и рисую их BlendState.NonPremultiplied поэтому они выглядят нормально по краям. Но когда я использую не белый цвет (Color.FromNonPremultiplied(12, 34, 56, 78)) в SpriteBatch.Draw метод, он не подкрашивает спрайт, как если бы BlendState был установлен по умолчанию.

Как добиться того же оттенка, который позволяет стандартное blendstate, не переключаясь на него?

1 ответ

Решение

В документации говорится о методе Color.FromNonPremultiplied: преобразует предварительно не умноженный альфа-цвет в цвет, который содержит предварительно умноженный альфа.

Исходя из этого, вы должны использовать либо BlendState.NonPremultipliedа также Color(12, 34, 56, 78)

ИЛИ ЖЕ

BlendState.AlphaBlend а также Color.FromNonPremultiplied(12, 34, 56, 78)

все вместе.

Другие вопросы по тегам