我是Direct3D的新手,我在一個項目中從網絡攝像頭拍照並在它前面畫出一些3D對象。2D Sprite(背景)前面的3D對象,怎麼樣?
我能夠使用正交投影將網絡攝像頭圖像渲染爲背景。
//init matrix
D3DXMatrixOrthoLH(&Ortho, frameWidth, frameHeight, 0.0f, 100.0f);
//some code
D3DXVECTOR3 position = D3DXVECTOR3(0.0f, 0.0f, 100.0f);
g_pSprite->Begin(D3DXSPRITE_OBJECTSPACE);
g_pSprite->Draw(g_pTexture,NULL,¢er,&position,0xFFFFFFFF);
g_pSprite->End();
然後我試着在它前面插入一個簡單的三角形。該矩陣是設置爲跟隨
D3DXMATRIXA16 matWorld;
D3DXMatrixTranslation(&matWorld, 0.0f,0.0f,5.0f);
g_pd3dDevice->SetTransform(D3DTS_WORLD, &matWorld);
D3DXMATRIXA16 matProj;
D3DXMatrixPerspectiveFovLH(&matProj, D3DX_PI/4, 1.0f, 1.0f, 100.0f);
g_pd3dDevice->SetTransform(D3DTS_PROJECTION, &matProj);
5.0應該< 100.0和三角形應該是出現在圖像的前面。然而,它不會出現,除非設置z位置爲0.在位置0,我可以看到三角形,但背景是空白的。
你們有什麼建議嗎?