From 358d779c25cbbd67009cf2d55ab16e120a3afe39 Mon Sep 17 00:00:00 2001 From: Ashley Rogers Date: Thu, 31 Oct 2024 13:34:47 -0400 Subject: [PATCH] Update CHANGES, remove Snowdon test --- CHANGES.md | 13 +++--- .../Private/Tests/Cesium3DTileset.spec.cpp | 45 ------------------- 2 files changed, 7 insertions(+), 51 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index e7a58d762..9a72c231f 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -5,6 +5,7 @@ ##### Additions :tada: - Added `CircumscribedGroundHeight` property to `CesiumSunSky`. It defaults to 0, which is consistent with the previous behavior. It can be set to a larger value (like 40) to avoid dark splotchy artifacts when zoomed out far from the globe in certain tilesets where geometry extends very far beyond the ellipsoid in the low-detail representation, such as Google Photorealistic 3D Tiles. +- Added a shared assets system that ensures external images referenced by different glTFs will only be loaded once per image. Previously, these images would be loaded again for each glTF that referenced them. This significantly reduces memory usage for tilesets that reuse the same textures. ##### Fixes :wrench: @@ -164,7 +165,7 @@ In addition to the above, this release updates [cesium-native](https://github.co ##### Additions :tada: - - Added support for multiple Cesium ion servers by creating `CesiumIonServer` data assets. +- Added support for multiple Cesium ion servers by creating `CesiumIonServer` data assets. In addition to the above, this release updates [cesium-native](https://github.com/CesiumGS/cesium-native) from v0.30.0 to v0.31.0. See the [changelog](https://github.com/CesiumGS/cesium-native/blob/main/CHANGES.md) for a complete list of changes in cesium-native. @@ -172,8 +173,8 @@ In addition to the above, this release updates [cesium-native](https://github.co ##### Additions :tada: - - Added support for styling with property textures in `EXT_structural_metadata`. - - Significantly improved tile download performance by adding `HttpThreadActiveFrameTimeInSeconds=0.001` to `Engine.ini`. This results in a major performance improvement for all tilesets, particularly Google Photorealistic 3D Tiles. +- Added support for styling with property textures in `EXT_structural_metadata`. +- Significantly improved tile download performance by adding `HttpThreadActiveFrameTimeInSeconds=0.001` to `Engine.ini`. This results in a major performance improvement for all tilesets, particularly Google Photorealistic 3D Tiles. - Added `HttpMaxConnectionsPerServer=40` to `Engine.ini`. By default, only 16 connections are allowed, which limits the performance when downloading tiles. ##### Fixes :wrench: @@ -193,7 +194,7 @@ This release no longer supports Unreal Engine v5.0. Unreal Engine v5.1, v5.2, or ##### Breaking Changes :mega: - Removed `FCesiumIntegerColor`, `FCesiumFloatColor`, `UCesiumFeatureTexturePropertyBlueprintLibrary::GetIntegerColorFromTextureCoordinates` and `UCesiumFeatureTexturePropertyBlueprintLibrary::GetFloatColorFromTextureCoordinates`. Check out the [upgrade guide](Documentation/upgrade-to-2.0-guide.md) for how retrieve metadata from property textures with the new API. -- Renamed `GetTextureCoordinateIndex` to `GetUnrealUVChannel` in both `UCesiumFeatureIdTextureBlueprintLibrary` and `UCesiumPropertyTexturePropertyBlueprintLibrary`. Contrary to what the documentation claimed, this function retrieved the index of the texture coordinate set in the *Unreal static mesh*, which is not necessarily equal to the texture coordinate set index in the *glTF primitive*. For the latter value, use `GetGltfTextureCoordinateSetIndex` instead. +- Renamed `GetTextureCoordinateIndex` to `GetUnrealUVChannel` in both `UCesiumFeatureIdTextureBlueprintLibrary` and `UCesiumPropertyTexturePropertyBlueprintLibrary`. Contrary to what the documentation claimed, this function retrieved the index of the texture coordinate set in the _Unreal static mesh_, which is not necessarily equal to the texture coordinate set index in the _glTF primitive_. For the latter value, use `GetGltfTextureCoordinateSetIndex` instead. - Removed the old "exclusion zones" feature, which has been deprecated since v1.11.0. Use `CesiumCartographicPolygon` or `CesiumTileExcluder` instead. ##### Additions :tada: @@ -342,7 +343,7 @@ In addition to the above, this release updates [cesium-native](https://github.co ##### Fixes :wrench: - Added a workaround for an apparent bug in Unreal Engine 5.1 that prevented collisions from working with Cesium3DTilesets. -- Fixed a bug that could cause the `AGlobeAwareDefaultPawn` / `DynamicPawn` to suddenly move to a very high height for one render frame just as it arrives at its destination during a flight. +- Fixed a bug that could cause the `AGlobeAwareDefaultPawn` / `DynamicPawn` to suddenly move to a very high height for one render frame just as it arrives at its destination during a flight. In addition to the above, this release updates [cesium-native](https://github.com/CesiumGS/cesium-native) from v0.25.0 to v0.25.1. See the [changelog](https://github.com/CesiumGS/cesium-native/blob/main/CHANGES.md) for a complete list of changes in cesium-native. @@ -405,7 +406,7 @@ This will be the _last_ release that supports Unreal Engine v4.27. Future versio ##### Additions :tada: -- The `FlyToAltitudeProfileCurve`, `FlyToProgressCurve`, `FlyToMaximumAltitudeCurve`, `FlyToDuration`, and `FlyToGranularityDegrees` properties of `GlobeAwareDefaultPawn` / `DynamicPawn` may now be read and written from Blueprints. +- The `FlyToAltitudeProfileCurve`, `FlyToProgressCurve`, `FlyToMaximumAltitudeCurve`, `FlyToDuration`, and `FlyToGranularityDegrees` properties of `GlobeAwareDefaultPawn` / `DynamicPawn` may now be read and written from Blueprints. - Added an option on `Cesium3DTileset` to ignore the `KHR_materials_unlit` extension entirely and use normal lighting and shadows. - Added `CreateNavCollision` property to `Cesium3DTileset`. When enabled, `CreateNavCollision` is called on the static meshes created for tiles. diff --git a/Source/CesiumRuntime/Private/Tests/Cesium3DTileset.spec.cpp b/Source/CesiumRuntime/Private/Tests/Cesium3DTileset.spec.cpp index 79d6123eb..3b123524c 100644 --- a/Source/CesiumRuntime/Private/Tests/Cesium3DTileset.spec.cpp +++ b/Source/CesiumRuntime/Private/Tests/Cesium3DTileset.spec.cpp @@ -87,51 +87,6 @@ bool FCesium3DTilesetSharedImages::RunTest(const FString& Parameters) { TEST_SCREEN_HEIGHT); } -IMPLEMENT_SIMPLE_AUTOMATION_TEST( - FCesium3DTilesetSnowdonBenchmark, - "Cesium.Performance.3DTileset.SnowdonBenchmark", - EAutomationTestFlags::EditorContext | EAutomationTestFlags::PerfFilter); - -static void setupForSnowdon(SceneGenerationContext& context) { - context.setCommonProperties( - FVector(-79.8867314431, 40.0223377722, 197.1008007424), - FVector(-293.823058, 6736.144397, 2730.501500), - FRotator(-13.400000, -87.799997, 0.000000), - 60.0f); - - context.sunSky->TimeZone = 5.0f; - context.sunSky->UpdateSun(); - - ACesium3DTileset* tileset = context.world->SpawnActor(); - tileset->SetTilesetSource(ETilesetSource::FromCesiumIon); - tileset->SetIonAssetID(2758251); - tileset->SetIonAccessToken(SceneGenerationContext::testIonToken); - - tileset->SetActorLabel(TEXT("Snowdon")); - tileset->SuspendUpdate = false; - tileset->LogSelectionStats = true; - context.tilesets.push_back(tileset); - - ADirectionalLight* Light = context.world->SpawnActor(); - Light->SetActorRotation(FQuat::MakeFromEuler(FVector(0, 0, 270))); -} - -void snowdonPass( - SceneGenerationContext& context, - TestPass::TestingParameter parameter) {} - -bool FCesium3DTilesetSnowdonBenchmark::RunTest(const FString& Parameters) { - std::vector testPasses; - testPasses.push_back(TestPass{"Refresh Pass", snowdonPass, nullptr}); - - return RunLoadTest( - GetBeautifiedTestName(), - setupForSnowdon, - testPasses, - TEST_SCREEN_WIDTH, - TEST_SCREEN_HEIGHT); -} - } // namespace Cesium #endif