From 1395688d02b6af4996f0fbd4d653c05671011578 Mon Sep 17 00:00:00 2001 From: Sparsh N Date: Mon, 11 Dec 2023 22:27:29 -0500 Subject: [PATCH 1/3] addition of ssaa render pass method --- fury/window.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/fury/window.py b/fury/window.py index 649a3bf07..3309a4499 100644 --- a/fury/window.py +++ b/fury/window.py @@ -285,6 +285,26 @@ def fxaa_on(self): def fxaa_off(self): self.SetUseFXAA(False) + def ssaa_on(self): + """Turn SSAA (Screen Space Anti Aliasing pass) on. Uses VTK Render/Sequence Pass, and SSAA Pass.""" + collection_pass = RenderPassCollection() + collection_pass.AddItem(DefaultRenderPass()) + + sequence_pass = SequencePass() + sequence_pass.SetPasses(collection_pass) + + camera_pass = CameraPass() + camera_pass.SetDelegatePass(sequence_pass) + + ssaa_pass = SSAAPass() + ssaa_pass.SetDelegatePass(camera_pass) + + self.SetPass(ssaa_pass) + + def msaa(self): + """Turn MSAA on. Uses VTK Render/Sequence Pass, and MSAA Pass.""" + # TODO: Add support for MSAA, OpenGLrenderer does not have SetPass method for MSAA pass. + class ShowManager: """Class interface between the scene, the window and the interactor.""" From 79d788f9165ce64b40cc9a40f827ca29e4ad3da5 Mon Sep 17 00:00:00 2001 From: Luke Nargang Date: Mon, 11 Dec 2023 22:36:46 -0500 Subject: [PATCH 2/3] Added necessary pass functionality to lib.py SSAAPass requires interaction with multiple vtk pass classes. Added all of the needed passes to lib,py for use in FURY --- fury/lib.py | 10 ++++++++++ fury/window.py | 9 +++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/fury/lib.py b/fury/lib.py index b1ba71259..3dd0d3da5 100644 --- a/fury/lib.py +++ b/fury/lib.py @@ -157,6 +157,16 @@ OpenGLRenderer = roglvtk.vtkOpenGLRenderer #: class for Shader Shader = roglvtk.vtkShader +#: class for RenderPassCollection +RenderPassCollection = roglvtk.vtkRenderPassCollection +#: class for DefaultRenderPass +DefaultRenderPass = roglvtk.vtkDefaultPass +#: class for SequencePass +SequencePass = roglvtk.vtkSequencePass +#: class for SSAAPass +SSAAPass = roglvtk.vtkSSAAPass +#: class for CameraPass +CameraPass = roglvtk.vtkCameraPass ############################################################## # vtkInteractionStyle Module diff --git a/fury/window.py b/fury/window.py index 3309a4499..6ef0c8a68 100644 --- a/fury/window.py +++ b/fury/window.py @@ -25,6 +25,11 @@ Skybox, Volume, WindowToImageFilter, + RenderPassCollection, + DefaultRenderPass, + SequencePass, + SSAAPass, + CameraPass, colors, numpy_support, ) @@ -285,7 +290,7 @@ def fxaa_on(self): def fxaa_off(self): self.SetUseFXAA(False) - def ssaa_on(self): + def enable_ssaa(self): """Turn SSAA (Screen Space Anti Aliasing pass) on. Uses VTK Render/Sequence Pass, and SSAA Pass.""" collection_pass = RenderPassCollection() collection_pass.AddItem(DefaultRenderPass()) @@ -303,7 +308,7 @@ def ssaa_on(self): def msaa(self): """Turn MSAA on. Uses VTK Render/Sequence Pass, and MSAA Pass.""" - # TODO: Add support for MSAA, OpenGLrenderer does not have SetPass method for MSAA pass. + # TODO: Could be useful to add MSAA here too for continuity, but lacking RenderWindow() class ShowManager: From 1dfe63706d38278bf9d4cb28257950dd26a5a8b3 Mon Sep 17 00:00:00 2001 From: Luke Nargang Date: Mon, 11 Dec 2023 22:56:58 -0500 Subject: [PATCH 3/3] Improve conciseness of comments --- fury/window.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fury/window.py b/fury/window.py index 6ef0c8a68..c2dabe7fc 100644 --- a/fury/window.py +++ b/fury/window.py @@ -291,7 +291,7 @@ def fxaa_off(self): self.SetUseFXAA(False) def enable_ssaa(self): - """Turn SSAA (Screen Space Anti Aliasing pass) on. Uses VTK Render/Sequence Pass, and SSAA Pass.""" + """Turn SSAA on. Uses render passes.""" collection_pass = RenderPassCollection() collection_pass.AddItem(DefaultRenderPass()) @@ -308,7 +308,7 @@ def enable_ssaa(self): def msaa(self): """Turn MSAA on. Uses VTK Render/Sequence Pass, and MSAA Pass.""" - # TODO: Could be useful to add MSAA here too for continuity, but lacking RenderWindow() + # TODO: Add MSAA to Scene() class ShowManager: