Skip to content

v0.3.1

Latest
Compare
Choose a tag to compare
@crud89 crud89 released this 22 Aug 07:04
· 716 commits to main since this release

LiteFX 0.3.1 - Alpha 03

  • Various API improvements (See PR #66)
    • Remove circular dependencies from constructors, to make it easier to opt-out of the builder architecture.
    • Split up builders to encourage re-using pipeline layouts, shader programs and fixed-function states.
    • Root builders now provide a move-conversion operator, eliminating the need to call .go explicitly.
    • Child builders use other naming convention for .go (.add) to improve readability.
  • Backend and device states help to automatically manage resources over multiple backend instances. (See PR #66)
  • Backends can now be switched at runtime. Samples have been updated to work on both backends, if they are built. (See PR #66)
  • Pipeline layouts can now be defined using shader reflection. (See PR #68)
  • It is now possible to initialize a descriptor with a static/immutable sampler state. (See PR #68)
  • Debugging has been improved with support for debug objects for DirectX 12 ❎ and Vulkan πŸŒ‹. (See PR #70)
  • Shaders can now be loaded from streams. (See PR #71)
  • Shaders can now be placed in Shader Libraries, which can be embedded into binaries. (See PR #71)
  • Descriptors have been reworked (See PR #74)
    • DescriptorTypes now reflect the HLSL buffer type to make defining pipeline layouts more straightforward. Descriptor set builders have been updated accordingly.
    • A new descriptor type for ByteAddressBuffers has been added.
    • Various bug fixes in how descriptor types are handled.
    • Shader reflection now properly restores Buffer descriptors in DirectX and supports all flavors of descriptor types in Vulkan.
    • Support for unbounded descriptor arrays has been added.
  • Allow samples to toggle full-screen mode by pressing F8. (See PR #77)
  • Add handler to samples for exit when pressing ESC. (See PR #77)
  • Build πŸ› : Shader targets can now receive additional compiler arguments using the COMPILE_OPTIONS parameter. (See PR #78)
  • Vulkan πŸŒ‹: If the DX12 backend is available, the Vulkan uses an interop swap chain to support flip-model swap effects for lower latencies. (See PR #66)