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值