What techniques have been used to repeat geometry or other detail to the infinite horizon? When I composed my first hopping cube video  

I would have liked to have the camera pitch up enough to show the horizon, except I didn't have enough geometry to extend the cobblestone street and the sidewalk all the way to infinity (mostly because that would require infinite stuff).  Even in that shot it is clear that I need to widen the "sidewalk" to cover up the "sky"box.  

Contrast with 
 

where the ray tracer can use the procedurally replicated geometry.

http://www.pasteall.org/blend/29031 is a failed attempt at faking out the horizon, even with low detail.  It fails because lighting's interaction with the geometry gives it away.

Some techniques that prevent you from having to deal with infinity include


put the scene in a box (usually a room)
put the scene in a canyon (which is just a box without a top so you can see the relatively featureless sky)
route the road into a tunnel, or around a corner and hide the horizon with other geometry (which is really just a variant on the canyon).
have no detail on the ground at all (flat color or gradient)


Those are all dodging the question of interest to me:

What techniques have people used in blender to fake various kinds of detail repeating into the distance (instead of just obstructing the view of infinity)?
To give the impression of infinity, often it's not necessary to copy the object many times at all. you will notice that in the example image only about 8 or 9 repetitions are visible, the implied continuation of cubes is hidden behind a white glare.

One way is to do this is by using an array modifier. One issue with this is that it is not the most efficient, as the array modifier creates new geometry every time the source is repeated. To use the array modifier to make instances (references to a single copy of the mesh data, rather than actually copying the mesh data), e.g. using Dupli objects:


Add a plane (ShiftA> Add > Mesh > Plane) and add an array modifier to it.
Parent the object you want to repeat to plane (select the object, then the plane, and press CtrlP>Object)
Enable Duplifaces on the plane under Properties > Object > Duplication.




Using this technique, you can duplicate fairly high-poly objects many times. In this example I duplicated a 4500 vert cube thing 100 times without any trouble. When I tried this with a straight array modifier (without the dupliface trick) the viewport was quite slow and the array modifier took about 30 seconds to compute.



Cycles is actually pretty good at rendering large amounts of instances like this.

Some examples:


Fun with Instancing in Cycles
19 Billion Polygons, not a ridiculous number anymore (BA thread)




Note that depending on the scene, there might be other optimizations you can do, e.g. using baked texture maps and lower poly models for far away objects.