One other thing, though. This isn't HoM in the traditional sense, where things stay on the screen in that area indefinitely. It's like all white, and any visuals that pass through it have motion blur... kind of like the sort of blur you see when your character gets hit on the head in a modern game. I only mention this because while playing last night I saw some TRUE HoM appear on a small texture until I got close to it, and it looks nothing like the effect in question.
That's a perfectly normal HOM. Here's why it appears white and there is a "motion blur"-like effect.
The texture is set to small wavy and
translucent. Because it is translucent, the texture is brighter than the surrounding area (which, as it happens, is pitch-black). Because the texture is set to Small Wavy, it moves all the time, but this is totally irrelevant.
Now, what a Hall of Mirror does is very simple : there is nothing to display at some place on the screen, so it just displays whatever was at this point on the screen the last time the entire screen was updated, which means you will have precisely whatever was there one frame before. That's why firing a Dispersion Pistol projectile towards a HOM will display a long blue trail from your gun to the impact point : at each point, the only "last" thing there was the blue projectile, so the endless repetition of the blue projectile along its trajectory makes it appear as a long blue trail.
Now what's funny about the "translucent" flag is that whatever is seen through a translucent surface appears brighter.
So in our case we have a set of crippled polygon that make whatever is behind them appear a little bit brighter than they sould otherwise, but there is nothing behind. So by default, the engine will display solid black until something goes there. Yet, this black stuff is seen through a translucent surface, so it's a little bit brighter. Let's say a very dark grey. But the next frame, you will see this dark grey through the translucent surface (since it was the last thing displayed on this part of the screen, it fills the HOM, and the engine adds the translucent surface on top of it). So now we have a slightly brighter grey. But on next frame, the same thing will happen to this new shade of grey. It's as if the engine was stacking up piles and piles of translucent surfaces which act as white filters.
Because the screen is refreshed... Let's say 60 times a second (in my case 120), it takes only a few tenths of a second to go from total black to total white. This can be easily recreated : create a new map, subtract a 256*256*256 cube with no texture, add a small 64*64*64 texture against one of the sides and set all its surfaces to translucent. Activate RealTime Preview and Fake Backdrop : voilà, your own white and foggy HOM.
Now let's compare what we have in the game and in the editor.
In the editor, if you go
in the pool and look downwards
before activating realtime preview and fake backdrop, you will see the texture. Activate RTP and Fake Backdrop, and you will see two different things depengin on the viewport mode : in
Textured mode, all will be white down there, because the
floor texture itself will be displayed and because
it is itself translucent ! The translucent flag will work its white magic. If you are in
Lighting mode when you activate the RTP and Fake Backdrop, you will see complete blackness with patches of colour on the small parts of the texture that receive a little bit of light. Why ? Because translucent polygons that receive no light are
completely invisible.
So we have asserted two things : all you need for this effect is a translucent surface. However, you also need this surface to receive some light so that its translucence makes it a whitening lens, and not an invisible surface.
If you go
outside the pool, looking down, it will go white no matter what mode you are in, because you have to account for the
water-textured sheet that is the surface of the pond, which is in itself translucent. No matter if the texture down there is receives light : as long as it is translucent (thus showing the void behind it) and the water-surface is translucent it visible itself, the whitening effect will be provided by the water-surface sheet.
In game, you have the same effect when looking from outside the pond down the well : the translucent polygon that is the surface of the pond brightens the HOM behind it in a split-second. If you go
down the pond, however, another thing comes into play : when you are underwater, there is a whitish filter applied to the entire screen to simulate underwater vision. This means that for each pixel that would be a certain colour, it is now a bit lighter. This is exactly the same as putting an fullbright white translucent surface over the entire screen. The same thing will happen then : all parts wich are HOMs will default to the precedent image and brighten it a little bit, until it reaches the brightest it can achieve : complete snowy polar whiteness.
As for the motion blur itself, it's quite simple really : say you are underwater with your gun. The idle animation of the gun is to move slowly up and down to simulate the player breathing (altough beathing underwater is quite an interesting concept in itself, let's assume for the sake of argument he wears the ScubaGEAR) : the gun will occupy various places on the screen through time : its down position, its up position and all intermediary positions. For each frame, the previous positions of the gun will be whitened a bit until they dissappear and blend into the white void. When you move around the central pillar, the same thing happens : you make the pillar appear on several positions on the screen, and because you have a HOM down there, you can see all the positions it occupied, but all the positions it no longer occupies are progressively being washed down into the white abyss.
So there you have it : a completely normal HOM, but it is made white by both the translucent surface you see it through when outside the pond and the white filter applied to the screen when underwater in the game. The fact that it is white in all cases gives the impression it is a quality inherent to the HOM and that this HOM is special, but it is in fact totally dependent on other factors. Like lighting : subtract a 256*256*256 square, set its surfaces to translucent, but add a completely red light in the room (brightness 255; Hue 0; Saturation 0). Activate RealTime Preview and Fake Backdrop : complete red communistness surrounds you instead of the white nothing. Repeat with blue and green : this is the same. What matters is the colour the translucent surfaces are lit with. Remember however that if the colour is not solid colour (like 0 saturation = complete red), but slighly washed down (even a measly 10 saturation) the constant updating will eventually turn the whole screen white, just needing a lot more time, because the brightening of each and every pixel will be very small each frame. This can be easily demonstrated in the map itself : above the well is a light that gives a whitish light to the general area : make it toally purple, and from outside, our beloved HOM will appear as a violet mess. Dive into the water, however, and the white filter for underwater vision makes it white almost instantly.