Rewrite spheric mirror to make it more efficient #3954
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.
The old version rewrote VBO about 150×3 times per frame, which is very inefficient, especially given that the data written never change. This version writes these constant data once in the constructor of the distorter and uses them on rendering.
Fixes #3535
Type of change
How Has This Been Tested?
--opengl-compat
and withMESA_GL_VERSION_OVERRIDE=2.1
with distortion on, checked that the render looks as expected.NOTE: I didn't try different parameters of the distortion, nor did I check the support for a custom distortion file. I don't expect that these would be affected, but this might be worth checking.
Test Configuration:
Checklist: