Установите для режима адресации текстуры цвет границы в DirectX9.

Я пытаюсь установить для режима адресации текстур цвет границы в моем приложении DirectX. Согласно этому источнику, все, что мне нужно сделать, это:

вызовите IDirect3DDevice7::SetTextureStageState и передайте идентификатор этапа текстуры в качестве первого аргумента, значение состояния этапа D3DTSS_BORDERCOLOR в качестве второго аргумента и желаемый цвет границы RGBA в качестве третьего аргумента.

Я пытаюсь использовать следующий код:

m_device->SetTextureStageState(0, D3DTSS_BORDERCOLOR, 0);

Но я получаю сообщение об ошибке компиляции

идентификатор "D3DTSS_BORDERCOLOR" не определен


person Robin    schedule 12.06.2014    source источник


Ответы (1)


Вы уверены, что хотите использовать DirectX7?

Ваш документ слишком стар, это для DirectX7, который сейчас устарел, вы должны использовать следующую функцию в DirectX9

m_device->SetSamplerState(0, D3DSAMP_BORDERCOLOR, 0xffff0000) // red color

Обновлено:

Если вы не установили правильный адресный режим, вот код пограничного режима.

m_device->SetSamplerState(0, D3DSAMP_ADDRESSU,  D3DTADDRESS_BORDER);
m_device->SetSamplerState(0, D3DSAMP_ADDRESSV,  D3DTADDRESS_BORDER);
person zdd    schedule 12.06.2014
comment
Не знал этого! Однако приведенный выше код не решает мою проблему. Режим адресации текстур по-прежнему «обтекание». - person Robin; 12.06.2014
comment
Я предполагаю, что вы не установили правильный режим адресации, посмотрите мое обновление, пожалуйста. - person zdd; 12.06.2014