Cgltf Versions Save

:diamond_shape_with_a_dot_inside: Single-file glTF 2.0 loader and writer written in C99

v1.14

1 week ago
  • Add support for writing glb files.
  • Add support for KHR_materials_anisotropy.
  • Add support for KHR_materials_dispersion.
  • Add cgltf_component_size() and cgltf_size cgltf_calc_size() to help calculating required memory.
  • Add getter functions for indices of various objects.
  • Add cgltf_accessor_unpack_indices() to optimize data extraction.
  • Change handling of extras data to make a copy of the data.
  • Improve validation.
  • Improve parsing robustness.
  • Fix support for EXT_mesh_gpu_instancing.
  • Fix writing of normal and occlusion texture info.
  • Fix writing extras data for lights.
  • Fix handling 2GB+ files.
  • Fix undefined behavior when converting negative floats.
  • Fix detection of whether the cgltf is being compiled with MSVC.
  • Fix unnecessary usage of variable length arrays.
  • Remove support for extras and extensions in cgltf_accessor_sparse and cgltf_texture_view.

v1.13

1 year ago
  • Added support for KHR_materials_iridescence.
  • Added support for EXT_mesh_gpu_instancing.
  • Added custom vertex attributes handling.
  • Added *_max_enum suffixes to enumerated types.
  • Fixed unpack_floats() for signed integers.
  • Fixed to allow preprocessor overwrite of free/alloc.
  • Some documentation fixes.

v1.12

2 years ago
  • Added support for KHR_materials_emissive_strength.
  • Added cgltf_decode_string for decoding escaped JSON strings.
  • Changed tests to be built with AddressSanitizer.
  • Fixed Intellisense define in cgltf_write.h.

v1.11

2 years ago
  • Added support for KHR_texture_basisu.
  • Added support for files > 2GB.
  • Added extras data to lights.
  • Added a flag for the texture transform's texcoord to be able to tell if it's actually present.
  • Fixed memory possibly being freed using the wrong function (when parsing base64 data and/or file data).
  • Fixed light default values when loading.
  • Fixed writer to write light diffuse factor correctly and only write alpha cutoff when using alpha mask mode.

v1.10

3 years ago
  • Added support for KHR_materials_variants.
  • Added support for KHR_materials_volume.
  • Added support for optional camera properties: aspect ratio, zfar,
  • Added support for the "name" property to accessor, buffer, buffer view, and sampler.
  • Added support for raising asserts from within the cgltf_validate() function.
  • Updated support for KHR_materials_specular to support specularTexture and specularColorTexture.
  • Fixed parsing of files with targetNames:null.
  • Fixed some crashes on invalid inputs.

v1.9

3 years ago
  • Added support for KHR_materials_sheen.
  • Added support for EXT_meshopt_compression.

v1.8

3 years ago
  • Added support for KHR_materials_ior.
  • Added support for KHR_materials_specular.
  • Increased precision when writing floats.

v1.7

3 years ago
  • Added support for KHR_materials_transmission.
  • Added decoding URIs (which may be percent encoded).
  • Added support for unsupported extension (can now get access to the underlying JSON).
  • Fixed writing extras in root.

v1.6

4 years ago
  • Added KHR_draco_mesh_compression extension.
  • Added KHR_materials_clearcoat extension.
  • Fixed some warnings.
  • Fixed some memory leaks.

v1.5

4 years ago
  • Added callbacks for file read operations that can now be specified via cgltf_options.
  • Added cgltf_accessor_read_uint() that can be used to read integer vertex data.
  • Added support for writing extras data.
  • Added detection for glTF version 1 files so that we can return a more specific error for these unsupported files.
  • Changed reading of data to fail and not crash in case buffers have not been loaded.
  • Changed malloc() and free() not to be used and stdlib.h not to be included if CGLTF_MALLOC and CGLTF_FREE macros are defined.
  • Fixed writing the correct mime type property name for images.
  • Fixed writing of the correct property name for light colors.
  • Fixed some warnings.