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.
2008-08-16 Link

Decals and isolation mode in editor

Recent changes:

  • Projected, orthographic and omni decals.
  • Masks and offsets for decals.
  • Added decal samples.
  • Isolation mode in UnigineEditor.
  • New "back shadow" flag for all light sources.
  • New default names for 32/64 bit libraries.
  • Spatial settings for sky material.
  • Fixed water shaders.
  • Impostors speedup.
  • MenuBox supports another MenuBoxes as children.
  • New WidgetSpinBox.
  • Fixed calling of script functions through the C++ API with external classes passed into them.
  • SDK launcher for Windows with HTML-based interface.

Our art department is reworking an old draft of tropical demo, it should be ready in September:
Water demo
Ocean waves look completely real in dynamics, unfortunately a static image can't show it:
Water demo

By the way, recently OpenGL 3.0 specification has been released, and we found that Unigine already supports its features, like geometry shaders, texture arrays and so on.

PS: There are up to 40% discounts in August for licensing Unigine technologies, so use the chance.

2008-07-29 Link

Impostors

What's new:

  • Smart dynamic impostors.
  • Capability of rendering of a single object in WidgetSpriteObject.
  • Fixed 3dsMax plugins (wrong alignments for skinned mesh).
  • setCastShadow/setReceiveShadow methods for surfaces, which allow fine tuning.
  • Support of password-protected built-in data packs.
  • Fixed selection of NodeRef by double-click.
  • New render_show_textures console variable for visualization of dynamical textures.
  • *.pak files are treated as *.zip ones by filesystem.
  • Increased precision of ObjectWater and ObjectSky on far distances.
  • Filesystem loads files in alphabetical order now.
  • A file, which is referenced by NodeRef, can be replaced by another one via UnigineEditor now.
  • An object is belong to a sector according to its bounding box.
  • Materials and properties can be set for all nodes of a multiple selection.
  • Updated Unigine_Externs pack.
  • Updated docs, added "Content Creation / Materials Overview / Optimization Tips" and "Content Creation / Level Design" articles.

Impostor is a fake 2D sprite object, which replaces a real 3D object at far distances. The engine render impostors automatically, the only thing you should do is to enable 'Impostor' flag in the node properties. There is also an 'Impostor distance' setting in UnigineEditor (see rendering settings window). It's recommended to set that parameter equal to shadow off distance or even greater to avoid artifacts. Approximate estimations of memory consumption by impostors can be found in "Content Creation / Level Design" article.

9 000 000+ polygons, 613 DIPs, 16 FPS (on 8800GT):
Impostors off
2 000 000+ polygons, 235 DIPs, 31 FPS (the same hardware):
Impostors on
FPS is doubled, resulting image is the same - this is a power of impostors!
Impostors on with wireframe

Dynamic decals are on the way.

2008-07-16 Link

Introducing hierarchy of node properties

What's new:

  • Hierarchy of node properties (read more below).
  • Underlaying material for reflections.
  • Console commands now can be created by means of UnigineScript.
  • Variables content can be accessed via [] operator, there are new __set__ and __get__ class memebers to be overloaded for [] access.
  • Adjustable precision of mesh data for 3dsMax export plugin (snap to grid).
  • Friction and restitution parameters are moved into base properties library.
  • Filesystem speedup.
  • A file inside 'data' directory can be access very fast now, if its name doesn't contain 'data/' prefix.
  • Fixed LWO format loader.
  • New format of world files: material name should be in 'material' attribute of 'surface' tag (old format will be supported for some time still; re-save world to update its format).
  • Removed 'deprecate.mat' material library, there is no more mesh_detail_base (use mesh_base instead of it).
  • Great speedup of scripts compling (it is almost 4 times faster now).
  • Fixed reflection masks.
  • Cube filtering of ambient maps.
  • Stereo launchers dynamically load DirectX libraries now.
  • Removed FreeBSD building rules due to very low demand on FreeBSD support.
  • Automatic generation of focus cycling order for UI.
  • reflection_adjust parameter for cube reflection for fine tuning.
  • Almost all memory leaks are eliminated, there are only 3 unfreed pointers left.
  • Added time.h (for correct sun position according to a given time) to the core scripts set.
  • Added sun movement into 'water' demo.
  • WorldTrigger can work with predefined set of nodes (if the list is empty, all nodes are taken into account).
  • Correct work of tabbing in WidgetEditText.
  • Simple syntax highlight in built-in text editor.
  • New ALIGN_BACKGROUND flag for separating widgets by rendering order (work only for WidgetVBox).
  • WidgetManipulator takes care about step of snap.
  • New icons in UnigineEditor.
  • Fixed annoying 'invalid operation' error in OpenGL.
  • Snap to grid for moving and rotating objects (set grid step in 'Tools' window).

