Hall of mirrors effect

In Doom, if you use the no clipping cheat to go outside the level, you typically see a shimmering mass in the empty space outside, composed of bits of previous frames of animation. You can achieve the same effect by making a level where a wall has no texture. The name comes from the fact that it looks kind of like being in a hall of mirrors. It is sometimes abbreviated HOM or HOM Effect (there is another writeup under that node; I did not realise when I wrote this one).

When Doom renders the level to the screen, it draws it into a buffer, an area of memory. As you walk around the level, the previous contents of the buffer get overwritten. When you get outside the level however, there are no walls to draw. So doom draws nothing there. Instead, you get the previous contents of the buffer, left over from previous frames.

In the original DOS Doom .exe file, a shimmering effect also occurs with HOM. The reason for this is in the doom video system. Doom actually draws into two buffers. This is called page flipping. While Doom is rendering into buffer 1, the video card is displaying the contents of buffer 2 (so it is not possible to see the screen until rendering has completed). When rendering is complete, it flips the buffers round. The video card displays the contents of buffer 1, and Doom draws the next frame into buffer 2.

Because of this, when there is nothing to draw, the leftover parts of previous frames are displayed. However, because of page flipping the contents of two previous frames are shown, alternating back and forth. Because there is typically only very slight difference between frames of animation, there is a shimmering effect. Most of the modern Doom Source Ports do not use page flipping, so they lose the shimmering effect.

If a player turns around and looks back toward the level, they can see through the walls and inside the level. The floors of the level stretch outwards toward the screen edge in vertical columns. This is because the Doom floor and ceiling drawing system was like a flood fill algorithm: because there are no walls to bound them, they simply ``bleed'' down to the edges of the screen.

Some levels even used this effect: it is sometimes used to make invisible pits, for a deep water effect for example. The edges of the pit have no texture, so the floor bleeds over the step. If the player dies while in the water, his viewpoint falls below the waterline and the shimmering hall of mirrors effect is visible on the missing texture, similar to being underwater. However, this effect causes problems on modern hardware-accelerated source ports, which do not behave the same as the original software rendered version of Doom.