Add glTF sampler filters and wrap modes enums #258
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
cgltf_sampler
defines filter and wrap modes usingcgltf_int
, which requires referencing the glTF specification to interpret those integers.Solution
To resolve this, enumerations representing valid glTF sampler filter and wrap modes are introduced. For backward compatibility, these enumerations retain their original integer values to allow implicit conversion to
cgltf_int
.Testing
Project tests were run using
tests/test_all.py
on Windows (MSVC 19.41.34123) and Ubuntu (GCC 13.2) which passed without any errors. Additionally, these changes were validated on a sample Vulkan glTF loading implementation in C++ as demonstrated by this commit.Notes
cgltf_sampler_filter_type
was considered, but the convention to prefix enumeration values with their respective type name resulted in excessively verbose names such ascgltf_sampler_filter_type_nearest_mipmap_nearest
.cgltf_wrap_mode
omits the suffix_type
because there is precedent with a similar enum:cgltf_alpha_mode
.Closes #256