我一直在研究一些directX教程。他们都提到D3DXCreateTextureFromFileEx
用于将图像从文件加载到视频内存中。然而,没有人(我已经看过)谈论如何释放内存。我可以在返回的指针上调用free()吗?
答案 0 :(得分:2)
与几乎所有的DirectX API一样,当您创建新对象时,它将作为指向COM接口的指针返回。在您的情况下,您将获得指向IDirect3DTexture9
接口的指针。
如果要释放这些资源,可以使用普通的COM方法来处理引用计数的接口,方法是在指针上调用Release()
:
IDirect3DDevice9 *pTexture = NULL;
D3DXCreateTextureFromFileEx( /* ... */, &pTexture);
// ... use the texture .....
// release interface
pTexture->Release();
pexture = NULL;