In der
DirectX-
SDK steht drin, wie man die Funktion benutzt:
Code:
D3DXMATRIX *
WINAPI D3DXMatrixLookAtLH(
D3DXMATRIX *pOut,
CONST D3DXVECTOR3 *pEye,
CONST D3DXVECTOR3 *pAt,
CONST D3DXVECTOR3 *pUp
);
Um die Ausrichtung der Kamera anzugeben, brauchst du also nur einen Augenpunkt (wo sich die Kamera befindet), einen Zielpunkt (dort, wo die Kamera hinschaut) und einen Hoch-Vektor, der angibt, wo für die Kamera "oben" ist.
Jetzt liegt es an dir, wie du diese Punkte berechnest (Vektorrechnung).
Um einen Zoom-Effekt zu simulieren, musst du die Parameter der Perspektivenmatrix verändern.
Code:
D3DXMATRIX *
WINAPI D3DXMatrixPerspectiveFovLH(
D3DXMATRIX *pOut,
FLOAT fovy,
FLOAT Aspect,
FLOAT zn,
FLOAT zf
);
Wobei pOut die Ausgabematrix ist, fovy das Sichtfeld im Bogenmaß, Aspect das Seitenverhältnis (Breite/Höhe), zn die nahe Clippingebene und zf die ferne Clippingebene.