How to solve this problem?

Hi friends, when I was programming, I encountered a problem in rendering, just like this picture:
Water surface mixes with the terrain bringing sawtooth. How can I solve this problem?

Push the near clip plane as far out as you can possibly accept. Clicky for more information.

Thanks, but after I pushed the near clip plane further, I still found the problem like this :

I set the projection even as:
gluPerspective(45.0f,(GLfloat)m_recOld.right/(GLfloat)m_recOld.bottom,100.0f,5000.0f);
And because of magnification, now the height of the terrain is about 400. The Z of View point is around 430.So where the problem lies?

The problem is still the same: limited z-buffer precision.

The best solution is to make sure that the terrain intersects with the water at an angle no less then 20 degrees.

At least it worked for me.

What precision depth buffer are you asking for? Are you actually getting it?

If possible, ask for a larger depth buffer on your rendering surface.