I think you can do this with a material event function.
Code:
function mtl_Event()
{
my.material=mat_norm;
if(vec_dist(my.x,render_view.x)>lodfactor[0]*render_view.clip_far)
{
my.material=mat_lod1;
}
if(vec_dist(my.x,render_view.x)>lodfactor[1]*render_view.clip_far)
{
my.material=mat_lod2;
}
if(vec_dist(my.x,render_view.x)>lodfactor[2]*render_view.clip_far)
{
my.material=mat_lod3;
}
}
material mat_norm
{
event=mtl_Event;
enable_render=on;
}
....