This page has been translated automatically.
Recent news:
Table of contents:

Stereo 3D Improvements

Stereo 3D

  • AppOculus plugin (Oculus Rift VR googles integration) has been improved a lot: correct splashes, screenshots, distortion, aspect ratio, chromatic aberrations.
  • Stereo separation parameter has been replaced with Stereo radius (1/2 of the separation value).
  • Added stereo offset parameter (an offset after perspective projection, 0 by default).
  • App3DVision and App3DSurround plugins create stereo-compatible screenshots (side-by-side).

Here is the video from Valley benchmark working in Oculus Rift mode:

...and Heaven benchmark:

Public release of updated benchmarks with Oculus Rift support is planned in July.

Render

  • Better Clutter objects orientation based on normals to the surface.
  • Additional render shader defines can be tweaked from UnigineScript and C++ API.
  • Fixed a problem with water jittering on mobile platforms.
  • Material bindings can be used in any materials, so ObjectDynamic can use any existing shaders by emulating the corresponding vertex format.
  • Added a sample with orthographic rendering:data/samples/render/ortho_00.
  • Added a sample with fake ObjectMesh viaObjectDynamic:data/samples/objects/dynamic_03.

GUI

  • Performance optimization for complex widget hierarchies.
  • Gui::clearTexture() function clears Gui texture file cache as well.
  • Flash GUI uses simple FFP rendering mode to improve performance on mobile devices.
  • Fixed a bug on deletion of the Widget instance with multiple registered callbacks.
  • Added possibility to modify the global transfomation matrix for Gui and WidgetWindow (so you can tilt/rotate/move... the 2D GUI in 3D space).
  • Added a sample with rendering Widget toImage:data/samples/widgets/render_00.
  • User interface files (.ui) can include data from different files with multiple string substitutions (e.g.<include name="file.ui" foo="bar" foo2="bar2"/>).
  • Perspective distortion for data/samples/widgets/canvas_00|01 samples.
  • Added samples with Gui and Window transformations:data/samples/widgets/transform_00|01.

C++ API

  • AddedString::substr(), String::utf8strlen() and String::utf8substr() functions.
  • Added accessors for Vector and Matrix data types in the Xml class.
  • Added functions for taking screenshots:Unigine::Render::ScreenshotFunc().
  • Added functions for splash screen rendering:Unigine::Render::SplashFunc().

UnigineScript

  • Reflection class can get type of function return value.
  • Added classid() statement (can receive class signature or a variable), is_base_class() can receive its result as the first argument for faster result querying.
  • typeid() can also receive type signature.
  • Added bounds.h with simple bounding volume logic.
  • USE_DOUBLE macros is available inWorldExpression.

Tools

  • Added -n argument for ImageDDS (creates an empty image).
  • Fixed a crash in 3D editor plugins on exporting files without surfaces.
  • Added support for different object alignments and animation range exporting into Maya plugins.

Documentation

  • Added documentation on new ObjectDynamic class.
  • Updated UnigineEditor articles.
  • Updated documentation on UnigineScript classes:Gui,Image, ObjectMeshDynamic,ObjectTerrain.
  • Updated articles on UnigineScript function sets:engine.render,engine.editor, engine.physics,engine.system,engine.world.

Other

  • NOSIGPIPE flag for Mac OS X and iOS version of Socket has been added.
  • Added two samples of WinRT applications:source/samples/WinRT.
  • Fixed linking problem with Clang / Mac OS X.

As promised, we have also published the video from ITEC 2013 demo (unfortunately it's a bit problematic to provide access to the build itself since the dataset is 60 GB in size already):

PS: It was only two weeks since the last SDK update, but we decided to roll out a new one before going into even more improvements and new features.

Build: ()