Fix artifacts with Octahedral Projection #7117
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.
@bagnell This fixes the black artifacts I was seeing with unwrapping the octahedral projection. Notice the black lines that become more obvious at lower mips:
This was happening because as you sample pixels at the edge, the linear filtering will take some of the black pixels. Pushing it 1 or half a pixel away causes seams to be visible.
What I do now is have a border that duplicates the last pixel, so when it does do the linear interpolation it uses the correct pixel. This effectively simulates linear filtering on all the pixels but nearest/clamped on border pixels.
The result:
The cost is one more draw call when constructing this. The
Apps/Sandcastle/gallery/IBL WebGL 1.html
is an example of unwrapping this projection correctly.