--- /dev/null
+#ifndef AVATAR_H_
+#define AVATAR_H_
+
+#include <gmath/gmath.h>
+
+/* when head-tracking is available, head_tilt is ignored, and the
+ * body_rot (controlled by mouse/gamepad) is independent of head_rot.
+ *
+ * without head-tracking, head_rot is derived from body_rot and head_tilt
+ */
+class Avatar {
+public:
+ Vec3 pos;
+ float body_rot;
+ Quat head_rot; // used when head-tracking
+ float head_tilt; // used for mouselook
+
+ Avatar();
+ ~Avatar();
+
+ void draw() const;
+};
+
+#endif // AVATAR_H_