EXRLoader: impl single tiled-image support #28033
Merged
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.
Related issue: #27933
After evaluating some sample files in an attempt to add support to
envmap
, I noticed that all files containing that information appear to be in atiledimage
data layout, as such the only way to properly add support for it, is to also add support fortiledimages
.I decided to bite the bullet and commit to adding full support for it. This PR implements basic support for tiled data layout, but it does not (yet) fully support
envmap
. The loader will no longer report eitherenvmap
ortiledimage
as unsupported, but textures are loaded following OpenEXR's envmap orientation and format, which differs from ours - this will be addressed at a later time.There is currently only one restriction in regards to tiled-images:
RIPMAP_LEVELS
tile-layout, non-uniform scaled axis mip-maps, are not yet supported.I don't expect anyone will run into this, as it is incredibly rare for this to be used in any form of graphics application - but I do throw an exception informing of this limitation in the eventually that anyone runs into it.
Although I have extensively tested this new functionality as well as backwards compatibility with previously supported formats - There are simply too many format variations to fully validate compatibility.
As such, I have limited the scope of my tests to existing files in both our project & in the OpenEXR's test images suite. This by no means covers every possible variation, but it is as far as I'm able to test for the time being.
Potentially faulty features will be addressed if/when they appear.
Live Example