void initD3D(HWND hwnd); / / 设置并初始化 Direct3D
{
d3d=Direct3DCreate9(D3D_SDK_VERSION);
D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory(&d3dpp,sizeof(d3dpp));
d3dpp.Windowed=FALSE;
d3dpp.SwapEffect=D3DSWAPEFFECT_DISCARD;
d3dpp.hDeviceWindow=hwnd;
d3dpp.BackBufferFormat=D3DFMT_X8R8G8B8;
d3dpp.BackBufferWidth=SCREEN_WIDTH;
d3dpp.BackBufferHeight=SCREEN_HEIGHT;
d3d->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,hwnd,D3DCREATE_SOFTWARE_VERTEXPROCESSING,&d3dpp,&d3ddev);
}
void render_frame(void);/ / 将呈现单个帧
{
d3ddev->Clear(NULL,NULL,D3DCLEAR_TARGET,D3DCOLOR_XRGB(0,40,100),1.0f,0);
d3ddev->BeginScene();
d3ddev->EndScene();
d3ddev->Present(NULL,NULL,NULL,NULL);
}
void cleanD3D(void);/ / 关闭 Direct3D 并释放内存
{
d3ddev->Release();
d3d->Release();
}
SCREEN_WIDTH=GetSystemMetrics(SM_CXSCREEN);
SCREEN_HEIGHT=GetSystemMetrics(SM_CYSCREEN);//获取屏幕分辨率
CreateWindow(szWindowClass, szTitle, WS_EX_TOPMOST|WS_POPUP,
0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, NULL, NULL, hInstance, NULL)//全屏模式