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
GLFWwindowobjectsJoystick 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)