Releases: jessey-git/fx-gltf
Stable release v2.0.0
This release introduces the use of std::filesystem
to properly support Unicode paths on various platforms. Along the way some minor improvements have also occurred.
- Change the API to support filesystem::path if this feature is available #85 (Thank you dimitri-tdg!)
- Fix warning about enum value not handled in switch #84 (Thank you nasso!)
- Fix a wrong test on quaternion identity in the viewer app #88 (Thank you nasso!)
- Use
inline constexpr
for c++17 onwards #89
Note: The introduction of std::filesystem
will cause build breaks around the parts of code dealing with filepaths, hence the major version bump here.
Stable release v1.2.0
This is primarily a bug fix release which addresses the following:
- Fix issue #67 (Validation warning when using some Accessor data types)
- Fix issue #68 (Allow application/gltf-buffer mimetype)
- Fix issue #72 (Building with newer versions of nlohmann/json)
- Fix issue #77 (Out of bounds access reading GLBs)
Additional changes include:
- Various minor clang-tidy cleanups
- Simplified window/console support for the viewer
Stable release v1.1.0
A new release primarily to support iostream loading/saving! The new overloads can be used when more flexibility is required beyond the already existing raw file loading/saving support.
Changes from v1.0.2
-
fx-gltf: iostream loading/saving (originally from skrat: https://github.com/skrat)
-
misc: updates for the included dependencies of CLI11, Catch2, nlohmann-json, and glTF-Sample-Models
Stable release v1.0.2
A minor release with some pretty important additions and fixes. First, CMake installation and dependency support was added! Secondly, a fuzzing run was performed and that exposed a buffer overrun around how .glb header data was handled. Please update to this version to pick up these critical fuzzing fixes.
Changes from v1.0.1
-
fx-gltf: CMake support! (courtesy of Ansoulom)
-
fx-gltf: Fix buffer overrun in GLB header parsing/processing (found through local AFL fuzzing run)
-
viewer: fixes project file to properly copy the assets/shaders into the right location on build (vs 2017 and vs 2019)
-
viewer: random assortment of cleanups and static analysis changes
-
viewer: updates for d3dx12.h
-
tests: stricter checks for certain parts of roundtrip tests
-
misc: updates for the included dependencies of CLI11, Catch2, nlohmann-json, and glTF-Sample-Models
Stable release v1.0.1
See current README.md for complete docs.
This release focuses on fixes related to nlohmann-json's latest version. Along the way several minor tweaks and updates were made as well.
- fx-gltf
- Complete support for required glTF 2.0 schema elements
- Modern C++14/C++17 support
- Fast, Efficient, and Safe processing
- Small, header-only library
- viewer
- DirectX 12 rendering
- PBR materials and image-based lighting (IBL)
- Mouse controlled orbit camera
- Support for loading external, embedded, and binary glTF files
Changes from v1.0.0
-
fx-gltf: adjust to newer versions of nlohmann-json which changed their SFINAE support slightly (reorder header)
-
fx-gltf: fix Save(...) argument type to take a reference instead of a copy
-
fx-gltf: prevent unused var warning when not using c++17
-
viewer: use more appropriate DirectX feature level in the viewer to allow acceleration on earlier DirectX 12 capable cards
-
misc: update glTF-Sample-Models
-
misc: update CLI11, Catch2, nlohmann-json
Stable release v1.0.0
See current README.md for complete docs.
This release sees a number of changes to round out glTF spec conformance as well as the standard assortment of updates to the sample models and testing / viewer thirdparty headers.
- fx-gltf
- Complete support for required glTF 2.0 schema elements
- Modern C++14/C++17 support
- Fast, Efficient, and Safe processing
- Small, header-only library
- viewer
- DirectX 12 rendering
- PBR materials and image-based lighting (IBL)
- Mouse controlled orbit camera
- Support for loading external, embedded, and binary glTF files
Changes from v0.9.9
-
fx-gltf: fix GLB alignment of JSON chunk during saving (spec conformance)
-
fx-gltf: write out the bufferView field, even if set to its default of 0, when the uri is empty (spec conformance)
-
fx-gltf: write out empty {} sampler objects when using a default Sampler object
-
viewer: no changes
-
misc: update glTF-Sample-Models
-
misc: update CLI11 and Catch2 headers
Stable release v0.9.9
See current README.md for complete docs. This release includes:
- fx-gltf
- Complete support for required glTF 2.0 schema elements
- Modern C++14/C++17 support
- Fast, Efficient, and Safe processing
- Small, header-only library
- viewer
- DirectX 12 rendering
- PBR materials and image-based lighting (IBL)
- Mouse controlled orbit camera
- Support for loading external, embedded, and binary glTF files
Changes from v0.9.8
-
fx-gltf: uses more appropriate mimetype detection
-
fx-gltf: fixes the default value of texCoord for Textures
-
viewer: no changes
-
misc: full automated builds and testing for MSVC, Clang 5/6, and GCC 6/7/8 (c++14 and c++17 modes)
-
misc: updated CLI11 and Catch2 headers
Stable release v0.9.8
See current README.md for complete docs. This release includes:
- fx-gltf
- Complete support for required glTF 2.0 schema elements
- Modern C++14/C++17 support
- Fast, Efficient, and Safe processing
- Small, header-only library
- viewer
- DirectX 12 rendering
- PBR materials and image-based lighting (IBL)
- Mouse controlled orbit camera
- Support for loading external, embedded, and binary glTF files
Changes from v0.9.0
-
fx-gltf: proper exception contracts for the main public Load/Save APIs implemented
-
fx-gltf: added API for loading in embedded
fx::gltf::Image
data / removed API for loading in embeddedfx::gltf::Buffer
data (handled internally) -
fx-gltf: more tests added
-
fx-gltf: added helper method for formatting nested exceptions
-
fx-gltf: fixed gcc/clang compile
-
viewer: added an orbit camera
-
viewer: calculate tangents if not included in the mesh
-
viewer: properly load embedded and binary image data
-
viewer: WIC image loading (jpg now supported)
-
viewer: added fps counter
-
misc: refreshed glTF-Sample-Models repo
Stable release v0.9.0
See current README.md for complete docs. This release includes:
- Complete support for required glTF 2.0 schema elements
- Modern C++14/C++17 support
- Small, header-only library
- Fast, Efficient, and Safe processing
- DirectX 12 viewer example supporting PBR materials and image-based lighting (IBL)
Changes from v0.8.1
- Addition of a DirectX 12 viewer application utilizing fx-gltf
- Minor static analysis changes to fx-gltf
- Refreshed glTF-Sample-Models repo
Stable release v0.8.1
See current README.md for complete docs. This release includes:
- Complete support for required glTF 2.0 schema elements
- Modern C++14/C++17 support
- Small, header-only library
- Fast, Efficient, and Safe processing
Changes from v0.8.0
- Fix mis-detecting std::string_view on MSVC
A proof-of-concept DX12 viewer is in the works and has demonstrated true end-to-end usage of the API and data buffer handling implementation.