Add support for tiled rendering.#20912
Draft
brugger1 wants to merge 59 commits into
Draft
Conversation
…notation whitespace.
…und an issue I couldn't fix using it.
…t view comparison.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
I added support for tiled rendering when doing rendering in the engine. Tiled rendering is always enabled with a default tile width and height of 8192. The reason for always being enabled is that Mesa stops working properly somewhere between an image width and height of 8192 and 16384. This avoids that issue.
The tiled rendering width and height can be controlled with the
tiledRenderingWidthandtiledRenderingHeightfields in theRenderingAttributes. For example:sets the tiled rendering width and height to 512.
Internally, a fixed tile size is used that just covers the image being rendered that is smaller than the user selected size. For example, if the image size is 1024x1024 and the user selects a 512x512 tile size, then it uses the user selected tile size. If the tile size doesn't exactly divide the image size, then the tile size is chosen such that last tile in each direction will minimally extend beyond the image. For example, if the image size is 1021x1021 and the user selects a 512x512 tile size, then it uses a tile size of 511x511 and discards a row and/or column in the tiles along the right and bottom edges.
In order to add support for tiled rendering for annotations, the foreground view was changed as follows.
3D annotations worked fine with this change, but 2D annotations were all rendered in
NormalizedViewportcoordinates. The 2D annotations were all modified to useWorldcoordinates.Type of change
How Has This Been Tested?
Reminders:
Checklist: