--------------------------------------------------------------------------------
--  

smoothNode :: Node -> Node -> Float -> Vec4
smoothNode (Node x y z) (Node x' y' z') alpha =
    let a = 1 - alpha
        a' = alpha
    in  Vec4 (a * fromIntegral x + a' * fromIntegral x')
             (a * fromIntegral y + a' * fromIntegral y')
             (a * fromIntegral z + a' * fromIntegral z')
             1
smoothNode :: Node -> Node -> Float -> Vec4
smoothNode (Node x y z) (Node x' y' z') alpha =
    let a = 1 - alpha
        a' = alpha
    in  Vec4 (a * fromIntegral x + a' * fromIntegral x')
             (a * fromIntegral y + a' * fromIntegral y')
             (a * fromIntegral z + a' * fromIntegral z')
             1
smoothNode (Node x y z) (Node x' y' z') alpha =
    let a = 1 - alpha
        a' = alpha
    in  Vec4 (a * fromIntegral x + a' * fromIntegral x')
             (a * fromIntegral y + a' * fromIntegral y')
             (a * fromIntegral z + a' * fromIntegral z')
             1