我是使用c ++和direct3d编程的新手。我尝试用精灵(LPD3DXSPRITE)在屏幕上绘制纹理(LPDIRECT3DTEXTURE9)。但是,当我绘制纹理时,它似乎放大它,100x100像素纹理不是从坐标(100,100)到(200,200),而是从(100,100)到(227,227),我测试了在这些坐标处绘制1x1 px块。我无法弄清楚为什么会出现这种情况...... LPDIRECT3DDEVICE9的创建对它有任何影响,还是可能是完全不同的?
答案 0 :(得分:0)
这似乎是一个扩展问题。当您第一次调用CreateTextureFromFile()时,该函数会将纹理缩放到2规则的幂(例如512,256)。要解决这个问题,只需将setScale函数调用为1,1即可解决问题:)