Commit Graph

1628 Commits

Author SHA1 Message Date
Kevin Ring bc9165659f Merge remote-tracking branch 'origin/cpp20' into remove-gsl 2024-11-12 15:07:50 +11:00
Kevin Ring 73da501e8c Merge remote-tracking branch 'origin/main' into cpp20 2024-11-12 15:06:45 +11:00
Ashley Rogers b986b0b402 Merge branch 'main' of github.com:CesiumGS/cesium-native into ellipsoid-tileset-loader 2024-11-06 15:57:18 -05:00
Kevin Ring 89dfc44bdc Remove use of GSL.
Change gsl::span to std::span, and replace the few uses of gsl::narrow
with an alternative.
2024-11-06 15:16:03 +11:00
Kevin Ring 97331792d3 Compile with C++20 and fix the problems. 2024-11-05 16:54:11 +11:00
Kevin Ring 783adceb87
Merge pull request #956 from CesiumGS/fix-missing-ellipsoid
Fix missing ellipsoid parameters
2024-10-31 21:24:45 +11:00
Kevin Ring 3435ad6a3c Pass a TilesetSharedAssetSystem into TilesetExternals. 2024-10-30 14:11:22 +11:00
Kevin Ring 8b60ebdd63 Minor tweaks. 2024-10-30 11:06:14 +11:00
Kevin Ring 33d4948634 Image::pCesium -> pAsset 2024-10-30 09:40:04 +11:00
Kevin Ring c73f5b5f05 staleAssetSizeLimit -> inactiveAssetSizeLimitBytes 2024-10-29 14:09:34 +11:00
Kevin Ring feaf448dc3 Flesh out utility functions slightly. 2024-10-29 14:07:09 +11:00
Kevin Ring d43edcea85 Add ResultPointer. 2024-10-29 11:38:15 +11:00
Kevin Ring 49f1d6319c Introduce TilesetSharedAssetSystem. 2024-10-29 09:24:43 +11:00
Kevin Ring 727a68d064 Introduce AssetEntry. 2024-10-28 17:13:18 +11:00
Ashley Rogers 38b4811270 Pass factory to asset depot constructor 2024-10-11 12:00:55 -04:00
Ashley Rogers df1f887e6d Doc comments, rename ImageCesium 2024-10-10 15:28:05 -04:00
Kevin Ring 526e660687 default -> getDefault 2024-10-10 22:19:52 +11:00
Kevin Ring 7f798379f4 GltfSharedAssetSystem 2024-10-10 21:56:09 +11:00
Kevin Ring a9516a0c84 Move SharedAsset[Depot] to CesiumAsync. 2024-10-10 21:00:16 +11:00
Kevin Ring 275bac0325 Better naming. 2024-10-04 21:16:11 +10:00
Kevin Ring cee6f21ea6 Make SharedAsset a base class an eliminate AssetContainer. 2024-10-04 16:10:28 +10:00
Kevin Ring 91f5b5fc65 Merge remote-tracking branch 'origin/main' into shared-assets 2024-10-03 09:14:00 +10:00
Ashley Rogers a2b31a070b Fix missing ellipsoid parameters 2024-10-01 11:27:13 -04:00
Kevin Ring ec2186cff2 setMightHaveLatentChildren(false) even if tile has real children. 2024-10-01 16:18:33 +10:00
Kevin Ring 6fb28fe9a0 When tileset fails to load, report all heights not sampled.
Instead of rejecting the promise.
2024-10-01 07:54:21 +10:00
Kevin Ring d7bef249f1 Merge remote-tracking branch 'origin/main' into shared-assets 2024-09-30 21:04:40 +10:00
Kevin Ring 05e1af1e80 Show tileset if overlay tile provider can't be created. 2024-09-30 21:03:00 +10:00
Kevin Ring 03b60efa8c Don't let failing overlays stop rendering completely. 2024-09-30 21:03:00 +10:00
Kevin Ring 95840fe38d Fix compile errors in tests. 2024-09-30 21:03:00 +10:00
Kevin Ring fb38ac9f2c Fail height requests when Tileset is destroyed. 2024-09-27 21:40:59 +10:00
Kevin Ring ad18abfc03 Add sampleHeightMostDetailed test against a broken tileset. 2024-09-27 10:10:02 +10:00
Kevin Ring 87a4e686f1 Update doc. 2024-09-27 10:02:59 +10:00
Kevin Ring b48893af99 tilesNeedingLoading -> tileLoadSet 2024-09-27 09:59:14 +10:00
Kevin Ring 63d6e4dd6d heightSampled -> sampleSuccess. 2024-09-27 09:54:46 +10:00
Kevin Ring e0323e9b1a Only create latent children if there are not any children yet.
And add documentation for createLatentChildrenIfNecessary.
2024-09-27 09:50:25 +10:00
Kevin Ring 352e609df9
Update doc.
Co-authored-by: Janine Liu <32226860+j9liu@users.noreply.github.com>
2024-09-27 09:50:46 +10:00
Kevin Ring e401f5996c
Update comment.
Co-authored-by: Janine Liu <32226860+j9liu@users.noreply.github.com>
2024-09-27 09:14:16 +10:00
Kevin Ring 85226ee4be
Update comment.
Co-authored-by: Janine Liu <32226860+j9liu@users.noreply.github.com>
2024-09-27 09:13:22 +10:00
Janine Liu 74acd1a2ab Additional tweak 2024-09-26 10:12:28 -04:00
Janine Liu 23308ba502 Doc tweaks 2024-09-25 18:24:52 -04:00
Janine Liu f7a75b1778 Merge branch 'main' into height-query 2024-09-25 17:05:54 -04:00
Kevin Ring 4850751a25 Reject height requests when tileset fails to load. 2024-09-24 07:46:39 +10:00
Ashley Rogers 4851ed2dc2 Fix test 2024-09-18 16:20:19 -04:00
Kevin Ring 9e7687d7c1 Show tileset if overlay tile provider can't be created. 2024-09-18 09:15:10 +10:00
Kevin Ring bc0770a146 Update CHANGES, small cleanup. 2024-09-16 20:48:09 +10:00
Kevin Ring 3a37ba196b Fix "done loading" criteria. 2024-09-16 13:39:59 +10:00
Kevin Ring 5753669933 Better marking of visited tiles. 2024-09-16 11:34:58 +10:00
Kevin Ring ca62417638 Keep query tiles loaded until we're done with them. 2024-09-16 11:04:05 +10:00
Kevin Ring 51a532213e Cleanup and doc. 2024-09-16 09:19:16 +10:00
Kevin Ring 06d9e791a6 Move height query functionality out of Tileset.cpp. 2024-09-13 21:00:22 +10:00
Kevin Ring 7c167ee15a Minor reorg and documentation. 2024-09-13 19:04:00 +10:00
Kevin Ring 11d9f8e69c Rename TerrainQuery to TilesetHeightQuery. 2024-09-13 17:07:24 +10:00
Kevin Ring d9ff8acb9b Report a warning for unsupported extensions. 2024-09-13 16:16:31 +10:00
Ashley Rogers 96cd924630 Update based on review 2024-09-11 14:53:52 -04:00
Kevin Ring b7a42443dd Height queries against implicit tilesets. 2024-09-11 21:50:40 +10:00
Kevin Ring 349bc22459 Add external and implicit tileset tests.
Implicit tileset test is currently failing.
2024-09-11 16:32:32 +10:00
Kevin Ring dcc6c09c0b Don't do a full search if there are already additive candidates. 2024-09-11 16:32:08 +10:00
Kevin Ring 0a9e7450d4 Add very basic height query tests. 2024-09-11 15:52:54 +10:00
Kevin Ring fbb880bdec Allow a null IPrepareRendererResources. 2024-09-11 15:52:18 +10:00
Kevin Ring f270e4dc7e Allow height queries on a tileset that hasn't loaded at all yet. 2024-09-11 15:51:45 +10:00
Kevin Ring adea29379e visitHeightRequests -> processHeightRequests 2024-09-11 15:51:24 +10:00
Kevin Ring 1f01f5a4e9 Small tweaks and comments. 2024-09-11 13:47:40 +10:00
Kevin Ring 5310d25310 Remove unused lambda capture. 2024-09-11 11:42:36 +10:00
Kevin Ring f7450a2aa1 Incremental traversal for additive-refined tiles, too. 2024-09-10 22:32:43 +10:00
Kevin Ring 852710e3f4 Round-robin scheduling of vis and height query loads. 2024-09-10 20:04:40 +10:00
Kevin Ring 1f778804de Use addTileToLoadQueue, no need to search existing first. 2024-09-10 15:44:55 +10:00
Kevin Ring 3be4524adb We only need ContentLoaded for height queries. 2024-09-10 15:22:49 +10:00
Kevin Ring 5dc4acb8f4 Don't let failing overlays stop rendering completely. 2024-09-06 14:46:44 +10:00
Kevin Ring 770c5bbac1 Fix compile errors in tests. 2024-09-05 15:52:25 +10:00
Kevin Ring ef273ac266 More performant rayOBBParametric. 2024-08-29 09:42:18 +10:00
Kevin Ring 360154bd8d Remove use of variable from debug code. 2024-08-27 21:47:52 +10:00
Kevin Ring 2accb6a790 Incremental tree search in tryCompleteHeightRequest. 2024-08-27 21:43:41 +10:00
Kevin Ring c0f5f18ce9 Merge remote-tracking branch 'origin/main' into height-query 2024-08-26 15:02:56 +10:00
Ashley Rogers 7e36d6c45f Refactor to use IntrusivePointer for AssetContainer 2024-08-23 14:31:08 -04:00
Ashley Rogers e79b31379c Merge with main 2024-08-16 14:13:55 -04:00
Ashley Rogers 4e5bff4dfb Changes for Unreal implementation 2024-08-16 14:10:08 -04:00
Brian L 84493a722a Fix content bounding volume test 2024-08-05 11:11:33 -06:00
Kevin Ring 1fcdeadfd9 Merge remote-tracking branch 'origin/main' into vcpkg-swl 2024-08-02 19:45:58 +10:00
Brian L cc8b03f67b remove unnecessary check 2024-08-01 11:15:47 -06:00
Brian L 5a0e06eefd add support for warnings that occur during tile traversal 2024-08-01 11:11:44 -06:00
Brian L 0af2f35c6f fix bug where height queries could unnecessarily wait unneeded tiles to load 2024-07-31 14:55:27 -06:00
Brian L 7a1eae8a9f formatting 2024-07-31 14:13:24 -06:00
Brian L 57cf86907f fix warning 2024-07-31 14:07:42 -06:00
Brian L 5f6e9e47fb process all height requests on every tick, rather than one at a time 2024-07-31 13:59:24 -06:00
Brian L 73e213b021 Fix compile error 2024-07-29 11:14:32 -06:00
Brian L 07acc3abab Merge branch 'main' into height-query 2024-07-29 10:45:13 -06:00
Kevin Ring 7d21b0c1be Fix typos and test failure. 2024-07-26 10:42:30 -04:00
Janine Liu 0a86cfdca8 Merge branch 'main' into fix-polygon-clipping 2024-07-26 09:40:26 -04:00
Brian L 9690052efb Merge branch 'gltf-ray-intersect' into height-query 2024-07-24 14:31:00 -06:00
Ashley Rogers dd8e3d0775 Merge branch 'main' of github.com:CesiumGS/cesium-native into shared-assets 2024-07-23 14:03:20 -04:00
Ashley Rogers a0954e3fbc Add test for shared images 2024-07-23 14:03:06 -04:00
Kevin Ring 8b9b001b8b
Merge branch 'main' into gltf-ray-intersect 2024-07-23 13:38:37 -04:00
Brian L 48d1b8bfee move include path to fix build error 2024-07-12 10:03:46 -06:00
Brian L c2b47f0ae4 Reorg to change height finder to terrain query class 2024-07-12 09:54:00 -06:00
Brian L 44b5ea3657 fix build warning 2024-07-12 08:54:20 -06:00
Brian L fe35ba3d92 Fix release build warning 2024-07-11 15:52:42 -06:00
Brian L 5eba1aa8ee process request tile load all at once, rather than one at a time 2024-07-11 15:50:14 -06:00
Brian L 0d2a165a4e Don't add to load queue if tile already exists 2024-07-11 15:30:54 -06:00
Brian L 82f56ebdfc Rework ::_processHeightRequests to split load work and intersect work
Also reuse the loading queue from the normal view tile selection

