Skip to main content

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)