Project Visualization
3D visualization of construction projects
Project Visualization
Interactive 3D visualization of projects and house configurations.
Visualization Features
Project Overview
See the entire development:
- Site layout
- All units/lots
- Building placements
- Infrastructure
Unit Status
Visual indicators show:
| Color | Status |
|---|---|
| Green | Available |
| Yellow | Reserved |
| Blue | Sold |
| Gray | Configured |
3D Navigation
Controls
| Action | Mouse | Touch |
|---|---|---|
| Rotate | Left drag | One finger drag |
| Pan | Right drag | Two finger drag |
| Zoom | Scroll | Pinch |
Keyboard
| Key | Action |
|---|---|
| Arrow keys | Pan |
| +/- | Zoom |
| Home | Reset view |
| Esc | Exit selection |
Interactive Elements
Selecting Units
Click on units to:
- View unit details
- See available types
- Check status
- Access configuration
Unit Information
On selection, displays:
- Unit/lot number
- Available types
- Base pricing
- Configuration status
Collapsible details panel
Use the collapse icon at the top right of the design editor to give the viewer or table more space. The expand icon restores the docked project, block or house details. In-progress inputs are preserved while the panel is hidden, and your desktop choice stays in place when switching tabs during the editor session.
On tablet screens the panel opens over the viewer. Use the collapse icon or tap outside it to close it. Selecting a house opens its details automatically.
View Options
Perspective Views
| View | Shows |
|---|---|
| Aerial | Bird's eye view |
| Street | Ground level |
| Walk-through | Interior paths |
Display Options
Toggle visibility:
- Show roads
- Show landscaping
- Show adjacent buildings
- Show unit labels
Surrounding buildings (3D BAG)
The design viewer can stream the real neighbourhood around the project site as 3D buildings (Dutch 3D BAG, LoD 2.2). Open the Map Layers popover in the viewer toolbar:
- 3D BAG Buildings: toggles the surrounding buildings on or off; the 3D BAG Range slider controls how far around the site buildings load.
- Roof Imagery: drapes the current aerial photo (PDOK luchtfoto) onto the roofs of the surrounding buildings, so the neighbourhood is recognisable at a glance; walls keep a neutral colour. On by default; untick it to go back to fully flat-shaded buildings.
Move/rotate gizmo (circle & arrows)
Selecting a block shows a move/rotate gizmo: a white rotation circle around the block and drag arrows for repositioning. For presentations or screenshots you can hide it via Settings → Overlays → Circle & arrows in the viewer sidebar. The preference is remembered per browser.
Map layers (Dutch open geodata)
The layers popover (stack icon in the viewer toolbar) drapes real geodata around the project site. Besides the base layers (aerial photo, BGT, AHN hillshade) and street details (lights, signs, road surfaces, parked cars), three analysis and realism layers are available:
- Trees: real tree positions rendered as low-poly trees. Where the municipality publishes an open tree register (currently Amsterdam), each tree gets its registered species' crown shape and color (conifers, columnar poplars, spreading willows and planes, purple beeches) and its registered height class. Elsewhere the BGT tree registry is used. In both cases individual heights are refined with the AHN height model (surface minus terrain at each tree). Crown detail follows the viewer's graphics preset: the low setting renders simple single-lobe crowns, medium and high add irregular multi-lobe crowns near the site.
- Noise Map (Lden): the RIVM geluidkaart draped on the ground at 10 m resolution, with a source selector (all sources, road, rail, industry, wind turbines) and the official dB legend. Always shows the newest published vintage.
- Zoning Plan: bestemmingsplan zoning from PDOK Ruimtelijke plannen: enkelbestemmingen in the standard SVBP colors plus bouwvlakken. Plans published as omgevingsdocumenten under the Omgevingswet are not included (those are only available through the key-gated DSO API); under transitional law most municipal zoning is still served as bestemmingsplan.
The noise and zoning drapes follow the AHN terrain relief when the Terrain Height layer is active, and are available in the flat (non-globe) view.
Texture mappings
Material texture mappings replace the baked GLB materials with configurable textures (Beheer → Materiaal mappings). Two sampling modes are available per mapping:
- World projection (default): the texture is projected onto the model from the world axes (triplanar). Works well for brickwork and plaster on walls and hides seams, but on sloped surfaces such as roofs the pattern can appear skewed or doubled.
- Use model UVs: the texture follows the UV layout baked into the model, exactly like the original GLB texture. Enable this for roof tiles (dakpannen) and other materials where the pattern must follow the surface. The blend sharpness setting does not apply in this mode.
Mapped materials in both renderers use normal maps for surface relief and ambient occlusion maps for small shaded creases, when those assets are supplied. The configured normal and occlusion strengths are respected. These detail maps follow the same scale and rotation as the colour texture, including world-projected materials without model UVs. They do not change the scene lighting or add a post-processing pass. Mirrored houses preserve the outward normal and tile relief in WebGL, so mirroring does not invert the roof lighting.
Repeated texture requests share a pending load. UV-mapped WebGL materials release their private texture copies when removed, while shared source textures remain available to other materials.
Viewer controls
The viewer toolbar keeps project navigation, Atmosphere/Studio/Lite selection and Realism directly accessible. Open Settings for camera mode, clipping, preview capture, artist impressions, tone mapping, materials, overlays and developer tools. The panel can be closed with Escape or by clicking outside it. On narrow screens the toolbar uses icons while the settings panel retains full labels.
Lighting and rendering quality
The project viewer and Atmosphere use Netherlands clock time for sunlight, regardless of your computer's timezone. Atmosphere's Now preset also uses Dutch time. Choose a date and time to compare seasonal shadows; the project viewer's month selector represents the middle of the selected month.
The WebGL project viewer keeps the selected resolution while stationary. If camera movement stays slow, it temporarily reduces resolution, then restores sharpness shortly after you stop moving. WebGPU keeps a fixed resolution. While orbiting, it reuses the lights' shadow maps and refreshes them when the drag ends, reducing repeated depth rendering. Rendering is capped at a pixel ratio of 2 to limit the cost on very high-resolution displays. The project's graphics preset remains the upper limit.
The WebGPU project ground uses the same procedural grass detail as Atmosphere, with a distance fade into the horizon. It does not require an extra texture download.
Atmosphere preserves model alpha masks, normal-map strength, ambient occlusion, and physical glass properties when converting imported materials. Material mappings can still override those imported properties.
Related
Joins between house models
In the project editor, small gaps in exported roof and brickwork edges are closed at shared house boundaries. This display-only correction extends a short edge by at most 25 mm; it does not scale the house or move interior vertices and openings. Free-standing edges, overhangs and larger gaps retain their model geometry. The source assets and project dimensions remain unchanged.
Ground level and camera rotation
The project viewer keeps its flat ground, map imagery and garden surfaces within 5 mm of each other, using depth ordering to avoid flickering instead of visibly raising the gardens. Paths sit just above the grass. This does not change authored terrain elevations or project dimensions.
WebGL and WebGPU rotation stops just above the horizon, preventing orbiting underneath the houses. Orthographic top-down locking remains available.
Use J for Object plaatsen (place an object). W/A/S/D remain available for camera movement without activating object placement.