[WIP] SSAA Implementation - Window.py -> Scene #853
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.
Added implementation of SSAA (Screen-Space Anti-Aliasing) to Scene in window.py, and added the necessary OpenGL classes in lib.py.
SSAA can be more computationally expensive than other forms of anti-aliasing, but gives an improvement to visual quality. There is potential for future improvement. Since SSAA is implemented in Scene alongside FXAA, we propose that MSAA be moved to Scene as well if possible.
One currently known issue is with line rendering, which is especially prevalent with wireframes. In some scenes, wireframe objects did not render when SSAA was turned on, and it may potentially thin other lines regardless of set line width. Will look into further.
As a side note, when testing we ran into a weird bug with wireframe rendering. It is an issue with the VTK shader implementation that made it compile improperly on some GPUs, and has been fixed in the most recent version of VTK (9.3) in case someone else runs into the problem as well.
Contributors: Luke Nargang and Sparsh Nair