Skip to content

[3D] Add extrusion support#7629

Open
mohsenD98 wants to merge 5 commits into
masterfrom
3d-extrusion
Open

[3D] Add extrusion support#7629
mohsenD98 wants to merge 5 commits into
masterfrom
3d-extrusion

Conversation

@mohsenD98

@mohsenD98 mohsenD98 commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

🚀 Description

Adds optional polygon extrusion to the 3D feature selection highlight. When a selected polygon's layer carries a height attribute, the highlight is rendered as a volumetric solid (vertical walls + a roof cap) instead of a flat fill, with
the height taken per-feature from that attribute.

image

✨ Key Changes

  • Quick3DGeometryUtils: add generatePolygonWalls().
  • Quick3DGeometry: new extrusionHeight property.
  • MultiFeatureListModel / LayerUtils : new extrusionHeight model role, backed by LayerUtils::guessFriendlyHeightField().

ℹ️ How the extrusion height is determined

LayerUtils::guessFriendlyHeightField() scans the layer's numeric fields for a name matching candidate list (extrusion, height). The model role returns that field's value for each feature. When no suitable field exists it returns 0, so polygons keep rendering flat exactly as before.

🐛 A bug Fix: Terrain sampling (independent fix in this branch)

Quick3DTerrainProvider now rejects gross low DEM outliers: extreme low samples are marked as missing so isolated DEMspikes no longer drag down the computed height range.

Demo

Screencast.From.2026-06-24.20-37-40.mp4

@mohsenD98 mohsenD98 changed the title 3Add extrusion support 3D Add extrusion support Jun 24, 2026
@mohsenD98 mohsenD98 changed the title 3D Add extrusion support [3D] Add extrusion support Jun 24, 2026
@mohsenD98 mohsenD98 self-assigned this Jun 24, 2026
@qfield-fairy

qfield-fairy commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

🍎 MacOS DMG universal builds

Download a MacOS DMG universal build of this PR for testing.
(Built from commit 437c5c9)

📱 Android builds

Download an Android arm64 build of this PR for testing.
(Built from commit 437c5c9)

Other Android architectures

🪟 Windows builds

Download a Windows build of this PR for testing and for arm64.

(Built from commit 437c5c9)

🐧 Linux AppImage builds

Download a Linux AppImage build of this PR for testing.
(Built from commit 437c5c9)

@mohsenD98 mohsenD98 marked this pull request as ready for review June 25, 2026 11:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants