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.
Save portal AABBs when loading the map, then use them to cull portals instead of using the vertex buffer. I've considered using a rect instead since portals only really work on flat surfaces, but it wasn't important enough for me to bother given that the surface can be rotated. It might also be worth just using
R_CullBox()instead of the projection into window coordinates and clipping.Also fixes the issue mentioned in a comment that said that portal distance should be between the portal surface and view origin, instead of between the closest vertex and view origin.
This also improves performance since the vertex buffer is no longer read from on the CPU.
Fixes #1216 and #1199.