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.
2010-02-05
Unigine engine empowers dinosaurs game
Unigine-based project by Lukewarm Media ("Primal Carnage" action shooter featuring dinosaurs) is currently close to the end of pre-production stage, release is planned in Q4 2010. Read more in the official press-release.
2009-12-07
Afterfall game at Game Connection Lyon 09
Nicolas Intoxicate, a Polish developer, will demonstrate the Unigine-based "Afterfall" game at Game Connection 2009 (Lyon, France). Find out more on the official website of the game.
2009-10-22
The first DirectX 11 benchmark released on the basis of Unigine engine
We have released the first DirectX 11 benchmark "Heaven" with comprehensive use of tessellation technology, advanced SSAO, new volumetric cumulonimbus clouds, interactive mode and much more. Read the official press-release.
2009-10-01
Unigine Engine Gets DirectX 11 Into Gear
Updated Unigine™ engine has successfully incorporated the groundbreaking DirectX 11 capabilities, including hardware tessellation, DirectCompute technology and Shader Model 5.0. Read more in the official press-release.

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).