Overlay multicast protocol builds a virtual mesh spanning all member nodes of a multicast group. It employs standard unicast routing and forwarding to fulfill multicast functionality. The advantages of this approach are robustness and low overhead. However, efficiency is an issue since the generated multicast trees are normally not optimized in terms of total link cost and data delivery delay. In this paper, we propose an efficient overlay multicast protocol to tackle this problem in MANET environment. The virtual topology gradually adapts to the changes in underlying network topology in a fully distributed manner. To save control overhead, the participating nodes only keep a fisheye view of the dynamic mesh. The multicast tree is progressively adjusted according to the latest local topology information. Simulations are conducted to evaluate the tree quality. The results show that our approach solves the efficiency problem effectively.