fury-gl / fury

FURY - Free Unified Rendering in pYthon.
https://fury.gl
Other
226 stars 165 forks source link

[WIP] SSAA Implementation - Window.py -> Scene #853

Open Sparsh-N opened 7 months ago

Sparsh-N commented 7 months ago

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

pep8speaks commented 7 months ago

Hello @Sparsh-N, Thank you for updating!

Cheers! There are no style issues detected in this Pull Request. :beers: To test for issues locally, pip install flake8 and then run flake8 fury.

Comment last updated at 2023-12-12 03:57:20 UTC