Ancora una cosa:
utilizza il mio codice:
metti così:
D3DXVECTOR3 vEyePt( 0.0f, 0.0f, -50.0f );
con z uguale a -50.0f così di avere il triangolo di vista nel mondo + in profondità.
Codice HTML:
D3DXMatrixIdentity(&finalMat);
D3DXMatrixTranslation(&matTraslazione, -5.953f, 0.091f, -35.915f);
D3DXMatrixMultiply(&finalMat, &finalMat, &matTraslazione);
pd3dDevice->SetTransform(D3DTS_WORLD, &finalMat);
ora prova questo codice sopra... il triangolo viene traslato a sinistra dello schermo. La traslazione è la posizione dell'oggetto nel mondo. prova a variare xyz di matTraslazione... come vedi ora sei nelle coordinate mondo cioè in worlspace.
Ora questo è ciò che volevi fare:
Codice HTML:
D3DXMatrixRotationZ(&matRotazione, D3DX_PI * fAngle);
D3DXMatrixIdentity(&finalMat);
D3DXMatrixTranslation(&matTraslazione, -5.953f, 0.091f, -35.915f);
D3DXMatrixMultiply(&finalMat, &matRotazione, &matTraslazione);
// D3DXMatrixMultiply(&finalMat, &finalMat, &matRotazione);
pd3dDevice->SetTransform(D3DTS_WORLD, &finalMat);
rotazione e traslazione nella stessa posizione.
se invece decommenti avrai rotazione sia del triangolo su se stesso e della posizione dello stesso nel mondo: provare per credere.
ciao