Interior Mapping: A new technique for rendering realistic buildings
📜 Abstract
Interior Mapping is a new real-time shader technique that renders the interior of a building when looking at it from the outside, without the need to actually model or store this interior. With Interior Mapping, raycasting in the pixel shader is used to calculate the positions of floors and walls behind the windows. Buildings are modelled in the same way as without Interior Mapping and are rendered on the GPU. The number of rooms rendered does not influence the framerate or memory usage. The rooms are lit and textured and can have furniture and animated characters. The interiors require very little additional asset creation and no extra memory. Interior Mapping is especially useful for adding more depth and detail to buildings in games and other applications that are situated in large virtual cities.
✨ Summary
Summary
The paper introduces Interior Mapping, a GPU pixel-shader technique for rendering perspectively correct building interiors without storing or modeling the interior as conventional geometry. For each visible pixel, the camera-to-surface ray is transformed into object space and intersected with regularly spaced virtual floors, ceilings, and walls. The closest intersection determines the visible interior surface and its texture coordinates. Exterior textures use an alpha mask to identify windows, while reflections can be blended with the generated interior appearance.
The method also supports virtual “furniture planes,” which display furniture or animated characters as alpha-tested sprites inside rooms. Three extensions increase visual variation: probabilistic per-room lighting, texture atlases for selecting different room appearances, and bounded displacement of room walls to vary room sizes while retaining constant-time intersection tests.
The experiments report that Interior Mapping is advantageous for scenes containing many buildings. In the author’s test, an Interior-Mapped apartment building used 10 polygons and one draw call, compared with 158 polygons and five draw calls for a polygonal-interior version. The shader became faster than polygonal interiors at approximately 100 buildings. Z-culling increased one tested configuration from 881 to 1,265 frames per five seconds, a 44% improvement. Interior Mapping was substantially more expensive than rendering buildings with reflective windows only, but its performance was largely independent of the number of rooms: a test increasing room counts from 1,000 to 4,000,000 showed no meaningful performance decrease. The principal limitations are repetitive room content, the cost of the pixel shader, and visible distortion or seams from furniture planes on strongly curved surfaces or around corners.
Subsequent work and industry material show continued use of the technique. A 2015 research paper on procedural window-lighting effects cites Interior Mapping and combines interior maps with procedurally varied window illumination for large-scale city rendering. (researchgate.net) A 2019 study explicitly evaluates Interior Mapping in Unreal Engine 4 against modeled interiors using frame rate, polygon count, shader complexity, and resource size. (kci.go.kr) The technique has also been ported and documented for Unity-based workflows, including a 2011 Unity implementation referenced by later shader tutorials. (alanzucconi.com) Forza Horizon 4 technical-art documentation credits van Dongen’s original shader idea while describing extensions for glass, curtains, split rooms, and richer interior lighting. (harpingtonbear.artstation.com) Industry commentary has additionally identified interior mapping as a likely technique behind some contemporary game building facades, although such attributions are not always officially confirmed by the developers. (gamedeveloper.com)