let acc_frustrum ~left ~right ~bottom ~top ~near ~far ~jitter_x
                 ~jitter_y ~eye_x ~eye_y ~focus ~viewport_w ~viewport_h=
    let xwsize = right -. left and
        ywsize = top -. bottom in
    let dx = 0.0 -. jitter_x *. (xwsize /. (float viewport_w))+.
                     eye_x *. near /. focus and
        dy = 0.0 -. jitter_y *. (ywsize /. (float viewport_h)) +.
                     eye_y *. near /. focus
    in
    let x = ((left +. dx), (right +. dx)) and
        y = ((bottom +. dy), (top +. dy)) and
        z = (near, far) in


    GlMat.mode `projection ;
    GlMat.load_identity () ;
    GlMat.frustum ~x ~y ~z ;
    GlMat.mode `modelview ;
    GlMat.load_identity () ;
    (*GlMat.translate3 (0.0 -. jitter_x, 0.0 -. jitter_y, 0.0) ;*)
        GlMat.translate3 (0.0 -. dx, 0.0 -. dy, 0.0) ;
    ()