Addressing feedback: <@mtheall> alternatively, zaxis = FVec3_Normalize(FVec3_Subtract(cameraPosition, cameraTarget));

This commit is contained in:
Thompson Lee 2016-08-04 10:21:38 -04:00
parent e1ab0b3613
commit 408eb102f7

View File

@ -8,10 +8,7 @@ void Mtx_LookAt(C3D_Mtx* out, C3D_FVec cameraPosition, C3D_FVec cameraTarget, C3
C3D_FVec xaxis, yaxis, zaxis; C3D_FVec xaxis, yaxis, zaxis;
//Order of operations is crucial. //Order of operations is crucial.
zaxis.x = cameraPosition.x - cameraTarget.x; zaxis = FVec3_Normalize(FVec3_Subtract(cameraPosition, cameraTarget));
zaxis.y = cameraPosition.y - cameraTarget.y;
zaxis.z = cameraPosition.z - cameraTarget.z;
zaxis = FVec3_Normalize(zaxis);
xaxis = FVec3_Normalize(FVec3_Cross(cameraUpVector, zaxis)); xaxis = FVec3_Normalize(FVec3_Cross(cameraUpVector, zaxis));
yaxis = FVec3_Cross(zaxis, xaxis); yaxis = FVec3_Cross(zaxis, xaxis);