Node properties is a general purpose mechanism for adding some custom properties to objects (like game-specific parameters and so on), they can be set per-surface. Properties set can be flexibly adjusted for a project, see data/core/properties/unigine.prop as an example, the system is very similar to our visual materials. Use 'o' hotkey to access properties window in UnigineEditor.

Some notes regarding changes in development environment:

  • Unigine_Externs pack is updated, all 3rd-party code is moved there
  • All .lib files provided with Unigine_Externs are for Visual Studio 2008, older ones can be found in 'vs2005' subfolders
  • Recommended SCons version is 0.97

2008-07-02 Link

Bugs hunting

Fixed bugs:

  • More accurate parallax mapping on 'high' profile.
  • Fixed ObjectWater polygons doubling after cloning.
  • Fixed match() for patterns with '*'.
  • Fixed call of user class methods with arguments in UnigineScript.
  • Correct work of garbage collector with inherited classes in UnigineScript.
  • Correct work of 'hidden' flag for all types of GUI containers.
  • No more artifacts of ObjectWater in underwater mode.
  • Fixed handling of '(' ')' '{' '}' symbols in UnigineScript.
  • Fixed node cloning dialog in UnigineEditor.

New features:

  • Saving debugger's history between sessions.
  • Added xml->isChild() function in UnigineScript.
  • ObjectTerrain can be edited and saved by means of scripts.
  • Improved brushes window in TerrainEditor.
  • Introduced 'Pair' and 'Triple' containers in UnigineScript.
  • Clean-up of UnigineEditor.
  • Removed alpha channel support from NormalCombiner.
  • Cubic filtering for lightmaps on 'high' setting profile.
  • New strget() and strset() functions in UnigineScript.
  • Updated a lot of articles in reference manual, added UnigineScript debugger documentation (see 'Programming / UnigineScript / Script Debugging').
  • Added WorlTrigger support in UnigineEditor.
  • Improved editing of vec3/vec4/mask parameters in material editor of UnigineEditor (double-click on them to edit).
  • Added 'Place here' (move to the camera) and 'Place manually' (place on a surface, right-click switch normal binding, mouse scroll adjusts height) buttons in Nodes window of UnigineEditor.
  • Support of material's parameters copy-paste in UnigineEditor.
  • Dynamical node info visualization feature in UnigineEditor (Tools -> Interface -> Dynamic info).

The hunting was fruitful, almost all of the bugs were discovered during work on our internal Unigine-based projects, which are a kind of sandbox for us.

2008-06-23 Link

MegaUpdate (c) Frustum

Basing on customers feature requests, there are a lot of hot updates in Unigine!

Recent changes:

  • Fonts outlining.
  • UnigineScript debugger (GDB style): call stack, stack dump, disassemble, view variable and array info (add breakpoints to your script and look into the system console).
  • New NodeRef node type, which refers to nodes from external node files.
  • Improved 'forloop' and 'foreach' operators in UnigineScript.
  • Added 'switch' operator into UnigineScript for faster branching.
  • WidgetEditText allows per-line editing now.
  • Holes support for terrain (first LOD only).
  • Added more settings for ResourceEditor: camera speed, FOV, wireframe color.
  • Inheritance of user-defined classes with virtual functions support in UnigineScript.
  • Context menu for nodes in UnigineEditor (Alt + right mouse button to activate).
  • Full undo/redo support for nodes and materials in UnigineEditor.
  • Updated documentation on Unigine library.
  • Heap of minor fixes.

Finally, a new Catalyst 8.6 has solved the problem with soft shadows! It's highly recommended to upgrade to it for all ATI card owners.

Here is the context menu for nodes in UnigineEditor:
Context menu for nodes in UnigineEditor

New TerrainEditor can add holes:
New TerrainEditor with support of holes

Terrain upgrade guide: save height map into DDS format by old TerrainEditor, create a new terrain by new TerrainEditor, import old height map.