Jump to content

Unigine SDK 2010-11-01


photo

Recommended Posts

Render:

 

* Completely new vegetation system: trunk bending, rotation of billboard leaves, spatial noise for randomized movement of vegetation.

* Added the motion blur postprocess (takes into the account both the camera velocity and velocities of physical bodies).

* Added indirect occlusion (SSDO) to simulate real-time global illumination.

* Complete shaders refactoring (all texture samplers were shifted).

* Unified LOD system for all objects, parameters are in surface settings (visible and fade distances are removed from objects).

* Smooth transition between LODs for all meshes, 3D GUI objects and billboards basing on the screen space noise. Leaves use fading based on the to alpha test scale.

* Improved stereo 3D model: parallel axis asymmetric frustum perspective projection instead of the old toe-in projection. Now there are only two stereo 3D parameters: depth and eyes distance.

* Added mesh_terrain_base base material for mesh-based terrains.

* Slice count in volumetric clouds became tweakable (ObjectSky).

* Transparent surfaces are sorted by the the distance from the oriented bounding box (OBB).

* Unified shadow rendering for all light types into a single pass.

* Improved tesselation DIP performance.

* Eliminated deferred buffer conflicts.

* Added dedicated depth buffer with 24 bit precision, dedicated diffuse color, normals and parallax offset buffers.

* Different sets of deferred buffers are used depending on the render settings.

* Added a super-simplified rendering of lights - pure deferred shading, when geometry is drawn only once. It is activated with 'render_deferred 2' console command and can be very useful for old hardware.

* Fixed a bug by WidgetSpriteRender rendering.

* Improved ObjectVolumeBox precision.

* Fixed PolygonOffset in auxiliary and refraction passes.

* DirectCompute is not used for postprocesses, beacuse it has proven to be useless.

* Added more render profiler counters (RT*); use 'render_profiler 1' console command to activate.

* Added support of of circle and circular sector rendering into the visualizator.

* WorldClutter can be randomized with a seed.

* Global scale parameter for all distance-related render parameters, including LODs (easy quality/performance tuning).

* Fixed sRGB on diffuse texture of terrain.

* Improved parrallax occlusion mapping quiality.

* All objects can be drawn into the auxiliary buffer.

* Changed blending mode of the auxiliary buffer: now it's lerp() according to its alpha value.

* Added a sky background cubemap into the ObjectSky.

* Added a shadow offset for billboard-based grass.

* Added two more parameters for DoF.

* Fixed Direct3D9 bug of rendering random additional geometry instead of a fullscreen polygon.

* Several minor Direct3D9 bugfixes.

* Added a fast antialiasing filter, use 'render_antialiasing 1' console command to enable.

* Removed post_filter_antialiasing material.

* volume_cloud_base supports a gradient image for volume rendering.

* Improved render streaming for objects with big number of surfaces.

 

UnigineScript:

 

* Added new data types with increased precision into UnigineScript: long, double, dvec3, dvec4 (see details below).

* Support of 'long long' data type in streams.

* Support of #pragma preprocessor instruction.

* Fixed wrong 'this' statement in UnigineScript class destructor.

* Added a frame counter: engine.game.getFrame().

* Fixed NULL pointer memory leak.

* Fixed bug with incorrect deletion of user classes.

* Added Unigine::Quadrulple container.

 

C++ API:

 

* Introduced C++ plugins to the engine, that allow to load a custom library dynamically in engine runtime (see Unigine::Plugin class in C++ API documentation). To enable a plugin, use engine.addPlugin(PLUGIN) or add '-extern_plugin PLUGIN' command line option, where PLUGIN is a name of the plugin library (without a postfix and extension).

* Added sample of C++ plugins usage: source/samples/Api/Plugin.

* A set of functions for easy access to C++ API pointers without complex type casting.

* C++ API pointers can be cleared by calling clear().

 

Tools:

 

* Added global parameters for hardware tessellation into UnigineEditor.

* Added global parameters for vegetation animation into UnigineEditor.

* Added Maya 2011 plugins.

* Added tooltips to all material parameters in UnigineEditor.

* Restored ImageView tool.

 

Documentation:

 

* Added terrain tutorial into the reference manual.

* Added "Programming / Memory Management" article.

* Updated UnigineScript library documentation.

* Added articles on terrain and terrain occluder objects into the "Principles of Operation / Objects" section.

 

Other:

 

* Support of OpenCL 1.1.

* Added dumping of linear velocity for ropes and cloth.

* Fixed signal handling in Linux.

* Access to bodies of the object or its parents via nodes.

* Fixed FontRich parser in GUI.

* Added support of font spacing in GUI.

* Changed the file format of terrains. Use utils/Upgrade/terrain.py script for upgrade.

* Non-physical PlayerActor supports friction.

* Added 'clear' console command.

* File searching in a separate thread (be aware that filesystem_reload is less safe now).

* Fixed HScroll and VScroll precision bug.

* Fixed crash by loading NodeReference without a node.

* Network system now works as a C++ plugin.

