Add glTF sampler filters and wrap modes enums #258
+26
−10
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 fix 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.Notes
cgltf_filter_type
includescgltf_filter_type_undefined = 0
because the glTF specification indicates, "Client implementations SHOULD follow specified filtering modes. When the latter are undefined, client implementations MAY set their own default texture filtering settings." This will always be the default value when not specified because samplers are allocated withcalloc
.cgltf_wrap_mode
omits the suffix_type
because there is precedent with a similar enum:cgltf_alpha_mode
.Closes #256