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.
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:
Tesselation:
No tessellation, wireframe:
Tessellation, wireframe:
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.
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:
HDR shaft flare post-effect:
PS: Massive reinforcements of our team has arrived: Pavel Kurinnoy (tools developer), Evgeniy Yundin (QA engineer) and Alexey Maslennikov (sales manager).
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:
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.
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.
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.
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),