function func_rr()
{
if(bmap_mirrortarget) { return; }
bmap_mirrortarget = bmap_createblack(512,512,24);
mat_hlsl_lake_rr.skin2 = bmap_mirrortarget;//create mirrortarget bitmap for lake entity
mat_hlsl_river_rr.skin2 = bmap_mirrortarget;//create mirrortarget bitmap for river entity
view_rr.bmap = bmap_mirrortarget;
view_rr.size_x = bmap_width(view_rr.bmap);
view_rr.size_y = bmap_height(view_rr.bmap);
vec_set(view_rr.portal_x,vector(0,0,my.z + my.max_z)); // at top entity position
vec_set(view_rr.pnormal_x,vector(0,0,1.0)); // reflect upwards
set(view_rr,NOSHADOW|NOCULL|PORTALCLIP|NOPARTICLE);
set(view_rr,NOSHADOW|NOCULL|PORTALCLIP|NOPARTICLE|NOFLAG1);
..........................