Modell rotieren lassen?
-
Hallo habe eine Frage.
Wie kann ich ein Modell in Direct3d rotieren lassen wenn es sich nicht im Ursprung (0,0,0) befinden? Befindet es sich im Ursprung dann gehts:
D3DMATRIX matTrans,matRotateY,matRotateZ,matRotateX,view; D3DUtil_SetTranslateMatrix(matTrans,0,0,0); D3DUtil_SetRotateXMatrix( matRotateX,0); D3DUtil_SetRotateYMatrix( matRotateY,Grad); D3DUtil_SetRotateZMatrix( matRotateZ,0); D3DMath_MatrixMultiply(view,matRotateY,matTrans); D3DMath_MatrixMultiply(view,matRotateZ,view); D3DMath_MatrixMultiply(view,matRotateX,view); world=view; lpDevice->SetTransform(D3DTRANSFORMSTATE_WORLD,&world); lpDevice->SetRenderState(D3DRENDERSTATE_LIGHTING,TRUE); lpXFile->Render(lpDevice); D3DUtil_SetIdentityMatrix(world); lpDevice->SetTransform(D3DTRANSFORMSTATE_WORLD,&world); pDevice->SetRenderState(D3DRENDERSTATE_LIGHTING,FALSE);
also ich muss wahrscheinlich zuerst mein model im ursprung rotieren und dann auf den achsen verschieben. aber wie mache ich das?
Danke im Voraus
-
Kommt darauf an, wie du es rotieren willst.
Willst du das Modell in sich drehen, dann musst du zuerst mit den Rotationsmatrizen multiplizieren, und dann mit der Translation.
Wenn du aber das ganze Modell weiter entfernt um den Ursprung bewegen willst, dann eben zuerst vom Ursprung wegschieben, un dann drehen.
-
ich will nur das modell drehen aber wenn ich es eben zuerst vom ursprung wegschiebe und dann drehe wie schon weiter oben gesagt drehe ich das modell um den ursprung und ich will es ja blos an der position drehen wo sich das modell gerade befindet. die frage ist wie ich das modell im ursprung drehen und dann verschieben kann. code wäre nicht schlecht. aber danke für das bemühen
-
Falls du den DirectXSDK 8.0 oder größer hast, sieh dir mal das Sample Cull an.
Dass sollte weiterhelfen.
-
SpaceMonkey schrieb:
ich will nur das modell drehen aber wenn ich es eben zuerst vom ursprung wegschiebe und dann drehe wie schon weiter oben gesagt drehe ich das modell um den ursprung und ich will es ja blos an der position drehen wo sich das modell gerade befindet. die frage ist wie ich das modell im ursprung drehen und dann verschieben kann.
Genau wie ersteres, nur umgedreht.
Bye, TGGC
-
Ja danke! habe problem gelöst!