Features
The primary use-case for SGCT is to run the same graphics application on a single machine or a cluster and providing the ability to specify different projection methods for each viewport or machine. This way a cohesive cluster is constructured that is made up of individual clients, each rendering their own subset of the full image.
- Free and open-source under MIT license on GitHub
- Multi-computer, multi-window, and multi-viewport support
- Frame synchronization, swap buffer synchronization (hardware) and network-based application data synchronization
- Large variety of projection methods
- Cubemap projection: Render 1-6 orthogonal cube faces
- Cylindrical Projection: Projection of a 360 degree cylindrical surface
- Equirectangular Projection: Full spherical projection displayed on a 2:1 aspect ratio image
- Fisheye projection
- PlanarProjection: Flat projection with controllable, potentially asymmetric field-of-view values
- ProjectionPlane: Flat projection in which the 3D vertex coordinates of a virtual projection plane are provided
- SphericalMirrorProjection: Projection on a spherical mirror as presented by Paul Bourke
- TextureMappedProjection: A PlanarProjection in which a correction mesh is applied in reverse
- Independent frame buffer resolution from window size allowing the taking of screenshots of arbitrary resolution independent of the monitor size
- Ability to display multiple viewports per window each with their own projection method
- Application of warping and blending meshes and black level masks
- Support for OBJ, PFM, Scalable, SCISS, SimCad, and SkySkan meshes
- 3D/Stereoscopic rendering
- Active/Quadbuffer stereo
- DLP/Checkerboard stereo
- Line interlaced stereo
- Anaglyph stereo (Red/Cyan, Amber/Blue)
- Side-by-side and top-bottom
- Statistics and performance graphs
- Build on top of GLFW with easy access to the unterlying GLFWwindow objects
- oystick and gamepad support (GLFW)
- Anti-aliasing (MSAA and FXAA)
- Support for Windows and Linux
- Sharing of rendered content over the local network using the NDI library
- Sharing of rendered content to other applications using Spout (only on Windows)