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 constructed that is made up of individual clients, each rendering their own subset of the full image.

  • Free and open-source under 3-clause BSD 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 underlying GLFWwindow objects
  • Joystick 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)