2012-08-04 34 views
0

directx 2網格旋轉但1.模型將轉動y,2.模型轉動z軸(我試圖讓把不同的方式)directx 2網格旋轉但是1.模型將轉動y,2.模型轉動z軸(我試圖使轉動方式不同)

static float index = 0.0f; index+=0.003f; 
    D3DXMATRIX matRotate; //rotate matrix 
    D3DXMatrixRotationYawPitchRoll(&matRotate, index, 0, 0); // set up matrix 
    directx->SetTransform(D3DTS_WORLD, &matRotate); 

但這2旋轉了他們同樣的方式

+0

更具體一點,出了什麼問題。你有兩個網格。好。他們應該旋轉。好。但是哪個物體應該圍繞哪個軸旋轉?什麼是實際結果,爲什麼它是錯誤的?此外,提供兩個網格的繪圖代碼。 – 2012-08-06 13:03:22

+0

感謝您的回答:)。我的問題是「我在屏幕上有2個網格。2個網格在(0,0,0)cordinats上。我可以如何將網格放到(10,1,1)並旋轉它,2.mesh to(-10,-2,0)。(我正在製作遊戲引擎,我想把模型放在diffrenet cordinates中,但它們都是相同的) – user1576186 2012-08-23 17:39:57

+0

然後第一個mesh的世界矩陣是'旋轉*翻譯(10,1,1)'和第二個網格它是'Translation(-10,-2,0)' – 2012-08-23 20:18:42

回答

0

網格由世界矩陣(+視圖+投影)的影響。如果要獨立轉換網格,則必須應用相應的世界矩陣並繪製網格。所以:

Apply world matrix 1 
Draw mesh 1 
Apply world matrix 2 
Draw mesh 2 
+0

對不起,我不能+1它它說你需要15聲望,但我接受它:) – user1576186 2012-09-04 22:16:36