Direct3D与Vista下的Areo效果兼容问题
问题
-
我有个程序,采用Direct3D来渲染界面。
在Vista下, 打开Areo效果,再关闭Areo效果,再打开Areo效果,再关闭Areo效果......, 如果连续切换玻璃效果的状态(使其打开或关闭)多次后,Driect3D绘画的界面不再显示了,那位高手能解释一下。谢谢。
我的Direct3D程序如下。
IDirect3D9 *m_pD3D;
IDirect3DDevice9 *m_pDevice;
.....................
m_pD3D = :
irect3DCreate9(D3D_SDK_VERSION);m_pD3D->CreateDevice(0, D3DDEVTYPE_HAL, m_hWnd, 32, &d3dpp, &m_pDevice);
//因为使用顶点颜色渲染,所以要禁用光照处理
m_pDevice->SetRenderState(D3DRS_LIGHTING, FALSE);
//关闭“挑选”功能,允许渲染背面
m_pDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
.........................
m_pDevice->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 255), 1.0f, 0);
m_pDevice->BeginScene();
......................绘画界面
m_pDevice->EndScene();
m_pDevice->Present(NULL, NULL, m_hWnd, NULL);