Wenn Sie eine Welt Projektionsmatrix von Maßstab, drehen, übersetzen Matrizen erstellen, dann muss die Übersetzungsmatrix die letzte in dem Prozess sein, richtig? Sonst skalieren oder rotieren Sie Ihre Übersetzungen. Müssen Skalierung und Rotation in einer bestimmten Reihenfolge ausgeführt werden?Erstellen einer Welt-Matrix
Im Moment habe ich bekam
std::for_each(objects.begin(), objects.end(), [&, this](D3D93DObject* ptr) {
D3DXMATRIX WVP;
D3DXMATRIX translation, rotationX, rotationY, rotationZ, scale;
D3DXMatrixTranslation(&translation, ptr->position.x, ptr->position.y, ptr->position.z);
D3DXMatrixRotationX(&rotationX, ptr->rotation.x);
D3DXMatrixRotationY(&rotationY, ptr->rotation.y);
D3DXMatrixRotationZ(&rotationZ, ptr->rotation.z);
D3DXMatrixScaling(&translation, ptr->scale.x, ptr->scale.y, ptr->scale.z);
WVP = rotationX * rotationY * rotationZ * scale * translation * ViewProjectionMatrix;
});
Das resultierende Objekt erscheint im Raum und ist nur relativ zu sich selbst relativ. – Puppy