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-09-28 Link

Full DirectX 11 render with tessellation support

Recent changes:

  • Tessellation support under DirectX 11.
  • Tessellation support under OpenGL on ATI DirectX 10 level cards.
  • Added hull and domain shaders for tessellation.
  • Added "render_profiler" console variable that turns on/off performance profiling of render postprocesses.
  • Fixed OpenCL initialization (headers were silently updated by Khronos Group).
  • Detail textures can use the second UV channel (it can be selected in the "States / Options / Detail" drop-down menu).
  • Added mesh_tessellation_base material for objects with hardware tessellation, it supports tessellation masks and height textures.
  • Fixed UnigineScript bug with disappearing of "this" by complex inheritance.
  • Reloading of meshes with different surfaces in MeshViewer; minor usability improvements.
  • Added EXT_texture_snorm extension support.
  • Added the distance for disabling occluders.
  • Simplified SSAO for low shader profile.
  • CUDA headers updated to version 2.30.
  • Updated documentation on sound ("Principles of Operation / Sound" section of the manual).

No tesselation, simple normal mapping:
Tessellation off
Tesselation:
Tessellation on
No tessellation, wireframe:
Tessellation off
Tessellation, wireframe:
Tessellation on
By the way, this art asset will be used in our upcoming real-time demo, which is to be released in October.

PS: Here are some numbers considering performance of CUDA and DirectCompute: Unigine Crew blog.

2009-09-15 Link

DirectX 11 render, networking sample

