Simulating a lively forest in real time is a challenging problem due to the high complexities in both scene geometry and dynamic effects. In this paper, we introduce a novel hybrid model to efficiently synthesize realistic swaying effects of trees under winds. An approximate lighting algorithm is also proposed to render realistic lakes. Our method effectively takes advantage of the horse power of modern GPUs. Nearly all the simulations are done in the GPU and little data transfer is needed in-between CPU and GPU. We reach real-time frame rates in simulating large-scale forests containing rich scene elements including thousands of trees, tens of thousands of grasses, natural terrain and lakes, with convincing dynamic effects.