最近一直接触的都是C#的东东,好久没写C++代码了,怕手生忘记了,打算写写C++的代码。写什么好呢?想来想去,以前的工作学过接触了些OpenGL,那我就学习一下D3D吧。原以为D3D的中文入门资料会很多的,结果找了半天也没找到合适的。哎,随便将就着学吧。
既然是来兴趣学一下,我可不想去下个超大的DirectX安装包,所以首先,当然得找到lib库和头文件啦,我在GameRes游戏开发资源网上找到了,只有3.2M,呵呵,够小吧。地址如下:
下载下来解压后,假设解压到d:/codelib/dx9csdk下吧, 首先得把INC和lib目录加到VC的搜索路径上去。
我用VS2005, 选择菜单Tools - Option - Projects and Solutions - VC++ Directories
如图:
然后,接下来就可以开始写代码了。
我们采用Win32API来创建窗口,为了重用代码,创建窗口使用了我博客里介绍的一个类KWindow,请见:
我们新建一个类,叫做KD3DWindow把,从KWindow继承。
其UML图如下所示:
KWindow的内容请看我博客上的前一篇文章吧。
KD3DWindow.h的内容如下所示:
- #include "KWindow.h"
- #include <D3D8.H>
- #pragma comment(lib, "D3d8.lib") //链接库
- class KD3DWindow : public KWindow
- {
- private:
- void OnKeyDown(WPARAM wParam, LPARAM lParam);
- void OnDraw(HDC hDC);
- void GetWndClassEx(WNDCLASSEX & wc);
- //D3D相关
- void Render();
- void Cleanup();
- HRESULT InitD3D( HWND hWnd );
- public:
- KD3DWindow();
- ~KD3DWindow();