renderAxis :: GLdouble -> IO ()
renderAxis s =
  GL.renderPrimitive GL.Lines $ do
    GL.color (Color3 1 0 0 :: Color3 GLfloat)
    GL.vertex $ vertex3f 0 0 0
    GL.vertex $ vertex3f s 0 0

    GL.color (Color3 0 1 0 :: Color3 GLfloat)
    GL.vertex $ vertex3f 0 0 0
    GL.vertex $ vertex3f 0 s 0

    GL.color (Color3 0 0 1 :: Color3 GLfloat)
    GL.vertex $ vertex3f 0 0 0
    GL.vertex $ vertex3f 0 0 s
renderAxis :: GLdouble -> IO ()
renderAxis s =
  GL.renderPrimitive GL.Lines $ do
    GL.color (Color3 1 0 0 :: Color3 GLfloat)
    GL.vertex $ vertex3f 0 0 0
    GL.vertex $ vertex3f s 0 0

    GL.color (Color3 0 1 0 :: Color3 GLfloat)
    GL.vertex $ vertex3f 0 0 0
    GL.vertex $ vertex3f 0 s 0

    GL.color (Color3 0 0 1 :: Color3 GLfloat)
    GL.vertex $ vertex3f 0 0 0
    GL.vertex $ vertex3f 0 0 s
renderAxis s =
  GL.renderPrimitive GL.Lines $ do
    GL.color (Color3 1 0 0 :: Color3 GLfloat)
    GL.vertex $ vertex3f 0 0 0
    GL.vertex $ vertex3f s 0 0

    GL.color (Color3 0 1 0 :: Color3 GLfloat)
    GL.vertex $ vertex3f 0 0 0
    GL.vertex $ vertex3f 0 s 0

    GL.color (Color3 0 0 1 :: Color3 GLfloat)
    GL.vertex $ vertex3f 0 0 0
    GL.vertex $ vertex3f 0 0 s