gh::Vector3 GetCameraPointingVector( const Vector3& eulerAngles ) { //rotate about z Matrix44 pitchMat = Matrix44::CreatePitchRotationMatrixDegrees( eulerAngles.y ); //roll goes about x, from y to z, this is the vertical sweeping in this camera Matrix44 rollMat = Matrix44::CreateRollRotationMatrixDegrees( eulerAngles.x ); Matrix44 currentRotation = pitchMat * rollMat; Vector3 zv = Vector3( 0.f, 0.f, -1.f ); Vector3 direction = currentRotation.transformDirection( zv ); return direction; }