有段代码看不懂,C++与DX有点关系的

来源:百度知道 编辑:UC知道 时间:2024/06/18 04:10:02
typedef HRESULT (CALLBACK *LPDXUTCALLBACKDEVICECREATED)( IDirect3DDevice9* pd3dDevice, const D3DSURFACE_DESC* pBackBufferSurfaceDesc );

LPDXUTCALLBACKDEVICECREATED pCallbackDeviceCreated;

这个定义的到底是个什么?是个函数指针?还是只是一个简单的变量指针如何?

你这个代码是从DX9的 DXUT。h 里面粘来的吧?
DXUT 他把DX的创建/销毁/渲染/设备重启/丢失等操作
都做成 CALLBACK 函数的样子
最后在你的主CPP里面只要给这些函数指针附上正确的值,比如指向你自定义的函数。就可以方便的使用DXUT给你做好的框架了
pCallbackDeviceCreated 它的作用是指向dx9创建函数
一般在里面执行一些初始化操作,比如创建VertexBuffer,创建StateBlock等

应该是一个函数指针

这不就是DXUT里边设置回调函数的那个么?

就是回调函数指针罢了。

指向函数的指针啊。返回类型是HRESULT,参数是IDirect3DDevice9* pd3dDevice, const D3DSURFACE_DESC* pBackBufferSurfaceDesc。