2010-07-26
We are hiring
Our company is growing so we would be happy to see new team members: developers, PM, sales manager and system administrator. Moreover, the good news is our convenient office in Tomsk is now doubled in size!
2010-05-25
Heaven 2.1, Tropics 1.3, Sanctuary 2.3
Released updated versions of Unigine benchmarks with support of OpenGL 4.0 (including hardware tessellation) and stereo 3D technology (including 3D Vision): Heaven 2.1, Tropics 1.3 and Sanctuary 2.3.
2010-05-04
5 years since the first commercial release of Unigine
The first commercial version of Unigine engine was released five years ago, on May 4, 2005. With the release number 0.3, it had codebase size of approximately 10% relative to the current one. At that time, there used to be 5 people on board.
2010-03-23
Unigine Heaven Benchmark 2.0
Updated version of Unigine Heaven DirectX 11 benchmark is now publicly available. Main changes are: added more content, improved engine, introduced "moderate" and "extreme" tessellation modes, added Linux version (32/64 bit).
2010-02-22
Unigine booth at GDC SF 2010
We gladly invite you to come visit our booth #1344 at Game Developers Conference, San Francisco, 2010. There you will be presented the recent version of Unigine Engine and the Heaven Benchmark 2.0 along with a lot of featured Unigine-based content. Feel free to contact us for an appointment.

Development Log

You can subscribe to our RSS feed.
There is also a translated LiveJournal account: unigine_devlog.
2009-05-13

Introducing LightProb and support of massive object arrays

Recent changes:

  • New type of lights: LightProb, which is suitable for simulation of global illumination for dynamic objects.
  • Access to command line arguments from UnigineScript.
  • Rendering of screenshots into HDR images.
  • Fixed ObjectVolumeBox rasterization.
  • Fixed ObjectMeshDynamic crashes.
  • Spatial subdivision optimization.
  • Faster world loading.
  • Range of material priority has been extended to [-8;8].
  • Easy registration of 3rd-party C++ functions as script class members via C++ API.
  • Unique IDs for nodes, bodies, shapes and joints (repetitiveness is guaranteed for the same world on different machines).
  • Eliminated position lag between world and visualizer.
  • Dedicated spatial tree for clutter objects ("clutter" flag in nodes).
  • Reduced memory consumption on scenes with large amount of objects.
  • Additional impostor configuration parameters.
  • WorldTransformExpression gained access to a parent node.
  • Two-argument version of check() method for containers.
  • Performance boost of UnigineScript with external classes.
  • Added WorldCluster object.
  • Added accumulation of profiler counters' values.
  • Support of anti-aliasing in image grabber.
  • NodeRef renamed into NodeReference (use scripts/Upgrade/upgrade.py to upgrade your data).
  • New NodeDummy type of nodes for grouping (ObjectDummy is to be used for physical purposes now).
  • Support of new postfixes by imagedds.py: dr, sr, nr, hr, ar, lr (raw textures).
  • Specular reflection is modulated by Fresnel effect on all meshes.
  • Transition to ATI1 format for all single-component textures (ambient and height maps require regeneration by means of imagedds).
  • Enter/leave callbacks for WorldTriggers can be set via UnigineEditor now.
  • NodeReferences store references to all required material and properties libraries.
  • Support of public/private access level modifiers in UnigineScript's classes.
  • Automatic inline of getSomething() functions in UnigineScript.
  • Support of << and >> bitwise operators in UnigineScript.
  • Two-pass compilation of scripts, function and class prototypes aren't required now.
  • Support of additional text for WidgetIcon.
  • Switch and toggle types of parameters in properties.
  • Support of multiple materials per shape in Maya plugins.
  • Correct rendering of visualizer with HDR and other postprocesses.
  • Group set of parameters for nodes in UnigineEditor.
  • Group rename of nodes by a mask ("%d" and "%1d" formats are supported).
  • Camera moved out of high-level Character system.
  • Externs package has been integrated into the SDK.
  • Fixed corruption of %PATH% on MS Vista in the installer.
  • Updated reference manual.

Some notes regarding LightProb: it's a special type of light source, which is based on baked spherical harmonics. They are intended to be used in large groups, providing some kind of global illumination. LightProb can have ellipsoid shape. Due to compact format (9 vec3 values per light) it's possible to bake series of presets for a light and interpolate between them, simulating dynamic change of environmental lighting. Objects are rendered without instancing in LightProb rendering pass.

Here is an example of different types of lighting baked into LightProb:
Phong
Indirect
Phong + indirect

WorldCluster is a smart container for a baked heap of NodeReferences. Only visible NodeReferences from a WorldCluster are added to the world, so it's really fast. To group some NodeReferences into a WorldCluster, you have to make it their parent in node hierarchy and press "create" button in the editor. See new "Forest" demo as an example.

Due to severe changes in structure of the SDK, please uninstall previous version before switching to the current one. Don't forget to run new version of upgrade.py also to upgrade your data (see documentation for more details).