* Added support of Sixaxis gamepad (new script defines are available now: HAS_JOYSTICK, HAS_XPAD360 and HAS_SIXAXIS).

 

 

Notice on double-precision data types in scripts

 

Long data type has L/l postfix. Long and double data types don't consume additional memory in comparison with ordinary types, while dvec3 and dvec4 are quite heavy.

 

There are two useful preprocessor instructions: '#pragma no_long' and '#pragma no_double' is to treat all variables in old fashion (ints and floats); '#pragma warn_long' and '#pragma warn_double' is to block script compilation if there is a long or a double variable present.

 

Please be aware that if you leave your scripts unrevised, memory consumption will increase, while the performance will decrease!

 

Download links

 

Source version:

http://unigine.com/transfer/src/Unigine-20101101-src.zip (ZIP archive)

http://unigine.com/transfer/src/UnigineSDK-source-2010-11-01.exe (Windows installer)

 

Binary version:

http://unigine.com/transfer/binary/Unigine-20101101-bin.zip (ZIP archive)

http://unigine.com/transfer/binary/UnigineSDK-binary-2010-11-01.exe (Windows installer)

 

Tools pack can be downloaded from "Downloads" section of the portal: https://developer.unigine.com/fileserver/list/Tools

 

 

PS: files will be available in approx. 2 hours, uploading now

Link to comment

wow, motion blur is great!! but.... how can I turn it off?

 

System menu -> Render -> Motion blur

 

You can also tweak it per-world in the UnigineEditor: Render settings -> Postprocess

Link to comment

* Network system now works as a C++ plugin.

 

Now all applications that use Unigine network module are executed using main_x* file.

 

To run custom network-enabled applications you'll need to update launchers in the following way:

 

1. replace Network_x* with main_x*

2. add -extern_plugin <path to Network plugin>/Network option

 

For example:

 

old command that runs chat application was:

 

Network_x86d -system_script chat/unigine.cpp -network_config chat/config/chat_server.cfg

 

the new one:

 

main_x86d -system_script chat/unigine.cpp -network_config chat/config/chat_server.cfg -extern_plugin Network

Link to comment

well, seems new version has significant performance drop, run the same scene, forest, the old version renders about 36-38 fps, the new version only have 26 fps, about ~25% slower.

Link to comment

well, seems new version has significant performance drop, run the same scene, forest, the old version renders about 36-38 fps, the new version only have 26 fps, about ~25% slower.

 

Just in case: forest demo doesn't use new vegetation system so it's obsolete.

Link to comment

Just in case: forest demo doesn't use new vegetation system so it's obsolete.

 

Materials used in forest demo are based on mesh_stem_base + mesh_leaf_base, so I would expect that forest demo does use new vegetation system.

Link to comment

Hi all Unigine Community

 

Big thanks to Unigine Team for this excellent version with

so much improvment.Good Work :) :) :)

 

There is an exemple of SSDO ?? or any mention in UnigineManual

Link to comment

Big thanks to Unigine Team for this excellent version with

so much improvment.Good Work :) :) :)

 

Thank you! Yeah, the team worked hard to deliver it.

 

There is an exemple of SSDO ?? or any mention in UnigineManual

 

Simply turn on occlusion in render settings.

Link to comment

Here is benchmar result comparision of Sanctuary scene on the same hardware and with same unigine.cfg file:

old engine (20100907):

http://runserver.net/temp/compare/1.php

new engine (20101101):

http://runserver.net/temp/compare/2.php

 

Motion blur is enabled by default and can cause performance drop.

Moreover SSAO is more complex now especially when "Indirect term" is non zero.

Surface rendering performance should be better in new version also.

Link to comment

still a little performance drops when I turn off the motion blur option. but this can be ignored, it's only about 5% performance drops.

 

and When I set Indirect scale/power to 0, seems there is no performance gain..

Link to comment

There is an exemple of SSDO ?? or any mention in UnigineManual

 

All SSDO-related settings are described here: Tools > Render Settings > Occlusion.

You can also find Samples > render > occlusion_00 sample. And do not forget that Main menu > Render tab > Occlusion box should be checked to enable both ambient occlusion&indirect illumination.

Link to comment

Motion blur is enabled by default and can cause performance drop.

Moreover SSAO is more complex now especially when "Indirect term" is non zero.

Surface rendering performance should be better in new version also.

 

Disabling motion blur solves the problem and gives performance boost without noticeable picture change. Thank you.

ps. however old version still runs slightly faster (score 1892 vs 1785) but that is not an issue.

Link to comment

SSDO:

post-4-007429100 1288712132_thumb.jpgpost-4-052020400 1288712143_thumb.jpg

New vegetation system:

post-4-017391700 1288712155_thumb.jpgpost-4-009443300 1288712172_thumb.jpgpost-4-072936300 1288712226_thumb.jpg

 

Oh, very pretty! :) Great update! Lots of cool new stuff!

 

 

I noticed that when camera rotates around my character in third person, the motion blur blurs in both directions when I am only rotating in one direction using the mouse. You can see this effect in the character demo without any changes.

Link to comment
  • 2 weeks later...
×
×
  • Create New...