Directxtk SpriteFont размыто, когда не целое число

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

Текст становится размытым, если я использую не целое число для позиции строки. Есть идеи, что вызывает это и как это исправить?

this->pSpriteBatch->Begin();
this->pSpriteFont->DrawString(this->pSpriteBatch, szTempMessage, XMFLOAT2(x, y), color);
this->pSpriteBatch->End();

Я звоню только с параметрами позиции и цвета.

1 ответ

SpriteBatch оказывает с помощью CommonStates::LinearClamp по умолчанию, поэтому он будет размытым, если вы будете рендерить в субпиксельное местоположение. Вы можете попробовать использовать другой режим фильтрации, переопределив его Begin:

// create an instance of CommonStates as pStates

pSpriteBatch->Begin(SpriteSortMode_Deferred,
    nullptr /*use default blend state */,
    pStates->AnisotropicClamp());
pSpriteFont->DrawString(...);
pSpriteBatch->End();

Посмотрите, улучшит ли это ваши результаты.

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