Commit Graph

50 Commits

Author SHA1 Message Date
Matthew Gordon b33af565f2 Formatting 2025-06-10 11:43:19 -03:00
Matthew Gordon 6b4896f0cb Partially fix WGSL tests 2025-06-10 11:42:43 -03:00
Matthew Gordon bf1f65afe5 Add file upload button to web app 2025-06-10 10:11:38 -03:00
Matthew Gordon 15fd82da34 Separate JS and CSS out of HTML document and into their own files 2025-06-10 09:38:32 -03:00
Matthew Gordon b3deecc02f Add colours 2025-06-02 15:10:28 -03:00
Matthew Gordon 6bac62f587 Slow down automatic rotation 2025-05-30 16:57:44 -03:00
Matthew Gordon 953a152c97 Log backend and device (GPU model) when initializing 2025-05-30 16:57:27 -03:00
Matthew Gordon 1b3e475318 Raise WGPU requested limits 2025-05-30 16:56:43 -03:00
Matthew Gordon c5930e55f9 Web version now has feature parity with native 2025-05-24 18:46:51 -03:00
Matthew Gordon a15eedcd1b Progress towards getting web version working 2025-05-19 13:40:36 -03:00
Matthew Gordon 1d9a771986 Update deprecated wgpu structs 2025-05-10 10:01:10 -03:00
Matthew Gordon 5d7159c490 Upgrade wgpu from version 23 to 25 2025-05-10 09:57:23 -03:00
Matthew Gordon 513c7b575e Update dependencies 2025-05-10 09:50:13 -03:00
Matthew Gordon 5e8fe85cdf Add a little more info to README.md 2025-01-21 20:18:35 -04:00
Matthew Gordon 3d29a93885 Replace ambient coefficient with a no-shadow fill light 2025-01-21 20:14:52 -04:00
Matthew Gordon e1aab75ab8 Still a mess but performance and visual quality improved 2025-01-10 16:05:21 -04:00
Matthew Gordon 103cd1bdc2 It's a mess but it works. 2025-01-10 14:33:57 -04:00
Matthew Gordon 91a66e3bb4 Add antialiasing 2025-01-06 11:18:43 -04:00
Matthew Gordon 53221856aa Add hard shadows, although there are bad artifacts 2025-01-06 09:54:21 -04:00
Matthew Gordon 171ffa180b Switch to nicer default scale 2025-01-03 21:40:54 -04:00
Matthew Gordon 9348c6021b Calculate normals and apply lambertian lighting 2025-01-03 21:40:34 -04:00
Matthew Gordon c822264329 Raycasting works! 2025-01-03 15:46:37 -04:00
Matthew Gordon 4e08d2b8fd Break up shader into multiple files 2024-12-23 11:39:56 -04:00
Matthew Gordon f2bd9a92fc Move dem_renderer module into subdirectory 2024-11-29 20:32:51 -04:00
Matthew Gordon f7603661c1 Add non-working raycasting code
Implemented basic raycasting but it doesn't work; I'll check this in and
then add GPU unit tests.
2024-11-29 20:28:20 -04:00
Matthew Gordon 5e3b97ed61 Load DEM BVH into texture 2024-11-22 21:42:37 -04:00
Matthew Gordon ab2e366e7f Factor out DEM texture creation into separate function 2024-11-22 20:40:56 -04:00
Matthew Gordon e7180e57bf Fix issues found by `cargo clippy`, including bugs 2024-11-22 20:32:15 -04:00
Matthew Gordon a4503c3dbf Load DEM texture 2024-11-22 20:20:06 -04:00
Matthew Gordon 8906f6e47a Build BVH Quadtree for DEM 2024-11-16 15:03:16 -04:00
Matthew Gordon e26af202ef Render volume of DEM instead of cube
Instead of a +/-1 cube, draw the AABB of the DEM
2024-11-15 10:07:04 -04:00
Matthew Gordon e89c1e4c3d Make the cube rotate 2024-11-14 22:08:23 -04:00
Matthew Gordon 35785dbf01 Redraw continuously instead of busy-waiting at 100% CPU
Previously, Pteropus would only redraw when the window was resized, but
it would continuously poll for events, keeping a CPU core at 100% even
when not doing anything.

It now automatically queues a new RedrawRequested event after each draw
finishes. The view() call will also limit the frame rate to the video
refresh rate and block when there are more than three frames queued up,
so we're not busywaiting any more.
2024-11-14 20:51:23 -04:00
Matthew Gordon b870e03812 Draw unlit cube when DEM is loaded
Reconfigure the pipeline to draw an unlit (solid colour silhouette) cube
when a DEM is loaded. The fragment shader of this cube will be what
raytraces the DEM.
2024-11-14 12:51:24 -04:00
Matthew Gordon 71b05c31a2 Load f32 tiff into DEM, started BVH, other changes 2024-11-13 17:14:44 -04:00
Matthew Gordon 5dfdd3e927 Stub in basic wgpu framework; just draw triangle right now
Start again using WGPU with both native and WebAssembly. Just draws a
triangle right now.
2024-07-12 17:27:27 -03:00
Matthew Gordon 5e107d78f2 Scale down fox image 2024-07-11 11:05:28 -03:00
Matthew Gordon 4911748728 Re-add Flying Fox 2024-07-11 10:55:57 -03:00
Matthew Gordon 8cf731ee35 Delete Flying Fox photo missing from LFS after migration 2024-07-11 10:55:09 -03:00
Matthew Gordon 548f801bcf Extract numeric type traits to own module 2024-02-03 12:39:28 -04:00
Matthew Gordon d84a1ee40c Restructure command line args to use subcommands 2024-02-03 12:38:34 -04:00
Matthew Gordon 0880f3e761 Add simple gridding of LAS files 2024-01-20 16:27:45 -04:00
Matthew Gordon 45121558f9 Upgrade a bunch of packages 2024-01-18 19:54:24 -04:00
Matthew Gordon f693faed12 Switch to semver for dependencies 2024-01-18 19:41:16 -04:00
Matthew Gordon 7b50b884f4 Remove Vukan 2024-01-18 19:37:40 -04:00
Matthew Gordon 5e34c37848 Vulkan WIP 2024-01-18 19:37:03 -04:00
Matthew Gordon 8ef0c4ce59 WIP Initializing Vulkan 2022-02-26 16:56:01 -05:00
Matthew Gordon c54de32d30 Give a geographic location, download and read LIDAR from GeoNB 2022-02-26 15:09:13 -05:00
Matthew Gordon 054d107d3c Add Flying Fox photo 2022-02-01 12:03:59 -05:00
Matthew Gordon 241a46206e
Initial commit 2022-02-01 10:38:48 -05:00