D3DXCreateTexture与 LPDIRECT3DDEVICE8::CreateTexture 的区别

 

以前没有特别注意,今天做了一个非2次方的图片的压缩,发现D3DXCreateTexture与LPDIRECT3DDEVICE8::CreateTexture在创建纹理的时候竟然有这样的区别

如:要创建一个200×200的纹理

用D3DXCreateTexture创建出来的纹理,再用GetLevelDesc来查询纹理信息,会发现,他已经优化过了尺寸信息,为256×256,Pitch也是256

如果用LPDIRECT3DDEVICE8::CreateTexture创建纹理的时候,用GetLevelDesc查询纹理信息,会发现纹理信息是200×200,Pitch也是200

暂时还不清楚,这个是否跟显卡也有关系……

纹理的填充问题:

如果我们用D3DXCreateTexture来创建一个200×200的纹理,填充时要一行一行的来写象素

就如我们创建了一个256×256的图片,而我们只是对左上角的200×200感兴趣而已

你可能感兴趣的:(程序涂鸦)