Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
644 commits
Select commit Hold shift + click to select a range
c576114
refactor: changes slider interval for float decoding bound control
GeraldKimmersdorfer Dec 5, 2024
d67006b
add: R32Float export png support for save_to_file function
GeraldKimmersdorfer Dec 6, 2024
bcc603a
add: HeightDecodeNode
GeraldKimmersdorfer Dec 6, 2024
ad1c687
add: utility func for getting tile width and height
pkomon Dec 6, 2024
1f8abd8
refactor: normal node on single texture instead of tiles
pkomon Dec 6, 2024
8c76555
Merge branch 'develop' into refactor/node-graph
pkomon Dec 9, 2024
ed51257
refactor: release point node to single texture
pkomon Dec 9, 2024
7daf993
refactor: trajectory node to single texture
pkomon Dec 10, 2024
ef0041b
refactor: compute slope angle shader func
pkomon Dec 10, 2024
dc55fa5
refactor: remove unused settings
pkomon Dec 10, 2024
ba18f91
add: resolution multiplier for trajectory overlay
pkomon Dec 10, 2024
613cdc1
fix: crash on too large textures
pkomon Dec 11, 2024
aa00a6a
add: line algorithm (bresenham) for trajectories
pkomon Dec 11, 2024
1a9c7ac
fix: read_back_async of texture now const (as it should be)
pkomon Dec 11, 2024
ef86652
add: single texture export for TileExportNode
pkomon Dec 11, 2024
d5b9b64
add: node graph with texture export
pkomon Dec 11, 2024
e8a55ca
refactor: minor cleanup in release points compute shader
pkomon Dec 11, 2024
359be95
fix: multiple off-by-one errors in trajectory shader
pkomon Dec 11, 2024
34e46d1
fix: always write color in buffer to texture
pkomon Dec 12, 2024
881dbb4
fix: add missing wgsl files to qt resource
pkomon Dec 12, 2024
bf25a84
add: fxaa node and pipeline
pkomon Dec 12, 2024
461d9fb
add: iterative simulation node
pkomon Dec 19, 2024
4a5f05b
fix: replace filtering code with textureSampleLevel
pkomon Dec 20, 2024
b36b6a2
wgsl psg pseudo random sequence
GeraldKimmersdorfer Dec 20, 2024
7f99f24
add: mipamping for overlays
GeraldKimmersdorfer Dec 27, 2024
21f0440
add: random simulation for trajectories
pkomon Dec 31, 2024
d060406
refactor: rename trajectory models
pkomon Jan 2, 2025
3e7bfc0
add: slider for normal offset size (trajectories)
pkomon Jan 2, 2025
828f888
add: slider for num samples (trajectories)
pkomon Jan 2, 2025
87eb416
refactor: set default min release point angle to 30
pkomon Jan 2, 2025
1cfb38d
fix: put image overlay options into correct section
pkomon Jan 2, 2025
bab6f18
add: offset for computed direction (trajectories)
pkomon Jan 2, 2025
9b3dad1
fix: web again
GeraldKimmersdorfer Jan 7, 2025
a47724a
add: (maybe slightly broken) simple 2 model
GeraldKimmersdorfer Jan 8, 2025
edade19
fix: avoid device lost on default values when normalizing 0-vector
pkomon Jan 11, 2025
c333fcf
add: flowpy runout model
pkomon Jan 11, 2025
18df605
add: shading for compute overlay
GeraldKimmersdorfer Jan 15, 2025
36f9f58
add: changes to model routing
GeraldKimmersdorfer Jan 15, 2025
28b82f5
refactor: renames, invert density, cleanup settings
pkomon Jan 15, 2025
5ea7847
add: separate num paths from resolutions
pkomon Jan 23, 2025
e1d14cf
fix: bug with requesting height
pkomon Jan 23, 2025
5f650a2
refactor: remove unused settings
pkomon Jan 23, 2025
5cd83e2
fix: sampling density now properly named
pkomon Jan 23, 2025
280cab5
add: update default parameters
pkomon Jan 23, 2025
02b5718
add: documentation stubs
GeraldKimmersdorfer Jan 27, 2025
aafb139
fix: remove rendering zoomlevel restriction
pkomon Jan 29, 2025
ce3601b
add: some sections of technical/developer doc
pkomon Jan 29, 2025
8addb7c
fix: restore grossglockner as default cam preset
pkomon Feb 4, 2025
d3af95f
add: hide image overlay by default
pkomon Feb 4, 2025
a7af698
fix: consistent naming of settings in UI
pkomon Feb 4, 2025
f71bd26
doc: add some sections in user guide
pkomon Feb 4, 2025
37ac012
fix: altitude correction for height decode node
pkomon Feb 4, 2025
8c5ee93
doc: revisit user guide, formatting
pkomon Feb 5, 2025
a60a22d
add: example gpx tracks
pkomon Feb 5, 2025
041402f
doc: add screenshots to user guide
pkomon Feb 5, 2025
7f29f61
doc: update node graph, use lower res jpg for screenshots
pkomon Feb 5, 2025
2a62310
doc: add demo link in main readme
pkomon Feb 5, 2025
2531bc0
doc: remove todo from readme
pkomon Feb 5, 2025
3de82c7
fix: no fxaa and runout bug
GeraldKimmersdorfer Feb 11, 2025
2c39e67
fix: move altitude correction to normals node
pkomon Feb 11, 2025
eea663b
add: change slider to drag components and enable bilinear filter
GeraldKimmersdorfer Feb 11, 2025
01718b0
fix: check runout model before drawing
GeraldKimmersdorfer Feb 11, 2025
842878a
add: logo to gui and new imgui theme
GeraldKimmersdorfer Feb 19, 2025
5ef32f7
fix: changes default release point angle range to [30,45]
GeraldKimmersdorfer Feb 19, 2025
2eacb86
fix: dark mode on windows and refactor styling functions into seperat…
GeraldKimmersdorfer Feb 19, 2025
eef77ea
fix: adds default breite ries track
GeraldKimmersdorfer Feb 19, 2025
0768bd2
add: auto load and compute execute on debug build
GeraldKimmersdorfer Feb 19, 2025
545d119
add: doc screenshots with new interface
GeraldKimmersdorfer Feb 19, 2025
d467ee0
fix: compile error with emscripten
pkomon Mar 3, 2025
cfebc59
fix: replace deprecated swapchain with new surface api
pkomon Mar 3, 2025
5388120
add: log webgpu device request error msg
pkomon Mar 4, 2025
932031e
fix: device request error for chrome canary
pkomon Mar 4, 2025
ba223b1
fix: replace deprecated webgpu API
pkomon Mar 4, 2025
8d26677
Merge branch 'main' into develop-merge
pkomon Mar 5, 2025
7b54f14
Merge remote-tracking branch 'upstream/main' into develop-merge
pkomon Mar 6, 2025
0b34a9f
fix: downgrade Qt version to 6.7
pkomon Mar 17, 2025
06fa833
refactor: complete merge
pkomon Mar 17, 2025
4480f7e
fix: correct names in GpuHashMap test
pkomon Mar 24, 2025
5dde154
fix: crash on exit
pkomon Mar 24, 2025
190a319
fix: weird warning
pkomon Mar 24, 2025
eb59de4
add: aabb file output for single texture
pkomon Mar 24, 2025
2d30eae
add: export of trajectory texture
pkomon Mar 24, 2025
23d9d51
add: load texture node
pkomon Mar 24, 2025
f41b8d6
add: node failure when texture file cannot be loaded
pkomon Mar 25, 2025
2780540
add: node for loading region aabb from txt file
pkomon Mar 25, 2025
f1d759d
add: compute graph with custom file inputs + ui
pkomon Mar 31, 2025
a5a47f6
add: slider to change max zoom level
pkomon Apr 3, 2025
6f73072
add: dtm/dsm selection, move max zoomlevel to app section
pkomon Apr 7, 2025
a1710ec
add: todo comment
pkomon Apr 7, 2025
17c3b1a
add: disable linear filtering for trajectories texture
pkomon Apr 7, 2025
7f31bb6
fix: removes verification pipeline ui elements in web
GeraldKimmersdorfer Apr 16, 2025
f9f597a
add: layers to trajectory node
GeraldKimmersdorfer Apr 16, 2025
dc616bb
add: dawn flag use_user_defined_labels_in_backend on debug
GeraldKimmersdorfer Apr 16, 2025
a93bb46
add: hides mipmap debug message
GeraldKimmersdorfer Apr 16, 2025
68fc798
add: node graph editor
pkomon Apr 16, 2025
d23182f
adds: initial graph layout algorithm
GeraldKimmersdorfer Apr 16, 2025
c893b08
add: compose overlay also uses range encoding function
GeraldKimmersdorfer Apr 18, 2025
d8671d7
add: DAWN toggle output and vsync per default deactivated
GeraldKimmersdorfer Apr 18, 2025
829af17
add: set NodeGraphSize only on startup
GeraldKimmersdorfer Apr 18, 2025
0098eed
add: BufferExportNode
GeraldKimmersdorfer Apr 18, 2025
90ddf48
add: button to toggle node editor
pkomon Apr 19, 2025
ca6340a
add: compute and write parameters into layers
pkomon Apr 20, 2025
9b5a06b
add: height difference texture
pkomon Apr 21, 2025
9ac7920
add: timestamp to export directory name
pkomon Apr 23, 2025
79080a1
add: export pipeline settings as json file
pkomon Apr 23, 2025
037e96c
add: load eval dir and settings file
pkomon Apr 23, 2025
f90ad97
add: error message when pipeline cannot be run
pkomon Apr 23, 2025
6c2368f
fix: write gamma instead of delta for travel angle output
pkomon Apr 26, 2025
2ff595c
add: output node timings
pkomon Apr 26, 2025
10ada6c
fix: exit simulation when sampled height is zero
GeraldKimmersdorfer Apr 29, 2025
c8b52c2
add: cli app for webigeo evaluation
pkomon May 5, 2025
2be32c9
fix: typo in comment
pkomon May 5, 2025
2d74671
add: generate batch script as part of cmake build
pkomon May 6, 2025
2845b2a
add: relative paths for webigeo_eval cli
pkomon May 6, 2025
d919805
fix: unhandled errors, use qFatal everywher
pkomon May 7, 2025
34928b2
add: add model selection back to ui
pkomon May 7, 2025
cceb218
add: output normal texture in eval pipeline
pkomon May 16, 2025
190d0c9
wip physical model
May 17, 2025
336f565
add: adjustable random_seed in GUI and CLI
GeraldKimmersdorfer May 19, 2025
fab1b2e
add: configurable shading parameters
GeraldKimmersdorfer May 19, 2025
e713a2c
wip physical model
May 17, 2025
0a0fe98
add: flowpy color mapping and z_delta as default overlay
GeraldKimmersdorfer May 20, 2025
842423e
add: changes track color to webigeo blue
GeraldKimmersdorfer May 20, 2025
fc5449e
add: hides debug axis and changes default material to white
GeraldKimmersdorfer May 20, 2025
f5316d6
add: multiple run support for avalanche trajectory node
GeraldKimmersdorfer May 21, 2025
fd08db6
add: transparency based on cellCounts
GeraldKimmersdorfer May 21, 2025
903adca
refactor: webigeo logo resize fix and removal of obsolete node graph …
GeraldKimmersdorfer May 21, 2025
d87fb69
add: graph part run, adjustable legend, velocity conversion
GeraldKimmersdorfer May 21, 2025
9dd4bbc
add: unit to legend
GeraldKimmersdorfer May 21, 2025
5ab87d2
add: ScreenSpace Heightlines
GeraldKimmersdorfer May 21, 2025
bab35f6
add: adjustable ortho tile source
GeraldKimmersdorfer May 21, 2025
d5f4633
add: node enable state and no export on part run
GeraldKimmersdorfer May 21, 2025
ac0ec28
add: overlay post shading for compute overlay
GeraldKimmersdorfer May 21, 2025
cfcaf54
wip models
May 27, 2025
f897dc1
add: moves heightlines into the center and applies distance based AA
GeraldKimmersdorfer May 27, 2025
0b01451
fix: better aa for height lines far away
GeraldKimmersdorfer May 27, 2025
ceac151
fix: improved lighting parameters
GeraldKimmersdorfer May 27, 2025
1f33508
fix: normals on tile edges (port of adam's fix)
pkomon May 27, 2025
229ac09
lawinensymposium models
May 27, 2025
5888c12
Merge branch 'models' of github.com:Gro2mi/alpinemapsrenderer into Gr…
pkomon May 27, 2025
be54238
add: copyright
pkomon May 27, 2025
5ad16a7
Merge branch 'Gro2mi-models' into feature/eval
pkomon May 27, 2025
926b460
fix: repaint every frame
GeraldKimmersdorfer May 28, 2025
ce52955
fix: cosine_weight and speedup
GeraldKimmersdorfer May 28, 2025
c45f148
fix: uniform sampling per default
GeraldKimmersdorfer May 28, 2025
633dae7
add: toggle texture interpolation and fixes mipmapping of compute ove…
GeraldKimmersdorfer May 28, 2025
a19935e
add: model comparisons
May 29, 2025
3cc8d44
add: doc params for reference models
pkomon May 29, 2025
a85abb1
fix: rename evaluation doc
pkomon May 29, 2025
a1d12f4
fix: unconnected transparency buffer in eval pipeline
pkomon May 29, 2025
28f6023
adds: layer scaling (disabled), changeable overlays and print_mode fo…
GeraldKimmersdorfer May 29, 2025
d469577
Merge branch 'feature/eval' of github.com:weBIGeo/webigeo into featur…
GeraldKimmersdorfer May 29, 2025
be62923
refactor: move code to focus region into method
pkomon Jun 4, 2025
73d0a0a
refactor: move code to focus region into method (2d)
pkomon Jun 4, 2025
35d9a5f
fix: use of wrong variable
pkomon Jun 4, 2025
d4872a3
add: last run time in node graph
GeraldKimmersdorfer Jun 25, 2025
8bc74ac
Merge branch 'feature/eval' of github.com:weBIGeo/webigeo into featur…
GeraldKimmersdorfer Jun 25, 2025
f40b7e1
add: only partial pipeline rerun for more compute gui elements
GeraldKimmersdorfer Jun 25, 2025
a2942c5
add: implement roughness calculation for terrain analysis
Jun 25, 2025
4c87d40
Merge remote-tracking branch 'upstream/main' into feature/eval
pkomon Sep 8, 2025
b5add50
fix: flickering when ortho not yet loaded
pkomon Sep 8, 2025
3495612
fix: dtm/dsm selection works again
pkomon Sep 8, 2025
af5ecc2
fix: level of detail slider works again
pkomon Sep 8, 2025
8e4f314
fix: max zoom level slider works again
pkomon Sep 8, 2025
aa94aba
add: cmake option to exclude webigeo cli from build
pkomon Sep 8, 2025
a4eff14
fix: build error in wasm build
pkomon Sep 11, 2025
905bb9d
Update to new webGPU version, update dependencies and readme
pkomon Sep 16, 2025
1b2700d
refactor: replace enable()/disable() with set_enabled(bool)
pkomon Oct 7, 2025
58c0112
refactor: move export nodes into correct factory method
pkomon Oct 7, 2025
079f02c
fix: set default maximum zoom level back to 18
pkomon Oct 7, 2025
13910de
refactor: slightly wider ui panel
pkomon Oct 7, 2025
2a696b6
fix: shader compile error in firefox for render_tiles.wgsl
pkomon Oct 7, 2025
6666343
refactor: clean up ui
pkomon Oct 7, 2025
7bccc0a
fix: better default settings
pkomon Oct 7, 2025
e0060f9
fix: wgsl compile error in firefox
pkomon Oct 7, 2025
41fe47a
fix: crash on changing settings without running pipeline
pkomon Oct 13, 2025
cddac6e
add: disclaimer popup
pkomon Oct 13, 2025
2cee9aa
add: about page
pkomon Oct 16, 2025
86a7906
fix: disable broken pipelines
pkomon Oct 16, 2025
3786ad0
fix: set default angle for snow to 45 instead of 30
pkomon Oct 16, 2025
c1f41e3
Merge branch 'develop'
pkomon Oct 16, 2025
a952dfe
fix: persistence slider maximum and step
pkomon Oct 16, 2025
bf5ed7e
fix: snow compute node
pkomon Oct 22, 2025
3ab5abc
add: new NodeGraphLayout with Animation
GeraldKimmersdorfer Oct 29, 2025
22a8f17
fix: north animation and input recording+playback
pkomon Oct 29, 2025
4732567
fix: incorrect normal when height tile has not loaded yet
pkomon Oct 29, 2025
705d057
add: node graph ui and smooth camera animation recorder
GeraldKimmersdorfer Nov 3, 2025
8d0a65c
fix: update webigeo cli to use new webgpu api
pkomon Nov 3, 2025
ad65ad7
fix: not receiving webgpu callbacks on CLI version
pkomon Nov 23, 2025
cdd7401
fix: compile error for webigeo_eval target
pkomon Nov 24, 2025
721bde2
fix: color mapped texture for avalanche eval graph
pkomon Nov 24, 2025
3bffc3b
refactor: rename fields of webigeo_eval settings struct
pkomon Nov 24, 2025
2f195ec
add: make most CLI settings optional
pkomon Nov 24, 2025
f1a7f14
refactor: better name, add descriptive comment
pkomon Nov 24, 2025
8ec161c
add: documentation for webigeo CLI tool
pkomon Nov 24, 2025
79215bf
add: simplify native build
pkomon Nov 26, 2025
034850e
refactor: fixes warnings on MSVC debug build
GeraldKimmersdorfer Dec 4, 2025
1bc6dda
refactor: fix webbuild, cleanup, remove warnings
GeraldKimmersdorfer Dec 4, 2025
9235faa
add: dawn, sdl and dawnport python installation scripts for cmake
GeraldKimmersdorfer Dec 5, 2025
c29a0b1
add: cleanup message
GeraldKimmersdorfer Dec 5, 2025
58a79b7
fix: adapted about page
GeraldKimmersdorfer Dec 6, 2025
bb1edf1
add: updated Setup-Instructions
GeraldKimmersdorfer Dec 6, 2025
136f829
fix: respect python naming conventions and unify scripts
GeraldKimmersdorfer Dec 11, 2025
3317867
add: remove hashmap tests and use qt deploytool for dlls
GeraldKimmersdorfer Dec 15, 2025
967672b
add: vs and vs code directory ignore
GeraldKimmersdorfer Dec 15, 2025
7186052
add: script to serve wasm files
GeraldKimmersdorfer Dec 15, 2025
767a654
add: install targets for web and native build
GeraldKimmersdorfer Dec 15, 2025
78e977e
add: CMakePresets for web and native builds
GeraldKimmersdorfer Dec 15, 2025
e428daf
add: explicit variables for emsdk and ninja to CMakePresets and updat…
GeraldKimmersdorfer Dec 16, 2025
1c86c58
fix: CmakePresets on Qt Creator
GeraldKimmersdorfer Dec 16, 2025
f69633f
fix: makes ALP_WEBGPU_APP_ENABLE_IMGUI work again
GeraldKimmersdorfer Dec 16, 2025
f21d62c
add: file monitor for wasm serving script
GeraldKimmersdorfer Dec 16, 2025
4e4390f
add: fixes (the one) test and adds test cmake preset
GeraldKimmersdorfer Dec 17, 2025
4102719
add: new ShaderPreprocessor
GeraldKimmersdorfer Dec 18, 2025
d40cd5b
fix: log in powershell and cmd
GeraldKimmersdorfer Dec 18, 2025
6179707
add: tests for ShaderPreprocessor
GeraldKimmersdorfer Dec 18, 2025
08f4650
add: use new preprocessor in ShaderModuleManager
GeraldKimmersdorfer Dec 18, 2025
f9fef99
add: simple shader minification and new wasm file
GeraldKimmersdorfer Dec 19, 2025
7071a89
add: error callback for shader preprocessor
GeraldKimmersdorfer Dec 19, 2025
e05151e
add: new wasm-publish target
GeraldKimmersdorfer Dec 19, 2025
ae029eb
Merge pull request #38 from Gro2mi/feature/roughness
GeraldKimmersdorfer Dec 19, 2025
bf41d89
add: make roughness filtering optional via preprocessor directives
GeraldKimmersdorfer Dec 19, 2025
72b5516
fix: CPU Timing
GeraldKimmersdorfer Dec 20, 2025
651f0c7
Merge branch 'AlpineMapsOrg:main' into develop
GeraldKimmersdorfer Dec 20, 2025
7a6866b
Merge pull request #40 from weBIGeo/develop
GeraldKimmersdorfer Dec 20, 2025
337c2c9
Feature/webigeo clouds merge (#43)
GeraldKimmersdorfer Apr 12, 2026
3cdde28
Feature/imgui refactor (#45)
GeraldKimmersdorfer May 6, 2026
6755a63
Feature/search (#46)
pkomon May 28, 2026
b94a59b
Feature/overlay renderer (#47)
GeraldKimmersdorfer Jun 9, 2026
1839d38
Feature/compute target (#48)
GeraldKimmersdorfer Jun 11, 2026
98c1596
Feature/app dir structure (#49)
GeraldKimmersdorfer Jun 12, 2026
2227bea
Feature/building and documentation (#50)
GeraldKimmersdorfer Jun 17, 2026
d6d54fb
Merge remote-tracking branch 'upstream/main' into develop
GeraldKimmersdorfer Jun 17, 2026
05644fa
Merge pull request #51 from weBIGeo/develop
GeraldKimmersdorfer Jun 17, 2026
9902af1
removes: gpx_tracks and disables webgpu targets for ci pipelines
GeraldKimmersdorfer Jun 18, 2026
12e3383
add: activates labels for the ci pipelines
GeraldKimmersdorfer Jun 18, 2026
21260a4
Feature/node graph additions (#53)
GeraldKimmersdorfer Jun 18, 2026
1719b88
add: sync default cmake variables with upstream, adapt cmake presets …
GeraldKimmersdorfer Jun 18, 2026
e587b02
Merge pull request #52 from weBIGeo/develop
GeraldKimmersdorfer Jun 18, 2026
d9b7912
fix: fixes cmake presets and adds alp-base
GeraldKimmersdorfer Jun 18, 2026
cccae4e
Merge pull request #54 from weBIGeo/develop
GeraldKimmersdorfer Jun 18, 2026
ef2eb05
fix compiliation and build all by default.
Jun 19, 2026
593c13a
install webgpu app next to alpine app. do not rename to index.html, h…
Jun 19, 2026
ddac1e4
codex' attempt at a cross platform cmake. i don't like the install pa…
Jun 19, 2026
10191b1
this was also done by codex
Jun 19, 2026
5bee335
fix webigeo on linux
Jun 19, 2026
21f140b
remove stale scheduler
Jun 19, 2026
0b28f6c
fix alpineapp
adam-ce Jun 19, 2026
44dd57c
Deploy Dawn DXC runtime DLLs on Windows
adam-ce Jun 19, 2026
d26983d
Move Dawn DXC discovery into CMake helper
adam-ce Jun 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,8 @@ jobs:
CXX: ${{ matrix.CXX }}
CMAKE_PREFIX_PATH: ${{env.QT_ROOT_DIR}}/lib/cmake
run: >
cmake -G Ninja
-DCMAKE_BUILD_TYPE=${{matrix.BUILD_TYPE}}
cmake -G Ninja
-DCMAKE_BUILD_TYPE=${{matrix.BUILD_TYPE}}
-DALP_ENABLE_ASSERTS=ON
-DALP_ENABLE_ADDRESS_SANITIZER=ON
-DALP_ENABLE_APP_SHUTDOWN_AFTER_60S=ON
Expand Down Expand Up @@ -115,7 +115,7 @@ jobs:
QT_QPA_PLATFORM: offscreen
DISPLAY: :1
LD_PRELOAD: ./libdlclose.so
LSAN_OPTIONS: suppressions=./sanitizer_supressions/linux_leak.supp
LSAN_OPTIONS: suppressions=./misc/sanitizer_suppressions/linux_leak.supp
ASAN_OPTIONS: verify_asan_link_order=0
# QSG_RENDER_LOOP: basic
run: |
Expand Down
8 changes: 6 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
/CMakeLists.txt.user
/extern/*
/doc/*
/doc
/docs/binary
/build/*
/install/*
.vs
.vscode
.qtcreator
__pycache__
/.qtcreator/CMakeLists.txt.user
**/.qmlls.ini
68 changes: 55 additions & 13 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#############################################################################
# Alpine Terrain Renderer
# Copyright (C) 2023 Adam Celarek <family name at cg tuwien ac at>
# Copyright (C) 2024 Gerald Kimmersdorfer
# Copyright (C) 2024 Patrick Komon
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
Expand All @@ -17,9 +19,21 @@
#############################################################################

cmake_minimum_required(VERSION 3.25)
project(alpine-renderer LANGUAGES CXX)
project(alpine-renderer LANGUAGES C CXX)

option(ALP_UNITTESTS "include unit test targets in the buildsystem" ON)
option(ALP_GL_ENGINE "include the gl engine in the buildsystem" OFF)
set(ALP_WEBGPU_DEFAULT OFF)
if (EMSCRIPTEN OR (UNIX AND NOT APPLE AND NOT ANDROID))
set(ALP_WEBGPU_DEFAULT ON)
endif()
option(ALP_WEBGPU_ENGINE "include the webgpu engine in the buildsystem" ${ALP_WEBGPU_DEFAULT})
option(ALP_WEBGPU_APP "include the webgpu app in the buildsystem" ${ALP_WEBGPU_DEFAULT})
option(ALP_PLAIN_RENDERER "include the plain renderer in the buildsystem" OFF)
option(ALP_QML_APP "include the qml app in the buildsystem" OFF)

option(ALP_WEBGPU_APP_ENABLE_COMPUTE "Build the webgpu_compute graph into the app" ON)

option(ALP_ENABLE_ADDRESS_SANITIZER "compiles atb with address sanitizer enabled (only debug, works only on g++ and clang)" OFF)
option(ALP_ENABLE_THREAD_SANITIZER "compiles atb with thread sanitizer enabled (only debug, works only on g++ and clang)" OFF)
option(ALP_ENABLE_ASSERTS "enable asserts (do not define NDEBUG)" ON)
Expand All @@ -41,14 +55,14 @@ if(ALP_ENABLE_TRACK_OBJECT_LIFECYCLE)
add_definitions(-DALP_ENABLE_TRACK_OBJECT_LIFECYCLE)
endif()

if (EMSCRIPTEN)
set(ALP_WWW_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}" CACHE PATH "path to the install directory (for webassembly files, i.e., www directory)")
option(ALP_ENABLE_THREADING "Puts the scheduler into an extra thread." OFF)
option(ALP_ENABLE_DEV_TOOLS "HotReload, Renderstats, .. (increases binary size)" OFF)
option(ALP_ENABLE_POSITIONING "enable qt positioning (gnss / gps)" ON)
elseif(ANDROID)
option(ALP_ENABLE_THREADING "Puts the scheduler into an extra thread." ON)
option(ALP_ENABLE_DEV_TOOLS "HotReload, Renderstats, .. (increases binary size)" OFF)
if (EMSCRIPTEN)
set(ALP_WWW_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}" CACHE PATH "path to the install directory (for webassembly files, i.e., www directory)")
option(ALP_ENABLE_THREADING "Puts the scheduler into an extra thread." OFF)
option(ALP_ENABLE_DEV_TOOLS "HotReload, Renderstats, .. (increases binary size)" OFF)
option(ALP_ENABLE_POSITIONING "enable qt positioning (gnss / gps)" ON)
elseif(ANDROID)
option(ALP_ENABLE_THREADING "Puts the scheduler into an extra thread." ON)
option(ALP_ENABLE_DEV_TOOLS "HotReload, Renderstats, .. (increases binary size)" OFF)
option(ALP_ENABLE_POSITIONING "enable qt positioning (gnss / gps)" ON)
else()
option(ALP_ENABLE_THREADING "Puts the scheduler into an extra thread." ON)
Expand Down Expand Up @@ -88,13 +102,18 @@ if (ALP_USE_LLVM_LINKER)
string(APPEND CMAKE_EXE_LINKER_FLAGS " -fuse-ld=lld")
endif()

# Disable Qt debug output in release builds
if(CMAKE_BUILD_TYPE STREQUAL "Release")
add_compile_definitions(QT_NO_DEBUG_OUTPUT)
endif()

########################################### dependencies #################################################
find_package(Qt6 REQUIRED COMPONENTS Core Gui OpenGL Network Quick QuickControls2 LinguistTools)
qt_standard_project_setup(REQUIRES 6.8)
qt_standard_project_setup(REQUIRES 6.7)

alp_add_git_repository(renderer_static_data URL https://github.com/AlpineMapsOrg/renderer_static_data.git COMMITISH v23.11 DO_NOT_ADD_SUBPROJECT)
alp_add_git_repository(alpineapp_fonts URL https://github.com/AlpineMapsOrg/fonts.git COMMITISH v24.02 DO_NOT_ADD_SUBPROJECT)
alp_add_git_repository(doc URL https://github.com/AlpineMapsOrg/documentation.git COMMITISH origin/main DO_NOT_ADD_SUBPROJECT DESTINATION_PATH doc)
alp_add_git_repository(doc URL https://github.com/AlpineMapsOrg/documentation.git COMMITISH origin/main DO_NOT_ADD_SUBPROJECT DESTINATION_PATH docs/binary)


if (ANDROID)
Expand All @@ -115,6 +134,29 @@ if (ALP_ENABLE_GL_ENGINE)
add_subdirectory(app)
endif()

if (ALP_UNITTESTS)
add_subdirectory(unittests)
if (ALP_GL_ENGINE)
add_subdirectory(gl_engine)
endif()
if (ALP_PLAIN_RENDERER)
add_subdirectory(plain_renderer)
endif()
if (ALP_QML_APP)
add_subdirectory(app)
endif()
if (ALP_WEBGPU_APP OR ALP_WEBGPU_ENGINE)
add_subdirectory(webgpu/base)
if (ALP_WEBGPU_ENGINE)
add_subdirectory(webgpu/engine)
endif()
if (ALP_WEBGPU_APP)
if (ALP_WEBGPU_APP_ENABLE_COMPUTE)
add_subdirectory(webgpu/compute)
endif()
add_subdirectory(apps/webgpu_app)
endif()

endif()

if (ALP_UNITTESTS)
add_subdirectory(unittests)
endif()
162 changes: 162 additions & 0 deletions CMakePresets.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
{
"version": 6,
"cmakeMinimumRequired": {
"major": 3,
"minor": 25,
"patch": 0
},
"configurePresets": [
{
"name": "alp-base",
"hidden": true,
"cacheVariables": {
"ALP_ENABLE_GL_ENGINE": "OFF",
"ALP_QML_APP": "OFF",
"ALP_ENABLE_LABELS": "OFF",
"ALP_UNITTESTS": "OFF",
"ALP_WEBGPU_ENGINE": "ON",
"ALP_WEBGPU_APP": "ON",
"ALP_ENABLE_THREADING": "ON",
"ALP_ENABLE_DEV_TOOLS": "ON"
}
},
{
"name": "msvc-base",
"hidden": true,
"inherits": "alp-base",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/${presetName}",
"installDir": "${sourceDir}/install/${presetName}",
"architecture": {
"value": "x64",
"strategy": "external"
},
"toolset": {
"value": "host=x64",
"strategy": "external"
},
"cacheVariables": {
"CMAKE_C_COMPILER": "cl.exe",
"CMAKE_CXX_COMPILER": "cl.exe",
"Qt6_DIR": "C:/Qt/6.10.1/msvc2022_64/lib/cmake/Qt6"
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "msvc-debug",
"displayName": "MSVC Debug (Windows)",
"description": "Debug build using MSVC compiler",
"inherits": "msvc-base",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_CXX_FLAGS": "/DQT_DEBUG"
}
},
{
"name": "msvc-release",
"displayName": "MSVC Release (Windows)",
"description": "Release build using MSVC compiler",
"inherits": "msvc-base",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
},
{
"name": "msvc-debug-test",
"displayName": "MSVC Debug Tests (Windows)",
"description": "Debug build for unit tests using MSVC compiler",
"inherits": "msvc-debug",
"cacheVariables": {
"ALP_UNITTESTS": "ON",
"ALP_WEBGPU_APP": "OFF"
}
},
{
"name": "msvc-release-test",
"displayName": "MSVC Release Tests (Windows)",
"description": "Release build for unit tests using MSVC compiler",
"inherits": "msvc-release",
"cacheVariables": {
"ALP_UNITTESTS": "ON",
"ALP_WEBGPU_APP": "OFF"
}
},
{
"name": "emscripten-base",
"hidden": true,
"inherits": "alp-base",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/${presetName}",
"installDir": "${sourceDir}/install/${presetName}",
"toolchainFile": "C:/Qt/6.10.1/wasm_multithread/lib/cmake/Qt6/qt.toolchain.cmake",
"environment": {
"PATH": "C:/Qt/Tools/Ninja;$penv{PATH}",
"EMSDK": "C:/tmp/alpinemaps/emsdk"
}
},
{
"name": "wasm-debug",
"displayName": "WebAssembly Debug",
"description": "Debug build for WebAssembly using Emscripten",
"inherits": "emscripten-base",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_CXX_FLAGS": "-DQT_DEBUG"
}
},
{
"name": "wasm-release",
"displayName": "WebAssembly Release",
"description": "Release build for WebAssembly using Emscripten",
"inherits": "emscripten-base",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
},
{
"name": "wasm-publish",
"displayName": "WebAssembly Publish",
"description": "Production build for WebAssembly using Emscripten",
"inherits": "emscripten-base",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_CXX_FLAGS": "-DQT_NO_DEBUG_OUTPUT -DQT_NO_WARNING_OUTPUT -DQT_NO_INFO_OUTPUT",
"ALP_ENABLE_WGSL_MINIFICATION": "ON"
}
}
],
"buildPresets": [
{
"name": "msvc-debug",
"configurePreset": "msvc-debug"
},
{
"name": "msvc-release",
"configurePreset": "msvc-release"
},
{
"name": "msvc-debug-test",
"configurePreset": "msvc-debug-test"
},
{
"name": "msvc-release-test",
"configurePreset": "msvc-release-test"
},
{
"name": "wasm-debug",
"configurePreset": "wasm-debug"
},
{
"name": "wasm-release",
"configurePreset": "wasm-release"
},
{
"name": "wasm-publish",
"configurePreset": "wasm-publish"
}
]
}
Loading
Loading