56 Commits

Author SHA1 Message Date
Max Ammann
de7d18103a
Update winit and wgpu (#303)
* Update winit and wgpu which both target rwh 0.6

* Upgrade to winit 0.30 to fix android crash https://github.com/bevyengine/bevy/issues/13331

* Add Carbon framework to desktop builds and improve build script to use nix if available

* Fix swift package and compilaiton with Nix

* Cleanup nix shell

* Avoid setting the size on the canvas, winit resizes now

* Handle fetch errors for web
2024-07-05 00:48:42 +02:00
Max Ammann
c45cc55bcd
Render fixes (#292)
* Simplify message logging

* Fix setting Z in shaders

* Update debug plugin usage

* Log up to trace messages when run through jetbrains

* Filter duplicate tiles in tile patterns

* Add trace statement
2023-10-09 13:04:51 +01:00
Max Ammann
fa2c436f74
Transform improvements (#233)
This fundamentally reworks how the far distance plane is calculated. First I wanted to implement it like in maplibre-gl-js. Though that appraoch did not allow yaw AND pitch in both directions. It only allowed pitch in a single direction (only 90°, not the full 180°).

The new approach is dicussed here: https://gamedev.stackexchange.com/questions/207328/calculation-of-far-distance-plane-based-on-yaw-and-pitch-for-a-map-renderer

It works in all directions and should also be way faster to calculate.

This PR also fixes the amount of tiles that are whown for the current zoom. If calculates the appropriate zoom level based on the current zoom and takes into account the resolution of tiles.

* Introduce tile size based zoom level

* Add debug handler for testing insets

* Adjust handlers

* Set fov to that of maplibre-gl-js

* Move view projection calculation to view_state

* Increase thickness of debug lines

* Increase DEFAULT_TILE_VIEW_PATTERN_SIZE

* Fix mdbook script

* Enable debug plugin only in debug-like modes

* Move view_state to render module

* Remove 3D terrain specific code for transform

* Remove overwriting z

* Start to change camera movement

* Change camera transformation to rotate around (x,y,0) instead of (x,y,camera_height)

* Add all insets to debug handler

* First completely working version which can yaw, pitch and roll

* Update distance calculation

* Set max/min pitch/yaw to 30

* Test stackoverflow approach

* Fix far z with moved center

* Use default instead of ::new
2023-10-06 12:42:38 +02:00
Max Ammann
63da707210
Introduce Plugin API along with Raster Tiles (#253)
* Implement basic raster rendering

* Fix web builds for raster rendering (e.g. APC)

* Implement plugin system using a "Tile Component System" pattern heavily inspired by bevy

* Remove tile_repository and integrate into world structures

* Migrate from specific stages to systems

* Introduce a RasterPlugin and VectorPlugin

* Add feature gate for headless rendering to demo

* Remove pipelines for simplicity

* Add message tags using Labels

* Add run config

* Add show bash path for Windows CI

* Do not use symlinks for cargo binstall

* Introduce DebugPlugin

* Introduce HeadlessPlugin

* Add more layers to vector processing benchmark

---------

Co-authored-by: Quillasp <soulaymane.lamrani@heig-vd.ch>
Co-authored-by: Antoine Drabble <antoine.drabble@gmail.com>
2023-02-18 12:56:56 +01:00
Max Ammann
ae4a19bd81
Add code back which changes the color dynamically (#225)
* Add code back which changes the color dynamically

* Improve readablity by reducing nesting
2022-12-14 12:29:31 +01:00
Max Ammann
6367d3641f
Fix regressions from structure refactoring (#203)
* Add geometry index

* Switch to info level for run config

* Add setting for present_mode

* Remove unused file

* Adjust web to new message

* Rename transferables

* Remove bytemuck and add unsafe code

* Add Result to return type of APCs

* Add Result to Processable

* Resolve unwraps

* Remove unwraps and remove unused code
2022-11-13 11:24:17 +01:00
Maximilian Ammann
00a4753825 Remove unused run configs 2022-11-02 20:48:05 +01:00
Maximilian Ammann
d8e1e6a9a8 Ignore some directories 2022-10-30 18:32:27 +01:00
Maximilian Ammann
be34569bde Update run config 2022-09-10 11:11:19 +02:00
Maximilian Ammann
056cb5c995 Introduce environment 2022-09-09 12:34:06 +02:00
Maximilian Ammann
f5773f8d16 Add run config 2022-09-08 19:42:47 +02:00
Maximilian Ammann
682127d342 Remove run config 2022-09-08 19:41:47 +02:00
Maximilian Ammann
ea52e9c96d Update run configs 2022-09-08 16:26:41 +02:00
Maximilian Ammann
5b5be8ab40 Use custom profile and remove wasm-pack 2022-09-08 16:18:12 +02:00
Max Ammann
1934555013
Add CLI to demo (#160)
* Introduce a CLI

* Fix headless rendering
2022-09-08 11:12:22 +02:00
Max Ammann
1e438056df
Upgrade wgpu (#162)
* Upgrade wgpu

* Fix dependency issues

* Upgrade wgpu and fix specific version of web-sys

* Use latest wasm-bindgen-cli
2022-09-07 18:08:48 +02:00
Max Ammann
4391d216fa
Update rust toolchain version (#146) 2022-07-06 20:29:53 +00:00
Maximilian Ammann
0e2f8ef2c9 Add Run Test config 2022-05-31 21:54:34 +02:00
Maximilian Ammann
41d0b43755 Ignore wasm-pack output 2022-05-31 21:14:46 +02:00
Max Ammann
916af61abc
Add Render Graph from Bevy (#93)
* Add render graph from bevy with graph runner

* Add surface

* Continue to refactor renderer

* Make ScheduleMethod object safe in order to be able to have a dyn object in MapContext

* Cleanup, add some more documentation and simplify

Support resizing

Fix late init

* Update apple docs

* Give bevy attribution

* Pass github token

* Improve some comments
2022-05-23 16:53:51 +02:00
Max Ammann
feff3201c9
Move winit code to maplibre-winit (#86)
* Extract winit code to maplibre-winit

* Run clippy

* Fix android and apple

* Remove import

* Fix android compilation

* Fix android

* Update dependencies

* Fix android

* Fix android

* Add map window config

* Fix feature flag

* Add title to config

* Remove unused export

* Fix for android
2022-05-10 08:58:45 +02:00
Max Ammann
7df6ca49d3
Fix window size (#62)
* Add a MapWindow traid which exposes the window dimensions.

* Remove broken run configs

* Fix run config

* Adjust FromCanvas
2022-05-02 16:18:38 +02:00
Max Ammann
187cf9f5a9
Add packaging Documentation (#52)
* Add apple documentation

* Fix web documentation

* Update android docs

* Add script for serving the book

* Update web docs
2022-05-01 18:30:24 +02:00
Maximilian Ammann
e2db9cbd4d Exclude some directories 2022-04-25 14:36:00 +02:00
Maximilian Ammann
a6519785cb Remove core crate 2022-04-22 21:16:35 +02:00
Maximilian Ammann
24bd16c112 Remove some crates and rename others 2022-04-22 21:13:58 +02:00
Maximilian Ammann
805ca353d5 Adjust project file 2022-04-20 21:18:35 +02:00
Maximilian Ammann
3d893eb38f Fix run configs 2022-04-20 21:18:12 +02:00
Maximilian Ammann
cb5c428e6a Add build run config 2022-04-20 20:08:35 +02:00
Maximilian Ammann
22cfe6c976 Setup scaffolding for repository 2022-04-20 20:08:26 +02:00
Maximilian Ammann
a084c17244 Rename intellij project 2022-04-20 13:13:59 +02:00
Maximilian Ammann
04aece9ebc Switch to just 2022-04-18 21:07:33 +02:00
Maximilian Ammann
6b63f22e37 Update run configs 2022-04-05 17:29:05 +02:00
Maximilian Ammann
197a3a3662 Make the scheduler work with future(-factories) for simple scheduling arbitrary workloads 2022-04-05 15:14:19 +02:00
Maximilian Ammann
c7345f370d Use NDK 23 2022-04-04 14:10:08 +02:00
Maximilian Ammann
5b9470277e Add android build config 2022-04-04 12:58:58 +02:00
Maximilian Ammann
d2af853c87 Use only tracy backend for tracing 2022-04-02 13:25:08 +02:00
Maximilian Ammann
a2494dd218 Add tracing crate 2022-04-01 19:23:09 +02:00
Maximilian Ammann
716cafe8de Deduplicate build config 2022-03-15 11:50:31 +01:00
Maximilian Ammann
ff698a3db8 Add build config for web 2022-03-15 11:49:34 +01:00
Maximilian Ammann
465f7e7d06 Add tile json spec 2022-03-08 15:19:01 +01:00
Maximilian Ammann
2fd75bad1a Rename to mbtiles crate 2022-01-13 16:02:23 +01:00
Maximilian Ammann
bc154d8e1f Add wasm build run config 2022-01-09 16:51:52 +01:00
Maximilian Ammann
ce788619a1 Add run configs 2022-01-01 16:54:32 +01:00
Maximilian Ammann
7e1f5bd60c Add intellij setup for benches 2021-12-29 12:41:58 +01:00
Maximilian Ammann
0b5493c5fd Fix data source 2021-12-28 15:47:16 +01:00
Maximilian Ammann
c94dd9cadf Add examples dir 2021-12-28 14:25:21 +01:00
Maximilian Ammann
2d12d79f3e Use example instead of bin 2021-12-23 15:08:37 +01:00
Maximilian Ammann
a81e482a9c Add data source 2021-12-18 18:00:11 +01:00
Maximilian Ammann
4e4b8cb006 Add run configs 2021-12-11 15:16:09 +01:00