| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 349 人关注过本帖
标题:dirext里面有两代码不明白 可以帮我解释一下吗
只看楼主 加入收藏
q345918550q
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2010-3-28
结帖率:30%
收藏
 问题点数:0 回复次数:0 
dirext里面有两代码不明白 可以帮我解释一下吗
HRESULT InitD3D(HWND hWnd)
{
        if(g_pD3D == NULL)
    {
        return E_FAIL;
    }

       typedef struct _D3DDISPLAYMODE
     {
        UINT             Width;
        UINT             Height;
        UINT             RefreshRate;
        D3DFORMAT         Format;
     } D3DDISPLAYMODE
   
    D3DDISPLAYMODE d3ddm;
    if(FAILED(g_pD3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &d3ddm)))
    {
        return E_FAIL;
    }

        D3DPRESENT_PARAMETERS d3dpp;
    ZeroMemory(&d3dpp, sizeof(d3dpp));

    d3dpp.Windowed = TRUE;
        d3dpp.BackBufferFormat = d3ddm.Format;

    D3DCAPS9 caps;
    g_pD3D ->GetDeviceCaps(
                    D3DADAPTER_DEFAULT, // 主显示设备
                     D3DDEVTYPE_HAL,    // 硬件处理的方式   
                    &caps            //返回填充后的D3DCAPS9结构,包含主显示设备的能力
            );                        // 是否可以使用硬件顶点处理?

    int vp = 0;

    if( caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT )
    {
        // 是,支持硬件顶点处理
        vp = D3DCREATE_HARDWARE_VERTEXPROCESSING;
    }
    else
    {
        // 不,只能用软件顶点处理
        vp = D3DCREATE_SOFTWARE_VERTEXPROCESSING;
    }

    if(FAILED(g_pD3D->CreateDevice(    D3DADAPTER_DEFAULT,
                                    D3DDEVTYPE_HAL,
                                    hWnd,
                                    vp,
                                    &d3dpp,
                                    &g_pD3DDevice)))
    {
        return E_FAIL;
    }

    return S_OK;
}

void Render()
{
    if(g_pD3DDevice)
    {
        g_pD3DDevice->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(255,120,0), 1.0f, 0);        
                 g_pD3DDevice->Present(NULL, NULL, NULL, NULL);
    }
}

void CleanUp()
{
    if(g_pD3DDevice)
    {
        g_pD3DDevice->Release();
        g_pD3DDevice=NULL;
    }
    if(g_pD3D)
    {
        g_pD3D->Release();
        g_pD3D=NULL;
    }
}
就是红色的那一段,那个if里边的DevCaps是怎么来的,那个D3DDEVCAPS_HWTRANSFORMANDLIGHT 什么意思··并且 vp =D3DCREATE_HARDWARE_VERTEXPROCESSING中的D3DCREATE_HARDWARE_VERTEXPROCESSING它是一个int型的数据?
搜索更多相关主题的帖子: 代码 dirext 解释 
2010-10-18 17:12
快速回复:dirext里面有两代码不明白 可以帮我解释一下吗
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011437 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved