Unigine

Unigine is a proprietary cross-platform game engine developed by Russian software company Unigine Corp. Apart from its use as a game engine, it is mainly used in the enterprise area: simulators, virtual reality systems, serious games and visualization. A distinguishing feature of Unigine is support for large open worlds, up to the planet scale. It also has an advanced 3D renderer that currently supports OpenGL 4 and DirectX 11. An updated Unigine SDK is released every three months.
Unigine Engine is a core technology for a lineup of benchmarks (CPU, GPU, power supply, cooling system), which are used by overclockers and technical media: Tom's Hardware, Linus Tech Tips, PC Gamer, JayzTwoCents, and others. Unigine benchmarks are also included as part of the Phoronix Test Suite for benchmarking purposes on Linux and other systems.
UNIGINE 1.
The first public release was 0.3 version on May 4, 2005. UNIGINE Engine was created from scratch and is not based on any other engine.
Platforms.
Initially started with only Microsoft Windows and Linux support, more platforms were added later: OS X, PlayStation 3, Android, iOS. Experimental support for WebGL was not included into the official SDK. UNIGINE 1 had support for several graphical APIs: DirectX 9, DirectX 10, DirectX 11, OpenGL, OpenGL ES, PlayStation 3. Initial versions (v0.3x) had only OpenGL support.
There are 3 APIs for developers: C++, C#, UnigineScript (proprietary scripting language, similar to С++ in syntax). Custom shaders can be written in GLSL and HLSL languages.
Serious game features.
UNIGINE 1 has several features required by professional simulators and enterprise VR systems (mostly support for large virtual scenarios and specific hardware), often called serious games.
Support for large virtual worlds was implemented via double precision of coordinates (64-bit per axis), zone-based background data streaming, and optional operations in geographic coordinate system (latitude, longitude, and elevation instead of X, Y, Z).
Video output to sophisticated displays was implemented via so-called multi-channel rendering (network-synchronized image generation of a single large image with several computers), which is a standard approach in professional simulators. The same system enabled support of multiple output devices with asymmetric projections (e.g. CAVE). Curved screens with multiple projectors (requiring image warping and edge blending) were also supported. Also, various types of stereoscopic 3D output were supported: anaglyph, separate images output, Nvidia 3D Vision, as well as VR HMD support (Oculus Rift). Unigine 1 also supported multi-monitor output (video-walls).
Other features.
Unigine renderer supports shader model 5.0 with hardware tessellation and DirectCompute (as well as OpenCL), together with a set of post-processes, including screen space ambient occlusion (SSAO), and real-time global illumination. There is a set of built-in high-level objects like terrain, grass, water, clouds and so on. Unigine uses a proprietary physics engine (collision detection, rigid body physics, dynamical destruction of objects, rag doll, cloth, fluid buoyancy, force fields, time reverse). Pathfinding is also implemented with a proprietary engine, together with basic AI components (spatial triggers, callbacks). Other features includes interactive 3D GUI, video playback using Theora codec, 3D audio system based on OpenAL library, WYSIWYG scene editor (UnigineEditor).
UNIGINE 2.
Originally released on October 10, 2015.
Unigine 2 has all features from Unigine 1, with further focus on simulators and enterprise use. The main differences are the transition from forward rendering to deferred rendering approach, PBR shading, and introduction of several new graphical technologies like geometry water, multi-layered volumetric clouds, SSRTGI, and voxel-based lighting, and introduction of C# API.
Platforms.
Supported platforms: Microsoft Windows, Linux, OS X (support stopped starting from 2.6 version). UNIGINE 2 supports the following graphical APIs: DirectX 11, OpenGL 4.x.
There are 3 APIs for developers: C++, C#, UnigineScript. Supported shader languages: HLSL, GLSL, UUSL (Unified Unigine Shader Language).
SSRTGI.
Proprietary SSRTGI (Screen Space Ray-Traced Global Illumination) rendering technology was introduced in 2.5 version. It was presented at SIGGRAPH 2017 Real-Time Live! event.
Development.
The roots of Unigine are in the frustum.org open source project, which was initiated in 2002 by Alexander "Frustum" Zaprjagaev, who is a co-founder (along with Denis Shergin, CEO) and ex-CTO of Unigine Corp.
Linux game competition.
On November 25, 2010, Unigine Corp announced a competition to support Linux game development. They agreed to give away a free license of the Unigine engine to anyone willing to develop and release a game with a Linux native client, and would also grant the team a Windows license. The competition ran until December 10, 2010, with a considerable number of entries being submitted. Due to the unexpected response, Unigine decided to extend the offer to the three best applicants, with each getting full Unigine licenses. The winners were announced on December 13, 2010, with the developers selected being Kot-in-Action Creative Artel (who previously developed "Steel Storm"), Gamepulp (who intend to make a puzzle platformer), and MED-ART (who previously worked on "").
Unigine-based projects.
As of 2019 company claimed to have more than 200 B2B customers worldwide. They primarily use Unigine for military and Virtual Reality projects. Several notable projects include graphical benchmarks and CAD systems.
Benchmarks.
UNIGINE Engine is used as a platform for a series of benchmarks, which can be used to determine the stability of PC hardware (CPU, GPU, power supply, cooling system) under extremely stressful conditions, as well as for overclocking: