Skip to content

Releases: crud89/LiteFX

v0.3.1

22 Aug 07:04
Compare
Choose a tag to compare

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)

v0.2.2

28 Feb 16:30
Compare
Choose a tag to compare

LiteFX 0.2.2 - Alpha 02 Patch 1

  • Changes build process to use CMake presets. (See PR #64)
  • Enhances C++ standard compliance.
  • Fixes build errors with state-of-the-art compilers.

v0.2.1

01 Aug 11:52
Compare
Choose a tag to compare

LiteFX 0.2.1 - Alpha 02

  • Introduces rasterizer depth/stencil state. (See PR #36)
  • Adds support for multisampling. (See PR #36)
  • Introduces render target blend states (See PR #36).
  • Adds support for compute pipelines and shaders (See PR #48).
  • Adds possibility to declare texture and descriptor arrays (See PR #43).
  • Adds missing texture types to support 1D, 3D and cube map textures (See PR #44).
  • Introduces manual resource barriers (See PR #59).
  • Redesign command buffer interface (See PR #59).
  • Adds support for multi-threaded command recording in render-passes (See PR #59).
  • Introduces support for push/root constants (See PR #63).
  • Vulkan πŸŒ‹: line width is part of the dynamic rasterizer state (See PR #36).
  • Vulkan πŸŒ‹: Fixes validation errors about invalid attachment layout for depth/stencil only render targets.
  • Vulkan πŸŒ‹: Apply the -fvk-invert-y (DXC)/-finvert-y (GLSLC) switch to vertex, geometry and tessellation evaluation shaders. This removes the requirement to manually add a flip transform to projection matrices.
  • DirectX 12 ❎: Fixes issue that prevented samples from being run in release mode.
  • Build πŸ› : Fixes issue, that causes builds to fail when disabling BUILD_WITH_GLM or BUILD_WITH_DIRECTX_MATH (See PR #53).
  • Build πŸ› : Simplifies building for the vcpkg port in the vcpkg registry (See PR #53).

v0.1.1

23 Jun 10:55
Compare
Choose a tag to compare

LiteFX 0.1.1 - Alpha 01

The initial release of the engine.