首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

Direct3DRender渲染2d的图片如何写代码

2013-02-19 
Direct3DRender渲染2d的图片怎么写代码?Direct3DRender渲染2d的图片怎么写代码?VOID Direct3DRender() {g_

Direct3DRender渲染2d的图片怎么写代码?
Direct3DRender渲染2d的图片怎么写代码?
VOID Direct3DRender() 
{
    g_pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0);
    g_pd3dDevice->BeginScene();                     // 开始绘制

//渲染背景

    // 设置世界变换矩阵
    D3DXMATRIX matWorld, Rx, Ry;
    D3DXMatrixIdentity(&matWorld);
    D3DXMatrixRotationX(&Rx, -D3DX_PI / 5.0f);
    D3DXMatrixRotationY(&Ry,  0);
    matWorld = Rx * Ry * matWorld;
    g_pd3dDevice->SetTransform(D3DTS_WORLD, &matWorld);

    // 设置填充方式
    if (::GetAsyncKeyState('F') & 0x8000f)
        g_pd3dDevice->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME);
    if (::GetAsyncKeyState('S') & 0x8000f) 
        g_pd3dDevice->SetRenderState(D3DRS_FILLMODE, D3DFILL_SOLID);

    // 绘制网格
    for (DWORD i = 0; i < g_dwNumMtrls; i++)
    {
        g_pd3dDevice->SetMaterial(&g_pMaterials[i]);
        g_pd3dDevice->SetTexture(0, g_pTextures[i]);
        g_pMeshTiny->DrawSubset(i);
    }

    g_pd3dDevice->EndScene();                       // 结束绘制
    g_pd3dDevice->Present(NULL, NULL, NULL, NULL);  // 翻转
}
[解决办法]
你这是画Mesh.. 我记得以前dxSDK例题不是有代码么。
[解决办法]
quad
正交投影
replace模式texture
关闭深度测试
关闭光照
[解决办法]
没开启深度缓冲的话按顺序渲染即可,开启了就修改Z值

热点排行