Releases: crud89/LiteFX
Releases Β· crud89/LiteFX
v0.3.1
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)
DescriptorType
s 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
ByteAddressBuffer
s 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
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
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
orBUILD_WITH_DIRECTX_MATH
(See PR #53). - Build π : Simplifies building for the vcpkg port in the vcpkg registry (See PR #53).