TRAP™ Release notes 0.10.0|23w45a1 - 0.10.93|24w29b1
Pre-release
Pre-release
TRAP™ Release notes 0.10.0|23w45a1 - 0.10.93|24w29b1
Known issues:
- TRAP-Editor modifying entities or their properties while in play mode has no effect on the scene
- TRAP-Editor using gizmos while in play mode has no effect on the scene
Core engine changes:
- Multithreading preparation:
- Added contention free shared mutex to replace std::shared_mutex
- Added Safe, a wrapper for user-defined types which get protected using a mutex on access
- Utils added WaitForAll() which allows waiting for multiple std::futures
- HotReloading fixed shader changes not being visible after reload (pipeline not getting invalidated)
- VulkanRenderer fixed vkAcquireNextImageKHR semaphore synchronization error
- ImGuiVulkanBackend Fixed synchronization errors
- VulkanSwapChain Fixed crash when resizing on Linux X11/Xwayland
- VulkanRenderer added support for depth/stencil attachments
- VulkanCommandBuffer Fixed Vulkan errors in ResolveImage()
- Vulkan names for most objects are now set to make debugging easier (only in debug builds)
- Renderer fixed usage of wrong instance count in draw calls
- Added deprecated warnings for C++23 backports when switching standard to C++23
- Negative time scales are now ignored
- Fixed a bug which made X11/XWayland the default instead of Wayland on Linux
- Added custom implementation of std::optional with backported functionality from C++23
- Added custom implementation of std::expected with backported functionality from C++23
- Improved code and test coverage
- Added premake-ninja as submodule
- Backported functionality from C++26
- Fixed unstable hash values in PipelineCache
- Profiling systems to profile can now be set with SetTRAPProfileSystems() at runtime
- Added UniqueResource and ScopeFail utility classes from C++ library fundamentals v3 TS
- Reworked FileWatcher (now called FileSystemWatcher)
- Refactored Vulkan code
- Math removed all Perspective() functions which do not use an infinite far plane and reverse Z
- Math removed all Orthographic() functions which are not using reverse Z
- Updated various dependencies (milestone/5)
- Removed USE_RENDER_DOC macro, RenderDoc will inject the capture layer by itself now
- Enabled heterogeneous lookup for std::unordered_map and std::map when using std::string as key
- Texture fixed wrong texture type being used when creating a multi-file cube texture
- MSVC enabled /utf-8 compiler option (required by fmt)
TRAP-Editor changes:
- Scene saving now uses the correct scene
- Fixed SceneGraphPanel tree using the same identifier for all entities
Documentation changes:
- Doxyfile added threadsafety, threadsafe, reentrancy, experimental and callback_signature tags
CI/CD changes:
- Switched from make to ninja for GCC and Clang builds
- Switched from msbuild to ninja for Windows builds
- Enabled second Windows runner
Detailed changelog and future changes can be found at https://docs.trappedgames.de/pages/changelog.html