는이 코드 시도 :DirectX에서 XYZ 축에서 오브젝트를 회전하는 방법은 무엇입니까?
D3DXMatrixRotationX(&matRotate, rx);
D3DXMatrixRotationY(&matRotate, ry);
D3DXMatrixRotationZ(&matRotate, rz);
d3ddev->SetTransform(D3DTS_WORLD, &matRotate);
를하지만 항상 마지막 회전 (Z 축) 회전 보인다.
개체를 동시에 모든 XYZ 축으로 회전하려면 어떻게해야합니까?
glRotatef(rx, 1, 0, 0);
glRotatef(ry, 0, 1, 0);
glRotatef(rz, 0, 0, 1);
편집 : 나 자신에 의해 그것을 생각처럼 이 보이는 것은 :
D3DXMATRIX matRotateX;
D3DXMATRIX matRotateY;
D3DXMATRIX matRotateZ;
D3DXMatrixRotationX(&matRotateX, rx);
D3DXMatrixRotationY(&matRotateY, ry);
D3DXMatrixRotationZ(&matRotateZ, rz);
D3DXMATRIX matRotate = matRotateX*matRotateY*matRotateZ;
d3ddev->SetTransform(D3DTS_WORLD, &matRotate);
하지 않을 경우, 의견을주십시오 은 임 OpenGL을 회전 다이렉트 동등한를 찾기 위해 노력 . 나는 8 시간이 지날 때까지 대답으로 글을 올릴 수 없다! (그것을하기 위해서는 +7 평판이 필요함).
저는 DirectX에 대해 모르지만 잘못된 순서로 곱셈을했을 수 있습니다. 주문 내용이 정확하다면이 의견을 무시하고, 그렇지 않으면 확인하십시오. –