+ glm::dmat3 orient;
+ orient[1] = situation.GetPlanet().NormalAt(pos);
+ orient[2] = situation.Heading();
+ if (std::abs(dot(orient[1], orient[2])) > 0.999) {
+ orient[2] = glm::dvec3(orient[1].z, orient[1].x, orient[1].y);
+ }
+ orient[0] = normalize(cross(orient[1], orient[2]));
+ orient[2] = normalize(cross(orient[0], orient[1]));