Skip to content

Releases: JX-Master/LunaSDK

LunaSDK release v0.8.2

28 Dec 06:25
Compare
Choose a tag to compare
Pre-release

This is the final release of LunaSDK in 2024, which includes several bugfixes. LunaSDK v0.9, the new version of LunaSDK, is still in its early stage and will not be released until late 2025. However, you can always switch to v0.9 branch to test the letest features.

New features

Runtime

  • Add stack allocator to replace the default alloca to prevent potential stack overflow when allocating large memory block on stack (See StackAllocator.hpp for defails).
  • Add one new get_struct_properties function that will return properties of base type for one structure type.

Bug fixes

Runtime

  • Fix program crash when constructing objects of instanced generic types.
  • Fix incorrect use of ::GetCurrentThread to get thread handle on Windows.
  • Fix the bug that causes properties in base type of one derived structure type not get serialized/deserialized.

RHI

  • Add const specifier to the compare operator of SamplerDesc.
  • Fix render pass object state dismatch for read-only depth stencil attachments.

VG

  • Fix one bug that will cause program crash when getting shader buffer from one empty font atlas.
  • Fix incorrect clear op when rendering vector graphics.

Asset

  • Fix one bug that will deserialize null asset_t entry as a new empty asset.

Window

  • Fix one bug that will cause access violation if the window is closed in window close callback.

VariantUtils

  • Fix write_json bug that returns positive integers when reading negative integers.

Studio

  • Add shader compiler module dependency.

Full Changelog: v0.8.1...v0.8.2

LunaSDK v0.8.1

03 Jun 04:37
Compare
Choose a tag to compare
LunaSDK v0.8.1 Pre-release
Pre-release

Changelog

Here are changes between v0.8.0 and v0.8.1.

New features

None

Bug fixes

  • Runtime
    • Fixed: transform2d_f3x4 does not return a value.
  • ShaderCompiler
    • Fixed: rpath of dxcompiler is incorrect on macOS.
    • Fixed: libdxcompiler.dylib is not found on macOS when launching from xmake commands directly.
  • VG
    • Fixed: accessing released RHI resource may cause program crash when rendering texts.
  • RG
    • Fixed: transient resource not freed correctly when calling IRenderGraph::release_temporary_resource.
  • RHI
    • Fixed: DeviceMemory::init does not return a value.
  • Studio
    • Fixed: Incorrect render pass setup that will cause Vulkan runtime error.
  • Third-party SDKs
    • Fixed: Disabling exception causes spirv-cross failed to compile on clang-cl.
  • GitHub Actions:
    • Fixed: Lock xmake version on GitHub actions to v2.8.9 to prevent compilation errors on xmake v2.9.1.

API changes

None

Remarks

This release has been tested on Windows (x64, D3D12 and Vulkan) and macOS (x86_64 and arm64, Metal).

Note that all releases of LunaSDK before v1.0.0 are considered as preview releases and are not ready for production use. It is suggested NOT to use such releases in real commercial projects.

LunaSDK release v0.8.0

05 Apr 09:34
00edbf4
Compare
Choose a tag to compare
Pre-release

This is the first preview release of LunaSDK, which includes the following features:

  1. Self-implemented fundamental libraries, including platform abstraction layer, container library, math library and more. No dependency on C++ STL.
  2. Full dynamic type reflection, including full support for generic types.
  3. Serialization and deserialization based on reflection, including JSON and XML support.
  4. Job system and thread pool for asynchronous computing.
  5. Render Hardware Interface (RHI) targeting Direct3D 12, Vulkan and Metal.
  6. Window management API.
  7. Shader compiling APIs that compile HLSL shaders to DXIL, SPIR-V and Metal.
  8. Low-latency Audio Hardware Interface (AHI).
  9. Human Interface Device API providing APIs to access input / output devices.
  10. Asset system and virtual file system for managing assets at runtime.
  11. File loader for image files, font files and .OBJ files.
  12. GPU-driven vector graphics rendering.
  13. Well documented and CI tested.

This release has been tested on Windows (x64, D3D12 and Vulkan) and macOS (x86_64 and arm64, Metal).

Note that all releases of LunaSDK before v1.0.0 are considered as preview releases and are not ready for production use. It is suggested NOT to use such releases in real commercial projects.