我正在尝试在我的DirectX应用程序中将纹理寻址模式设置为边框颜色。根据{{3}}来源,我所要做的就是:
调用IDirect3DDevice7 :: SetTextureStageState 并将纹理阶段标识符作为第一个参数传递给 D3DTSS_BORDERCOLOR阶段状态值作为第二个参数,和 期望的RGBA边框颜色作为第三个参数
我尝试使用以下代码:
m_device->SetTextureStageState(0, D3DTSS_BORDERCOLOR, 0);
但是我收到编译错误
标识符" D3DTSS_BORDERCOLOR"未定义
答案 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);