Conversation
Remove the header-only SGLFW renderer, CUDA-OpenGL PBO interoperability, OpenGL display helpers, vendored GLEQ event handling, and the interactive CSGOptiX render test. Drop GLEW and GLFW from SysRap discovery, public link interfaces, installed package dependencies, and the container toolchain. Remove obsolete GL attribute metadata and update comments and documentation that referred to the deleted visualization paths. Retain GLM camera/projection math, headless OptiX rendering and snapshots, Geant4 Qt/OpenGL visualization, and Python Plotly/PyVista analysis support. Validation: - clean CMake configure with BUILD_TESTING=ON - full project build - focused SysRap and CSGOptiX regression tests - staged install/export audit - downstream async_gpu_launch consumer build - repository GL dependency scan BREAKING CHANGE: Installed SGLFW, OpenGL display, and CUDA-OpenGL interoperability headers are removed. The CSGOptiXRenderInteractiveTest target and GLEW/GLFW transitive dependencies are no longer available.
Contributor
There was a problem hiding this comment.
Pull request overview
This PR removes Simphony’s legacy OpenGL visualization stack (SGLFW + GLSL shader pipeline + CUDA–OpenGL interop display path) and cleans up build/package dependencies and documentation so the remaining rendering path is headless OptiX plus retained GLM camera math.
Changes:
- Deleted SGLFW window/input/render-loop infrastructure, vendored GLEQ, CUDA–OpenGL output-buffer interop, and all associated GLSL shader sources.
- Removed GLEW/GLFW discovery/linkage from
sysrapand installed-package dependency metadata, and dropped related dev packages from the Dockerfile. - Updated tests/docs/comments to remove references to the deleted interactive OpenGL visualization paths and removed obsolete OpenGL attribute metadata.
Reviewed changes
Copilot reviewed 68 out of 68 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| u4/U4Mesh.h | Updates mesh comment to remove OpenGL-specific phrasing. |
| sysrap/tests/sphoton_test.cc | Removes obsolete OpenGL attribute metadata from test output. |
| sysrap/tests/spath_test.cc | Renames envvar used in spath::Resolve test away from SGLFW naming. |
| sysrap/tests/SOPTIX_Scene_test.cc | Removes references to SGLFW interactive variant in header comment. |
| sysrap/tests/SOPTIX_Scene_Encapsulated_test.cc | Removes references to SGLFW interactive variant in header comment. |
| sysrap/tests/SGLFW_SOPTIX_Scene_test.cc | Deletes interactive OptiX+OpenGL interop test executable. |
| sysrap/tests/SGLFW_Evt_test.cc | Deletes SGLFW event rendering test executable. |
| sysrap/SScene.h | Updates documentation/comments to describe OptiX-only triangulated usage and de-couple from GUI assumptions. |
| sysrap/SRecord.h | Removes OpenGL attribute-spec constant; updates header comment. |
| sysrap/SOPTIX.rst | Updates documentation to remove SGLFW/OpenGL pipeline references. |
| sysrap/SOPTIX_Scene.h | Removes stale rename note referencing SGLFW naming. |
| sysrap/SOPTIX_SBT.h | Removes deleted SGLFW test mention from “Used from” list. |
| sysrap/SOPTIX_Properties.h | Updates/cleans comment formatting and removes OpenGL-vs-OptiX mismatch note. |
| sysrap/SMesh.h | Removes OpenGL vertex-attribute spec constants. |
| sysrap/SGLM.h | Updates comments to remove SGLFW-specific references and generalize client control language. |
| sysrap/SGLFW.h | Deletes legacy OpenGL window/render loop and key handling implementation. |
| sysrap/SGLFW_VAO.h | Deletes minimal VAO wrapper (OpenGL-only). |
| sysrap/SGLFW_tests/CMakeLists.txt | Deletes standalone SGLFW tests build definition. |
| sysrap/SGLFW_SOPTIX.h | Deletes OptiX-to-OpenGL interop renderer glue. |
| sysrap/SGLFW_Scene.h | Deletes OpenGL raster scene pipeline wrapper. |
| sysrap/SGLFW_Record.h | Deletes OpenGL record-array rendering wrapper. |
| sysrap/SGLFW_Program.h | Deletes OpenGL shader program compilation/link wrapper. |
| sysrap/SGLFW_Mesh.h | Deletes OpenGL mesh upload/render wrapper. |
| sysrap/SGLFW_Keys.h | Deletes GLFW key-state tracking helper. |
| sysrap/SGLFW_GLEQ.h | Deletes GLEQ event-name helper. |
| sysrap/SGLFW_Gen.h | Deletes OpenGL genstep rendering wrapper. |
| sysrap/SGLFW_Evt.h | Deletes OpenGL event rendering manager. |
| sysrap/SGLFW_CUDA.h | Deletes CUDA–OpenGL output-buffer display coordinator. |
| sysrap/SGLFW_check.h | Deletes OpenGL error checking helper tied to SGLFW. |
| sysrap/SGLFW_Buffer.h | Deletes minimal OpenGL buffer wrapper. |
| sysrap/SGLFW_Attrib.h | Deletes OpenGL attribute metadata parser/types. |
| sysrap/SGLDisplay.h | Deletes OpenGL PBO-to-screen display shader pipeline. |
| sysrap/SGen.h | Removes OpenGL attribute-spec constants; updates header comment. |
| sysrap/SEvt.cc | Removes OpenGL attribute metadata set on produced NP arrays. |
| sysrap/SCUDA_OutputBuffer.h | Deletes CUDA output buffer implementation that supported GL interop. |
| sysrap/SCUDA_MeshGroup.h | Removes comment referencing SGLFW mesh pattern. |
| sysrap/SCUDA_Mesh.h | Removes comment referencing SGLFW mesh pattern. |
| sysrap/gleq.h | Deletes vendored GLEQ implementation/header. |
| sysrap/gl/wireframe/vert.glsl | Deletes GLSL shader source (wireframe). |
| sysrap/gl/wireframe/geom.glsl | Deletes GLSL shader source (wireframe). |
| sysrap/gl/wireframe/frag.glsl | Deletes GLSL shader source (wireframe). |
| sysrap/gl/rec_line_strip/vert.glsl | Deletes GLSL shader source (record line strip). |
| sysrap/gl/rec_line_strip/geom.glsl | Deletes GLSL shader source (record line strip). |
| sysrap/gl/rec_line_strip/frag.glsl | Deletes GLSL shader source (record line strip). |
| sysrap/gl/rec_flying_point/vert.glsl | Deletes GLSL shader source (record flying point). |
| sysrap/gl/rec_flying_point/geom.glsl | Deletes GLSL shader source (record flying point). |
| sysrap/gl/rec_flying_point/frag.glsl | Deletes GLSL shader source (record flying point). |
| sysrap/gl/rec_flying_point_persist/vert.glsl | Deletes GLSL shader source (record flying point persist). |
| sysrap/gl/rec_flying_point_persist/geom.glsl | Deletes GLSL shader source (record flying point persist). |
| sysrap/gl/rec_flying_point_persist/frag.glsl | Deletes GLSL shader source (record flying point persist). |
| sysrap/gl/normal/vert.glsl | Deletes GLSL shader source (normal shading). |
| sysrap/gl/normal/frag.glsl | Deletes GLSL shader source (normal shading). |
| sysrap/gl/iwireframe/vert.glsl | Deletes GLSL shader source (instanced wireframe). |
| sysrap/gl/iwireframe/geom.glsl | Deletes GLSL shader source (instanced wireframe). |
| sysrap/gl/iwireframe/frag.glsl | Deletes GLSL shader source (instanced wireframe). |
| sysrap/gl/inormal/vert.glsl | Deletes GLSL shader source (instanced normal). |
| sysrap/gl/inormal/frag.glsl | Deletes GLSL shader source (instanced normal). |
| sysrap/gl/gen_line_strip/vert.glsl | Deletes GLSL shader source (genstep line strip). |
| sysrap/gl/gen_line_strip/geom.glsl | Deletes GLSL shader source (genstep line strip). |
| sysrap/gl/gen_line_strip/frag.glsl | Deletes GLSL shader source (genstep line strip). |
| sysrap/GL_CHECK.h | Deletes OpenGL error-checking helpers used by the legacy stack. |
| sysrap/CMakeLists.txt | Removes GLEW/GLFW discovery/linking and stops installing legacy OpenGL headers. |
| Dockerfile | Drops GLFW/GLEW dev packages from the dev image. |
| CSGOptiX/tests/CSGOptiXRenderInteractiveTest.cc | Deletes interactive OptiX display test that depended on SGLFW/OpenGL. |
| CSGOptiX/tests/CMakeLists.txt | Removes OpenGL/GLEW/GLFW discovery and interactive test target build. |
| CSGOptiX/Frame.h | Removes stale comment referencing overlap with SGLFW. |
| CSGOptiX/CSGOptiX.cc | Updates snap documentation to remove SGLFW comparison. |
| cmake/Config.cmake.in | Removes transitive installed-package dependencies on GLEW/glfw3. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
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.
Summary
Remove Simphony’s legacy OpenGL visualization stack, including SGLFW, CUDA–OpenGL interoperability, GLSL shaders, and
interactive OptiX display.
Changes
CSGOptiXRenderInteractiveTestand obsolete SGLFW tests.Retained capabilities
Breaking changes
Installed SGLFW, OpenGL display, and CUDA–OpenGL interoperability headers are removed.
The
CSGOptiXRenderInteractiveTesttarget and transitive GLEW/GLFW dependencies are no longer available.