Changelog
To view the full changelogs for each release please see the GitHub releases.
0.7.1
Add: Support for glTF extras
Add:
KHR_materials_variants
Fix: Inline
deserializeComponent
template specializations (#47)Fix #48: Allow exporting
ByteView
in GLB & catch file write errorsFix: Support
KHR_materials_dispersion
when exportingFix: Decode percents when loading local files
Fix: Set
MimeType::None
in all sourcesFix: Use correct error variable when parsing gpu instancing extension
Fix: Make sure gltf buffer is valid before determining type
Fix: Allow the GLB BIN chunk to be empty
0.7.0
Add: glTF Exporter (#33)
Add:
MSFT_packing
texture extensionsAdd:
KHR_materials_dispersion
extensionAdd: More validation around byteOffsets & byteStride
Add #42: Set default values in struct initializers
Add: Validation for correctly enabled material extensions
Change: Combine
loadGLTF
andloadBinaryGLTF
Change: Move
TRS
struct out of NodeChange: Use custom
StaticVector
for large (buffer) allocationsChange #35: Remove fastgltf_simdjson target
Change #45: Assert when using accessor tools with unloaded buffers
Fix #38: Switch documentation of rotation and uvOffset
Fix:
EXT_meshopt_compression
used wrong json objectFix: Correctly load iridescence texture infos
Fix #46: Make an animation channels’ node index optional
Fix: Always read accessor data as little-endian
Fix: Support padded matrix accessor data
Fix: Remove MeshoptCompressionMode::None
Fix: Also use unreachable macro on Clang
Fix: Use prefixed CMake variables
Fix: Only enable
-Og
fix for MINGWFix: Don’t needlessly parse entire data URIs
0.6.1
Add: Option to disable polymorphic allocator
Add: Option to use 64-bit floats for parsing
Fix #34: Support for fallback buffers with
EXT_meshopt_compression
Fix: Support old GCC ABI
Fix: Automatically disable polymorphic allocators on non-supporting compilers
0.6.0
Add: Doxygen & Sphinx online documentation (https://spnda.github.io/fastgltf/)
Add: Custom optimised
Optional
classAdd: Accessor iterators
Add: Header with ElementTraits for glm types
Add:
GenerateMeshIndices
optionAdded support for
EXT_mesh_gpu_instancing
by @DragonJoker in #30Added support for
KHR_materials_pbrSpecularGlossiness
by @DragonJoker in #31Add:
KHR_materials_anisotropy
Add: Error-to-string functions
Add:
iterateAccessorWithIndex
Add: Support normalized accessors in accessor tools
Add: Polymorphic allocator support for SmallVector
Change: Combine
Parser
andglTF
classChange: Use individual image indices for each texture extension
Change: Use linear polymorphic allocator
Change: Replaced unordered_map with small_vector for primitive attributes
Fix: Mark findSparseIndex as inline
Fix: Properly supported UTF-8 strings & URIs
Fix: Add missing ‘strength’ field for occlusion textures
Fixed various issues with URI parsing & introduced URIView
Fixed various issues with
SmallVector
Fixed spot light cone angles not being loaded by @JuanDiegoMontoya in #27
Silenced unused parameter warning by @JuanDiegoMontoya in #23
Fixed narrowing conversion warnings by @JuanDiegoMontoya in #24
Fixed multiple typos in documentation
0.5.0
Add: Android file utilities by @DethRaid in #14
Add: Utilities to extract data from accessors by @forenoonwatch in #20
Add: URI parsing
Add: Accessor min/max
Add:
KHR_materials_specular
,KHR_materials_ior
,KHR_materials_iridescence
,KHR_materials_volume
,KHR_materials_transmission
,KHR_materials_clearcoat
,KHR_materials_emissive_strength
,KHR_materials_sheen
,KHR_materials_unlit
Change: Add
LoadExternalImages
Change: Move headers to dedicated include folder
Change: Represent GLB buffers using a span
Change: Rename SparseAccessor fields
And many other various fixes
0.4.0
Add: Custom base64 decode callbacks
Change: Rework DataSource to use std::variant
Change: Remove
Options::DontUseSIMD
Change: Don’t always check if the given directory is valid
Change: Use std:: prefixed integer types
Fix: Avoid segfault with MinGW
Fix: Rework Category enum due to parsing bug
Fix: More C++ version checks
Fix: Avoid dangling pointer to GLB bytes
Fix: Rare overflow warning due to signed-by-default char
Fix: Various minor CMake issues
Bump simdjson to 3.1.6
Const-ify
GltfBufferData::copyBytes
by @Eearslya in #10
0.3.0
Add:
KHR_lights_punctual
Add:
EXT_texture_webp
Add: glTF and GLB detection
Add: Optional
SmallVector
optimisationAdd: Asset information
Add: Morph targets & sparse accessors
Add: Optionally minimise JSON before parsing
Change: Cache cpuid calls for base64 decoding
Fix: Invalid C++20 concept
Fix: Loosen ARM64 detection for more platforms
Bump simdjson from 3.0.0 to 3.1.0
0.2.0
Add
KHR_mesh_quantization
by @Eearslya in #2Add material parameters and fix defaults by @Eearslya in #3
Add:
glTF::validate
functionAdd: Custom buffer memory allocator callbacks
Add: Ability to decompose transformation matrices
Fix: Set dataLocation for images with buffer view
Fix Base64 decoding for + and / by @Eearslya in #4
Perf: Avoid (large) allocations in base64 decoders
Perf: Always move vectors if possible
Change: Expose more raw base64 decode functions
Change: New parse API
Change: Use
std::variant
over raw unionsChange: Use of concepts in headers if C++20 is used