What's new:

  • DirectX 11 render is almost ready (tessellation feature still needs to be implemented).
  • Shader Model 5.0 is supported now, i.e. the following six types of shaders are available: vertex, hull, domain, geometry, pixel, compute.
  • Switch to August 2009 DirectX SDK (don't forget to update your DirectX installation).
  • HDR, glow and SSAO are implemented via DirectCompute in DirectX 11.
  • Improved performance of DirectX 10 render.
  • Textures can be binded to any type of shaders now.
  • Renamed d3d10_render_use_*_level_1 console variables to d3d10_render_use_*_level_101.
  • Increased maximal shadow map dimension to 8192 in the editor.
  • Added cage feature to AmbientMapper (works similar to the NormalMapper one).
  • Fixed ambient occlusion bug with enabled impostors.
  • Improved SSAO that takes into account normal map data and provides better quality and reasonable performance (requires re-adjusting parameters).
  • GUI rendering speedup.
  • Updated HDR post-processes (refactoring, improved performance).
  • Added HDR shaft flare effect.
  • Detail textures can use 1st or 2nd UV channels for all meshes.
  • Plugins for Maya 10.0 (2009).
  • Fixed bug with physique modifier in 3dsMax skinned mesh export plugin.
  • ObjectGUI without background isn't blurred by the DoF filter.
  • Warm start of physical joints.
  • Improved freezing of physical objects with joints.
  • Added "softness" joint parameter to be used along with "restitution" for fine tuning (use with care, it can affect joint stability).
  • Reduced memory consumption by physical contacts data.
  • Collision detection speedup.
  • Fixed bug with referencing to deleted objects in UnigineScript.
  • Garbage collection for objects of extern C++ classes in UnigineScript, use class_manage(obj) function in scripts to register an object for automatic memory management, or use additional arguments of setExternClassObject() or Variable constructor; refer to the documentation for more details.
  • Added functional constructors (Unigine::ExternClass::addConstructor() with two arguments) and destructors (Unigine::MakeExternClassDestructor()) of external classes to be exported in UnigineScript via C++ API.
  • Faster interconnection between C++ API and scripts.
  • Added integration sample for RakNet high-level networking library (source/samples/Network), see "Programming / Application Samples / Network Sample" section of the manual.
  • Added network chat sample (data/demos/chat).
  • Updated C++ API documentation.
  • Completed documentation on UnigineScript library.

By the way, it seems that mesh skinning via compute shaders is faster than stream out under DirectX 11.

Improved SSAO in action:
Improved SSAO
Improved SSAO
Improved SSAO

HDR shaft flare post-effect:
HDR shaft flare

PS: Massive reinforcements of our team has arrived: Pavel Kurinnoy (tools developer), Evgeniy Yundin (QA engineer) and Alexey Maslennikov (sales manager).

2009-08-10 Link

Physics speedup, CCD and multi-threading

Recent changes:

  • Huge physics performance boost.
  • Full repeatability of physical simulation even on different CPUs.
  • Time snapshots of physics (time rollback is required for networking).
  • Joint limits visualization.
  • Removed "accuracy" flag for joints.
  • Added "collider" flag in nodes; when it is set to off the object doesn't participate in physical simulation (enabled by default).
  • Radius of physics simulation can be decreased without causing problems.
  • Multi-threaded simulation of physics; it can be distributed among several CPU cores now. Change of physics_num_threads console variable doesn't require engine restart, it's applied on the fly.
  • Added continuous collision detection (CCD) for spheres and capsules.
  • Added PhysicalForce object for simulation of point forces (attracting and repelling).
  • Added new physics samples.
  • Improved wind formula for vegetaion.
  • Added math and comparison operators for Variable class in C++ API.
  • Updated Ogg Theora loader that supports multi-stream video.
  • Added WidgetCanvas widget for drawing text, lines and polygones.
  • Access to properties and materials by index.
  • Refactored ObjectMeshDynamic with support of several surfaces.
  • Added File class into C++ API for working with internal virtual filesystem.
  • Added engine.profiler.isEnabled() and engine.profiler.getValue(string name) functions into UnigineScript.
  • Removed the lightmap support from vegetation shaders.
  • fade_power parameter is renamed into fade_attenuation for ObjectGrass, ObjectParticles and WorldCluster (don't forget to run scripts/Upgrade/upgrade.py script).
  • Added support of Maya 10.0.
  • Added description of node layers, node references and properties to the "Principles of Operation / Virtual Worlds" chapter of the reference manual.
  • Updated C++ API documentation.
  • Updated UnigineScript library documentation.

Physics module improvement is still in progress, there will be more updates on that later this month.

Here is the mesmerizing example of time reverse feature in physics:


Video demonstrating physics time reverse feature

PS: We have also started developing visual flow graph editor that will be used for both game framework and animation tree.

PPS: Creators of the Unigine-based "Syndicate-online" MMORPG has opened doors for participants of the second stage of the Closed Beta Testing. Read more on the official website of the game.

2009-07-22 Link

Tessellation

What's new:

  • Full transformations of point forces in particle systems, added 'rotator' and 'attractor' features.
  • Unicode names of joysticks.
  • Dedicated tree for objects with collision detection enabled.
  • All fonts and textures can be shared between GUIs.
  • Performance optimization for multiple ObjectGUIs.
  • Added Qt-based integration sample with multiple windows.
  • Deffered buffer is decreased in size for low shader profile.
  • Transfer of user-specified classes between C++ API and UnigineScript.
  • Billboards speedup.
  • More compact variables in UnigineScript.
  • Added new Expression class in UnigineScript, that can compile and execute arbitrary code in runtime.
  • Minor performance improvement of clouds.
  • Plugins for 3dsMax 12 (2010).
  • Correct replication of NodeReferences during assignment of properties and materials.
  • Added support of Cage mesh in NormalMapper, that allows to select a desired high-poly object.
  • Height textures are renamed into parallax ones, use '_h' postfix instead of '_p'.
  • Improved documentation on UnigineEditor and ResourceEditor.
  • Support of AMD hardware tessellator in ResourceEditor via AMD_vertex_shader_tessellator.

Hardware tessellation is a very attractive technology, artists can waste hours looking at real-time change of low-poly models tessellation. Unfortunatelly now it is available in OpenGL with AMD cards only. However, later this year Windows 7 is to be released, that introduces DirectX 11 with support of hardware tessellation.


Short video on YouTube demonstrating tessellation

PS: We also work very closely with AMD video driver team now, these guys provide really useful help with fast driver bugfixes for both Windows and Linux versions.

PPS: Our CEO (Denis Shergin) and CTO (Alexander Zaprjagaev) will attend GDC Europe, which will take place in Cologne, Germany this August. Please contact us via info@unigine.com to make an appointment if you would like to meet.

2009-07-07 Link

Improved volumetric clouds

Recent changes:

  • New volumetric clouds, updated ObjectSky.
  • Added Camera object (PlayerDummy node) in UnigineEditor.
  • Some renaming in the materials: scattering -> post_scattering, polygon_offset -> offset, priority -> order (don't forget to run upgrade.py script).
  • Render performance improvements.
  • Added post_deffered flag for the transparent objects (objects with this flag will be rendered into the deffered buffer after rendering into the color buffer), that is useful for water surfaces.
  • WidgetSpriteObject is renamed to WidgetSpriteNode and can render the full hierarchy of the node.
  • Skinned meshes can be rendered using DirectX 10 stream out feature or OpenGL EXT_transform_feedback extension.
  • New type of the particles emitter: shift (particles are generated only if the emitter is moving), that can be used for fake water interaction effect or rocket traces.
  • Reduced memory consumption by UnigineScript interpreter.
  • Minor improvements of UnigineEditor.
  • Correct detection of NVIDIA GTS cards.
  • Vegetation animation can be turned off in material settings (less complex shader will be used).
  • Fine tuning of volumetric materials' attenuation.
  • Support of GL_ARB_texture_rg (optional) and GL_EXT_texture_swizzle (required) extensions.
  • Removed support of L and LA image formats (R and RG are used instead).
  • Xinerama support (Linux users now can use multi-GPU and multi-screen configurations).
  • Added new UpSample material option for transparent objects that reduces their rendering buffer resolution, thus providing performance boost.
  • Updated Qt integration sample (now it's compatible with Qt 4).
  • Added samples of image manipulations via C++ API.
  • Updated documentation: "Console", "Tools / ResourceEditor", "Tools / Plugins for 3D Editors", added info on PSSM into "Technologies Overview / Shadows", added "Programming / Scripts / Input System" article.

There are three surfaces in ObjectSky object now:

  • "sphere" provides correct interaction of clouds and sky (clouds can be darker than the sky),
  • "clouds" is a new surface for volumetric cumulonimbus clouds (they are simulated by a physically-correct algorithm),
  • "shadow" (without changes).

New volumetric clouds
New volumetric clouds
New volumetric clouds
New volumetric clouds

PS: Here is the next step forward we promised recently: Unigine Joins PLAYSTATION®3 Tools and Middleware Program.