在DirectX9中将纹理寻址模式设置为边框颜色

时间:2014-06-12 12:47:49

标签: c++ directx texture-mapping directx-9

我正在尝试在我的DirectX应用程序中将纹理寻址模式设置为边框颜色。根据{{​​3}}来源,我所要做的就是:

  

调用IDirect3DDevice7 :: SetTextureStageState   并将纹理阶段标识符作为第一个参数传递给   D3DTSS_BORDERCOLOR阶段状态值作为第二个参数,和   期望的RGBA边框颜色作为第三个参数

我尝试使用以下代码:

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

但是我收到编译错误

  

标识符" D3DTSS_BORDERCOLOR"未定义

1 个答案:

答案 0 :(得分: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);