DirectX学习
1.vs下DirectX环境配置
(1)下载并安装DirectX sdk
(2)在vs下配置包含目录和引用目录。
SDK安装目录:C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)
包含目录:C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include
引用目录:C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86
2. DirectX初始化步骤
(1) 初始化COM对象
pD3D = Direct3DCreate9(D3D_SDK_VERSION);
(2) 获取硬件信息
D3DCAPS9 caps;
int vp = 0;
if (FAILED(pD3D->GetDeviceCaps(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, &caps))) {
return false;
}
(3) 创建对象
//创建设备
if (FAILED(pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hwnd, vp, &d3dpp, &g_pd3dDevice))) {
return false;
}
Objects_Init();//初始化渲染参数
(4) 图形渲染
//1.清屏操作
if (FAILED(g_pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0))) {
return;
}
//2.开始场景
if (FAILED(g_pd3dDevice->BeginScene())) {
return;
}
//3.正式绘制
if (FAILED(D3DXCreateFont(g_pd3dDevice, 25, 12, 0, D3DX_DEFAULT, false, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, DEFAULT_QUALITY, 0, L"MEPIX", &font))) {
return;
}
RECT fontPosition;
fontPosition.top = 20;
fontPosition.bottom = 200;
fontPosition.right = 200;
fontPosition.left = 20;
font->DrawText(0, L"Hello world!", -1, &fontPosition, DT_CENTER | DT_VCENTER, D3DCOLOR_XRGB(255 * rand() , 255 * rand(), 255 * rand()));
//4.结束场景
if (FAILED(g_pd3dDevice->EndScene())) {
return;
}
//5.翻转显示
g_pd3dDevice->Present(NULL, NULL, NULL, NULL);
(5) 清除
pD3D->Release();