diff --git a/Sources/UntoldEngine/Mesh/Mesh.swift b/Sources/UntoldEngine/Mesh/Mesh.swift index aec00ad3..a4d5db62 100644 --- a/Sources/UntoldEngine/Mesh/Mesh.swift +++ b/Sources/UntoldEngine/Mesh/Mesh.swift @@ -1483,6 +1483,7 @@ public struct Material { .textureUsage: NSNumber(value: MTLTextureUsage([.shaderRead, .pixelFormatView]).rawValue), .textureStorageMode: NSNumber(value: MTLStorageMode.private.rawValue), .SRGB: NSNumber(value: isSRGB), + .generateMipmaps: NSNumber(value: true), ] // Grayscale PNGs produce an r8Unorm Metal texture. The shader samples it as diff --git a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/BloomReference.png b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/BloomReference.png index 475c3df6..97927da1 100644 Binary files a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/BloomReference.png and b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/BloomReference.png differ diff --git a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/ChromaticAberrationReference.png b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/ChromaticAberrationReference.png index eb6b2d30..24c00189 100644 Binary files a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/ChromaticAberrationReference.png and b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/ChromaticAberrationReference.png differ diff --git a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/ColorGradingReference.png b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/ColorGradingReference.png index bc76138c..398c4086 100644 Binary files a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/ColorGradingReference.png and b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/ColorGradingReference.png differ diff --git a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/ColorTargetReference.png b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/ColorTargetReference.png index f7d7115d..1454a228 100644 Binary files a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/ColorTargetReference.png and b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/ColorTargetReference.png differ diff --git a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/CompositeColorTargetReference.png b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/CompositeColorTargetReference.png index 2b585483..b9dc57e4 100644 Binary files a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/CompositeColorTargetReference.png and b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/CompositeColorTargetReference.png differ diff --git a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/DepthOfFieldReference.png b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/DepthOfFieldReference.png index adc54567..98466690 100644 Binary files a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/DepthOfFieldReference.png and b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/DepthOfFieldReference.png differ diff --git a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/FXAAReference.png b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/FXAAReference.png index 54b03d29..61e99009 100644 Binary files a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/FXAAReference.png and b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/FXAAReference.png differ diff --git a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/FlythroughWaypoint1Reference.png b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/FlythroughWaypoint1Reference.png index fee99866..490a5b86 100644 Binary files a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/FlythroughWaypoint1Reference.png and b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/FlythroughWaypoint1Reference.png differ diff --git a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/FlythroughWaypoint2Reference.png b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/FlythroughWaypoint2Reference.png index b73c0ecc..2afea537 100644 Binary files a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/FlythroughWaypoint2Reference.png and b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/FlythroughWaypoint2Reference.png differ diff --git a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/FlythroughWaypoint3Reference.png b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/FlythroughWaypoint3Reference.png index 99100737..7be988ee 100644 Binary files a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/FlythroughWaypoint3Reference.png and b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/FlythroughWaypoint3Reference.png differ diff --git a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/LightPassColorReference.png b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/LightPassColorReference.png index 64b25d70..a965d76b 100644 Binary files a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/LightPassColorReference.png and b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/LightPassColorReference.png differ diff --git a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/NormalTargetReference.png b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/NormalTargetReference.png index bed6b4fd..a667b722 100644 Binary files a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/NormalTargetReference.png and b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/NormalTargetReference.png differ diff --git a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/SSAOReference.png b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/SSAOReference.png index 3e3f089b..22f7ab6c 100644 Binary files a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/SSAOReference.png and b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/SSAOReference.png differ diff --git a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/TransparencyTargetReference.png b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/TransparencyTargetReference.png index 64b25d70..a965d76b 100644 Binary files a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/TransparencyTargetReference.png and b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/TransparencyTargetReference.png differ diff --git a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/VignetteReference.png b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/VignetteReference.png index 5de0c381..79675d87 100644 Binary files a/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/VignetteReference.png and b/Tests/UntoldEngineRenderTests/Resources/ReferenceImages/VignetteReference.png differ diff --git a/docs/API/GettingStarted.md b/docs/API/GettingStarted.md index 28cb5be2..2f77121c 100644 --- a/docs/API/GettingStarted.md +++ b/docs/API/GettingStarted.md @@ -200,6 +200,34 @@ once the mesh is parsed and uploaded to GPU memory. --- +## Loading an Untold Scene File + +Untold Engine Studio can save a composed scene as a `.untoldscene` file. A saved +scene can include model placement, light properties, post-processing settings, +and other scene data configured in the editor. + +Use `loadUntoldScene` to load that scene in your Xcode project. Place the +`.untoldscene` file in `Sources//GameData/Scenes`, then pass the +scene name without an extension, or with the `.untoldscene` extension. + +```swift + +//...After configureEngineSystems() + +loadUntoldScene(named: "LevelOne") { success in + if success { + moveCameraTo(entityId: findGameCamera(), 0.0, 3.0, 10.0) + ambientIntensity = 0.4 + } + setSceneReady(success) +} +``` + +By default, scene meshes load asynchronously. For tests or tools that need a +blocking load, pass `meshLoadingMode: .sync`. + +--- + ## Loading a Streamed Scene Use `setEntityStreamScene` to load a large scene that streams tiles in and out of