||We introduce a general purpose method for increasing the framerate of real-time rendering applications. Whereas many existing temporal upsampling strategies only reuse information from previous frames, our bidirectional technique reconstructs intermediate frames from a pair of consecutive rendered frames. This significantly improves the accuracy of interpolated frames since very few pixels are mutually occluded in both frames, but does introduce a small amount of lag in the resulting image sequence (typically 1-2 frames). We present two versions of this basic algorithm. The first is appropriate for fill-bound scenes as it limits the number of expensive shading calculations, but requires processing the scene geometry at each intermediate frame. The second version lowers both shading and geometry computations by warping the pair of rendered images according to the scene depth and an estimate of the scene flow obtained through a simple iterative search. We demonstrate that our method offers substantial performance improvements (3-4x) for a variety of applications, including vertex-bound and fill-bound scenes, multi-pass effects, and motion blur.