Interior mapping of fake rooms behind windows
In your harnessGodot shaderMIT
Fill a flat building facade with rooms that have depth: each window cell ray-casts into a virtual box room and shades its back wall, side walls, floor and ceiling procedurally, with per-room colours and lights.

What it takes and gives
- Shader type
- spatial
- Parameters
- rooms_across (float = 4), rooms_down (float = 4), room_depth (float = 1), wall_color (vec4 = 0.78, 0.72, 0.62, 1), floor_color (vec4 = 0.42, 0.3, 0.2, 1), ceiling_color (vec4 = 0.92, 0.92, 0.9, 1), frame_color (vec4 = 0.16, 0.17, 0.2, 1), frame_width (float = 0.08) and 2 more
- Use it on
- A flat facade mesh (quad or box side) with UVs and tangents; one UV unit spans the window grid.
- Result
- A wall of windows, each showing a small room with walls, floor and ceiling that shift with the view.
- Renderers
- compatibility: compiled and rendered, forward plus: not verified, mobile: not verified
- Placement
- res://baltor/godot_shaders/interior_mapping_rooms/
Limits. Rooms are boxes without furniture; all rooms share one layout. The facade must be flat and its UVs unstretched, or rooms skew. Glass reflection is a fixed colour, not the environment.
Details
- Kind
- Godot shader
- Engine
- Godot 4.3 or later
- Files
- 11 files, 67.6 KB
- Licence
- MIT
- Declared effects
- reads files, runs commands
- Checked with
- Godot 4.7.2, opengl3 compatibility (Mesa llvmpipe, Xvfb)
- Checks
- contract static, engine run, engine log clean, shader in scene, capture written, render not uniform, shader changes pixels
- Techniques
- Interior mapping by ray-box intersection in tangent space (van Dongen 2008), Per-cell hashed variation, MurmurHash3 32-bit finalizer over prime-combined lattice coordinates as a hash
- Tags
- godot shader, spatial, interior mapping, facade, windows, city, ray casting
- Identity
library.supply.creative_originals.7800361f2b934120eb4daf1a.b9b7e36912f60df1- Version
b9b7e36912f60df1e84e0ff814bf87fd8c2a9a2160d219c7b999ff397956e4e5
The version is the SHA-256 of the item your harness downloads; every file in it names its own checksum.
Something wrong with this item, its rights or its safety? Report it on the support page, or from your harness after a download.
