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-03-05

Animation buffers, new memory manager

Recent changes:

  • New memory allocator, which can show memory fragmentation.
  • New memory_dump console command for displaying memory fragmentation (numbers means allocations count in some point, 'x' means more than 16 allocations).
  • New garbage collector (ref-counter based) which eliminates stalls (old one was called only each 32nd frame).
  • Fixed bug in animation export plugins, which occured with large number of weights per point.
  • New global "light distance" parameter in render settings.
  • Added support of Object and ObjectMeshDynamic into C++ API (see API examples).
  • GL_vertex_array_object extension is required now, please update your video drivers.
  • Support of binary XML files for release version (they loads faster, consumes less memory and causes less fragmentation).
  • New "xmltree" tool for compilation/decompilation XML files into/from binary format.
  • Fixed Fresnel refraction on NV40 / OpenGL.
  • Fixed streaming-related crashes under OpenGL.
  • New global "light distance" parameter in render settings.
  • "render_manager_reload mesh" reloads only meshes, "render_manager_reload texture" reloads all textures.
  • Support of inplace array creation inside foreach structure of UnigineScript: foreach(int i; (0,1,2,3)).
  • Added system of animation buffers.
  • Correct font wrapping for RichText.
  • Force set of WidgetGridBox proportion, columns are of fixed size.
  • Added sample of integration RakNet (a high-level networking library) into Unigine (see source/samples/Network/RakNet), which is still in the development.

New allocation policy: by default there are two memory pools (128Mb each), one of them is used for allocations less than 32Kb, another one is for the rest (so by default the engine requires 300+Mb). If these pools are already full, the engine allocates additional 128Mb pool. Plus there are fixed allocators for 2n memory pieces, up to 128Kb. Memory manager also performs bound checking for allocated memory. Use memory_dump to see current fragmentation map:
Memory dump

Skinned mesh animation system now operates by tempararily buffers of bone transformations. One can apply different operations to them (copy, invertion, interpolation, multiplication). So these buffers allow creation of complex animation trees. Animation layer can be treated as a CPU ALU and buffers are like CPU registers.

PS: There is a new interview with our customers, who is creating an "Afterfall" post-apocalyptic cRPG basing on Unigine (Polish only, sorry).