none
Direct3D与Vista下的Areo效果兼容问题 RRS feed

  • 问题

  • 我有个程序,采用Direct3D来渲染界面。
    在Vista下, 打开Areo效果,再关闭Areo效果,再打开Areo效果,再关闭Areo效果......, 如果连续切换玻璃效果的状态(使其打开或关闭)多次后,Driect3D绘画的界面不再显示了,那位高手能解释一下。谢谢。

    我的Direct3D程序如下。

    IDirect3D9 *m_pD3D;
    IDirect3DDevice9 *
    m_pDevice;

    .....................


    m_pD3D = :Big Smileirect3DCreate9(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);

    2009年1月5日 4:15