The 3D Handbook
Key term

Interior mapping (fake interiors)

A shader technique that shows rooms behind windows without modelling them, by tracing view rays against virtual floors, ceilings and walls inside a flat facade.

shadersmaterialsenvironment-artoptimisation

Interior mapping is a shader technique that makes a flat building facade look as if it has real rooms behind its windows. Joost van Dongen, who developed it in 2007 for his thesis, sums it up: "the geometry for the interiors isn't actually there and is generated using a shader" (80 Level: Interior Mapping: Rendering Real Rooms…). It is the standard way to fill thousands of windows in a city without modelling thousands of rooms.

#How the technique works

The shader works per pixel. For each pixel of the window, it follows the ray from the camera through that pixel into the building and asks which surface of the room the ray would hit first (80 Level: Interior Mapping: Rendering Real Rooms…).

The key restriction is that rooms are evenly spaced. Van Dongen: "with interior mapping, ceilings and walls are at regular distances" (80 Level: Interior Mapping: Rendering Real Rooms…). Because of that, every ceiling, floor and wall is an infinite plane at a known spacing, and testing a ray against a plane is cheap. Only three of the six planes need to be tested, chosen by view direction; the nearest hit decides whether the pixel shows ceiling, floor or wall, and the hit position gives the texture coordinate (80 Level: Interior Mapping: Rendering Real Rooms…).

Side section of a building. A thick vertical line is the facade with an orange window segment. Dashed horizontal lines behind it are virtual floors and ceilings, and a dashed vertical line is the virtual back wall. Three rays from a camera pass through the window; one hits a ceiling plane, one the back wall, one a floor plane.
The facade is the only real surface. Rays through the window are tested against virtual planes at fixed spacing, so neighbouring pixels can show ceiling, back wall or floor, and the room appears to have depth as the camera moves.Diagram by the handbook author

Alan Zucconi describes it as "at its core, a very advanced parallax effect" (alanzucconi.com: Shader Showcase Saturday #9: Interior Mapping). Ordinary parallax mapping offsets a texture using a height and displacement maps; interior mapping replaces the height map with a fixed box shape, so it can show steep walls that a height field cannot.

#Cubemap interiors

The original paper used separate textures for walls, floor and ceiling. Most modern versions store the whole room in a cubemap: the ray direction inside the room picks a texel of the cube, so one texture holds the full interior. Unreal Engine ships this as a material function, InteriorCubemap (80 Level: Interior Mapping: Rendering Real Rooms…). Murchison's Unity implementation uses the same idea, with cubemaps made "in 3D or from a 360 camera" and rows and columns of windows set per facade (ArtStation: Interior Mapping Shader).

#Limits of the illusion

Interior mapping is convincing at a distance and breaks up close. Van Dongen lists the main limits (80 Level: Interior Mapping: Rendering Real Rooms…):

  • Furniture is flat. In Marvel's Spider-Man "the desks in the rooms are in fact flat textures on the walls".
  • Rooms are simple boxes. Extra layers (curtains, furniture cards) add cost.
  • Seams appear, such as a door where a window should be, or a room that looks different from two corners of the building.

AUTOMATON quotes developer Galupeno, who explains that building interiors in recent games work because "it looks almost perfect when seen from a moderate distance or far away" (AUTOMATON: Are there really rooms behind every window in…). For a hero room the player can walk up to, model the interior instead.

#How to make one

These steps follow Jen Abbott's Unreal Engine 5 tutorial, which builds a small room, captures it to a cubemap and maps it with InteriorCubemap (ArtStation blog: How to use parallax mapping for environments…).

  1. Build the room. Block out a room box: back and side walls, floor and ceiling, with simple tiling materials. Add a light inside.
  2. Capture it. In an Actor Blueprint, place a Scene Capture Component Cube in the centre of the room. Disable Capture Every Frame and assign a Cube Render Target. Set the front wall to be visible in scene capture only, so the capture sees the room from inside (ArtStation blog: How to use parallax mapping for environments…).
  3. Bake the cubemap. Right-click the render target and choose Create Static Texture. This is the room texture (ArtStation blog: How to use parallax mapping for environments…).
  4. Build the material. Add an InteriorCubemap node. Make two scalar parameters, X_Tiling and Y_Tiling (default 1), combine them with Append and feed the node's tiling input. Add a static bool parameter, randomize, for the random rotation input (ArtStation blog: How to use parallax mapping for environments…).
  5. Sample the room. Turn the baked room texture into a parameter, drive its UVs from the InteriorCubemap output, and connect it to Base Color (ArtStation blog: How to use parallax mapping for environments…). Emissive is a common choice for night windows.
  6. Apply it. Assign the material to a plane set just behind the window glass, and tile it so each window shows one room.

#Video tutorials

#Use in recent games

Fake interiors on a city facade. Notice the curtain variation and the depth of each room, all drawn on flat window surfaces.J Tuason, via ArtStation
Compare rooms on neighbouring windows. Variation between rooms is what keeps a long facade from looking repeated.J Tuason, via ArtStation

#In different tools

#Further reading and watching

References

  1. Joost van Dongen · Interior Mapping: Rendering Real Rooms Without Geometry · 80 Level (reposted with permission from the author's blog), 2018 · article · accessed 2026-10-22
  2. Alan Zucconi · Shader Showcase Saturday #9: Interior Mapping · alanzucconi.com, 2018 · article · accessed 2026-10-22
  3. Matthew Murchison · Interior Mapping Shader · ArtStation, 2020 · web · accessed 2026-10-22
  4. Hideaki Fujiwara (English version by Verity Townsend) · Are there really rooms behind every window in Marvel's Spider-Man? This is how developers create the illusion · AUTOMATON, 2023 · article · accessed 2026-10-22
  5. J Tuason · Marvel's Spider-Man 2: Window Shader and Pipeline · ArtStation, 2023 · web · accessed 2026-10-22
  6. Jen S Abbott · How to use parallax mapping for environments in Unreal Engine 5 | Tutorial · ArtStation blog, 2024 · article · accessed 2026-10-22
  7. Ben Cloward · Interior Mapping - Shader Graph Basics - Episode 34 · YouTube · video · accessed 2026-10-22

Also consulted

Last updated 2026-10-22