Seems to have a significant speed improvement. My tests went 6-8 seconds to 3 secs.
2024-07-11 15:13:06 -06:00
Janine Liu 707dd8b770 Add missing includes 2024-07-11 10:25:23 -04:00
Ashley Rogers 7e5270a2dc Merge branch 'main' of github.com:CesiumGS/cesium-native into shared-assets 2024-07-10 16:00:40 -04:00
Ashley Rogers 40806a24c7 Add ability for images to be shared between glTFs 2024-07-10 16:00:31 -04:00
Brian L 7e12ede186 Merge branch 'gltf-ray-intersect' into height-query 2024-07-10 10:00:57 -06:00
Brian L 7cda07f420 Remove occurrences of including <glm/mat4x4.hpp> in header files 2024-07-09 09:25:27 -06:00
Brian L 1076b4d936 fix format 2024-07-08 16:20:06 -06:00
Brian L 6bb57cf6db Merge branch 'gltf-ray-intersect' into height-query 2024-07-08 16:15:06 -06:00
Brian L 16d18a1ceb Remove duplicate implementations of ::readFile 2024-07-08 16:12:56 -06:00
Brian L 2668014459 update from base branch 2024-07-08 09:29:48 -06:00
Julien QUENTIN 2a06b1de9a add doc comments 2024-07-02 19:56:04 +02:00
Julien QUENTIN 782c892a0a add necessary metadata in gltf model 2024-07-02 19:05:33 +02:00
Julien QUENTIN 25bd258813 make geometry error computation consistent 2024-07-02 19:02:28 +02:00
Julien QUENTIN 5040669b55 properly declare parameter as unused 2024-07-02 18:49:08 +02:00
Julien QUENTIN 7c6bad98c0 rm unused includes 2024-07-02 18:45:02 +02:00
Julien QUENTIN 9305c00d0c rm using namespace from header 2024-07-02 18:04:46 +02:00
Julien QUENTIN 25534c3903 Merge remote-tracking branch 'origin/main' into ellipsoid-tileset-loader 2024-07-02 16:25:39 +02:00
Kevin Ring 7c9ea84178 Merge remote-tracking branch 'origin/main' into vcpkg-swl 2024-07-02 17:39:20 +10:00
Kevin Ring 68df5462d6 Fix warnings. 2024-06-30 19:44:40 +10:00
Kevin Ring 98c3e25b68 Merge remote-tracking branch 'origin/main' into i3dm-misc-fixes 2024-06-29 10:59:55 +10:00
Kevin Ring 2f50cc2c3a Flesh out test, fix a gltfUpAxis bug. 2024-06-29 10:22:31 +10:00
Ashley Rogers 26476676d8 Fit loader with latest ellipsoid changes 2024-06-28 14:12:39 -04:00
Ashley Rogers 90a78564dd Merge branch 'main' of github.com:CesiumGS/cesium-native into ellipsoid-tileset-loader 2024-06-28 13:42:59 -04:00
Kevin Ring 5a7a640f7a Add a test of upsampled bounding volumes. 2024-06-28 23:22:04 +10:00
Kevin Ring 75cc378aa7 Union with tight-fitting rectangle. 2024-06-27 18:57:17 +10:00
Kevin Ring a67c65fdd1 Upsample with raster overlay rectangle instead of content rectangle.
A detailed explanation is here:
https://github.com/CesiumGS/cesium-unreal/issues/1461#issuecomment-2193873408
2024-06-27 18:41:05 +10:00
Kevin Ring fd524ff07a Remove debugging code 2024-06-27 18:26:32 +10:00
Kevin Ring 3e612ec92e Add some assertions. 2024-06-27 18:20:08 +10:00
Kevin Ring aab5cb9031 Merge remote-tracking branch 'origin/main' into i3dm-misc-fixes 2024-06-26 08:46:24 +10:00
Kevin Ring c664a40208 Merge remote-tracking branch 'origin/main' into create-loader-future 2024-06-26 08:31:35 +10:00
Tim Moore bd5a4805ab Merge remote-tracking branch 'origin/main' into i3dm-misc-fixes 2024-06-24 15:02:17 +02:00
Kevin Ring ff96b9b07a
Merge pull request #874 from CesiumGS/forced-assertions
Add ability to force assertions
2024-06-21 16:12:56 +10:00
Brian L ec8f8ec5fd Modify return of _getHeightsAtCoordinates to support warnings 2024-06-20 15:56:43 -06:00
Ashley Rogers 7f3dbed76d Can't forget the format! 2024-06-20 14:22:30 -04:00
Ashley Rogers 11f9c0f3e5 Fix more review feedback 2024-06-20 14:21:49 -04:00
Brian L 74653140f3 Rename to CESIUM_ASSERT 2024-06-20 10:14:38 -06:00
Brian L 91300f9a61 update from main 2024-06-20 09:54:52 -06:00
Janine Liu 11221f1190 Change request header passthrough, remove wait 2024-06-18 17:44:52 -04:00
Janine Liu ddeb117daf Formatting 2024-06-18 13:54:21 -04:00
Janine Liu 94ce714205 Change TilesetJsonLoader::createLoader to return future 2024-06-18 13:42:19 -04:00
Ashley Rogers 110ff3b009 Fix build 2024-06-14 16:00:44 -04:00
Ashley Rogers 943f06e07b Formatting 2024-06-14 15:34:40 -04:00
Ashley Rogers 65dda8335d Respond to review, cut down on stored ellipsoids 2024-06-14 15:33:47 -04:00
Julien QUENTIN fa2eb23228 tidy createModel method 2024-06-14 16:32:46 +02:00
Julien QUENTIN d2ed4b9470 add proper root tiles handling 2024-06-14 16:08:51 +02:00
Brian L ce119c5f37 Fix closest hit logix 2024-06-13 15:51:58 -06:00
Brian L 29250be392 Changes to support new IntersectResult 2024-06-13 15:23:21 -06:00
Brian L 2f86112d2c Merge branch 'gltf-ray-intersect' into height-query 2024-06-13 15:12:12 -06:00
Ashley Rogers 7c01db3ba7 Resolve sign conversion error 2024-06-13 15:00:26 -04:00
Julien QUENTIN 785e9884c1 add proper geographic projection 2024-06-13 15:32:05 +02:00
Ashley Rogers 8f5141c15f Force MSVC to error on issues Clang will surface. 2024-06-12 15:46:24 -04:00
Julien QUENTIN 160490aff0 fix conversion errors 2024-06-12 18:14:26 +02:00