MathGL can add a fog to the image. Its switching on is rather simple – just use fog function. There is the only feature – fog is applied for whole image. Not to particular subplot. The sample code is:
int sample(mglGraph *gr)
{
mglData a; mgls_prepare2d(&a);
gr->Title("Fog sample");
gr->Light(true); gr->Rotate(50,60); gr->Fog(1); gr->Box();
gr->Surf(a); gr->Cont(a,"y");
return 0;
}