binstream Posted November 1, 2010 Share Posted November 1, 2010 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
pascal.winistoerfer Posted November 1, 2010 Share Posted November 1, 2010 *downloading* ... can't wait to test the new vegetation system! excelent work, it's really a long list this time :) regards Link to comment
cory.sharplin Posted November 2, 2010 Share Posted November 2, 2010 Looking forward to this one, thanks UNIGINE! Also, cheers for adding Maya 2011 plugins :) Thanks again.. Link to comment
steve3d Posted November 2, 2010 Share Posted November 2, 2010 wow, motion blur is great!! but.... how can I turn it off? Link to comment
binstream Posted November 2, 2010 Author Share Posted November 2, 2010 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
Guest anet Posted November 2, 2010 Share Posted November 2, 2010 * 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
steve3d Posted November 2, 2010 Share Posted November 2, 2010 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
binstream Posted November 2, 2010 Author Share Posted November 2, 2010 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
ulf.schroeter Posted November 2, 2010 Share Posted November 2, 2010 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
alexei.garbuzenko Posted November 2, 2010 Share Posted November 2, 2010 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 Link to comment
tato.maike Posted November 2, 2010 Share Posted November 2, 2010 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
binstream Posted November 2, 2010 Author Share Posted November 2, 2010 SSDO: New vegetation system: Link to comment
binstream Posted November 2, 2010 Author Share Posted November 2, 2010 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
ulf.schroeter Posted November 2, 2010 Share Posted November 2, 2010 Especially vegetation animation, mesh fading and motion blur are really great ! Link to comment
frustum Posted November 3, 2010 Share Posted November 3, 2010 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
steve3d Posted November 3, 2010 Share Posted November 3, 2010 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
manguste Posted November 3, 2010 Share Posted November 3, 2010 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
alexei.garbuzenko Posted November 3, 2010 Share Posted November 3, 2010 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
michael.zhang Posted November 5, 2010 Share Posted November 5, 2010 SSDO: New vegetation system: 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
ulf.schroeter Posted November 19, 2010 Share Posted November 19, 2010 UNIGINE Script .... * Added Unigine::Quadrulple container. .... cannot find anything in documentation or source. Has it really been added ? Link to comment
frustum Posted November 20, 2010 Share Posted November 20, 2010 cannot find anything in documentation or source. Has it really been added ? data/core/scripts/tuple.h: class Unigine::Quadruple Link to comment
Recommended Posts