direct3d9 как фильтровать текстуру для пиксельной графики - PullRequest
0 голосов
/ 01 октября 2019

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

device->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_NONE);

enter image description here

я пыталсяпочти все в setsamplerstate, но я не вижу никакой разницы

я знаю, что могу сделать фотографию больше, используя фотошоп, но могу ли я просто сделать так, чтобы она смотрелась с помощью direct3d9

1 Ответ

1 голос
/ 02 октября 2019

«Пиксель арт» обычно рисуется без наложения или билинейной фильтрации. Для устаревшего Direct3D 9 вы должны использовать (при условии, что ваши текстуры привязаны к слоту 0):

device->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_POINT);
device->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_POINT);
device->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_NONE);

На данный момент вам вообще не следует использовать устаревший Direct3D 9. Direct3D 11 - ваш лучший выбор. Если вы используете C ++, взгляните на SpriteBatch класс с CommonStates :: PointClamp () состоянием сэмплера в DirectX Tool Kit .

...