binstream Posted June 8, 2013 Share Posted June 8, 2013 Terrain Improvements Terrain data streaming is fully asynchronous now. It's also possible to force loading of a specified terrain region via Terrain::loadHeights() function with the specified bounding box. Added "progression" parameter for terrain LODs, that affects LOD switching distance: prev_distance + lod_distance * (lod_progression ^ lod_number); default value is 2.0. The terrain file format has been changed as well, please use the upgrade script: utils/Upgrade/terrain.usc. Landscape Plugin for UnigineEditor Landscape plugin allows to create huge seamless scenes containing virtually unlimited number of terrain objects (each one of them can be up to 16385x16385 units in size). Each terrain in the landscape is an independent object that has all the terrain features and can be modified in the same way. Besides, there is an opportunity of applying only required tiles of textures and masks right to the whole landscape or to any specific region. The plugin also takes care about optimal compression of textures. File System Speedup Added support for pre-cached file hierarchies: if the engine finds .ulist file in a directory, it stops scanning its contents (including nested directories) and use the list of files from the file instead. Thus the engine initialization time can be extremely reduced even with large assets database. There is a .ulist file generator available for your convenience: externs/bin/datalist.py. Don't forget to re-generate .ulist files, if you modify contents of a directory. Added background loading of images (with unpacking): engine.filesystem.loadImage() function. Added filesystem_clear console command to remove all loaded, but unused resources. Rescue Helicopter Simulator UNIGINE Engine has been using in training and simulation field for several years, so we've decided to make our own simulation demo. At ITEC 2013 in Rome we showcased the preview of a new rescue helicopter simulation. Features of the demo: Huge open space: 262x262 km Real geospatial data Urban terrain simulation Dynamic weather Large visibility distance: 40 km Supersonic camera speed Extremely detailed close-up view Advanced light scattering model Double precision of coordinates Volumetric clouds Day/night cycle We'll publish the video teaser quite soon, so you'll be able to see the details. Render Performance optimization of terrain rendering. The number of rendering groups has been increased to 8. Improved OpenGL core profile compatibility. Added support for PNG and TGA formats in Image::info() function. Added "Substitute normal" option for decal_deferred_base material (if enabled, only decal normals will be used, otherwise decal normals will be combined with underlying surface ones). Added "First frame" flag: it stops FPS counting and sets unlimited budget for Grass and Clutter generation. Added new ObjectDynamic object: it can render any type of geometry, with support for instancing and point/line/triangle rendering modes. This type of object requires custom shaders in order to work. Point/line/triangle rendering modes have been removed from ObjectMeshDynamic, use ObjectDynamic instead. Begin/end indexes of multi-surface ObjectDynamic and ObjectMeshDynamic objects can be changed. Render vegetation animation time can be changed via UnigineScript: engine.render.setAnimationTime(). Added detection of NVIDIA TITAN and Kepler-based Quadro cards. World Management Performance improvement for all engine resource managers (render, world and sound) on large (100k+) amounts of resources. ObjectGrass, ObjectMeshClutter and WorldClutter objects can intersect with the parent node even if they are placed inside a node reference. Added generation budget (per-object) for Grass and Clutter objects to avoid performance spikes: engine.world.setBudget() via scripts (in ms) or Render tab in UnigineEditor (in FPS). Objects with lower rendering group ID have higher priority when out of budget. Performance info on resource managers is available via EngineAnalyzer now. Grass and Clutter objects are checking parent terrain or mesh loading status to avoid lags on generation stage. UnigineScript Added Xml.setChildData() and Xml.getChildData() functions for convenient access to the child node data. Fixed bug with incorrect scoping of "new" operator. Arrays can be used as a function reference return values. C++ API Added access to ObjectDynamic. Access to Node and Object surface boundings can be obtained via getBoundMin|Max|Center|Radius|... functions. Added access to Render::FirstFrame and Render::CameraOffset parameters. New sample with editor nodes interaction. Added access to NodeDummy. Added access to Node data. Added access to load|saveWorld functions. GLAppQt sample supports Linux and MacOS systems now. GUI Fixed incorrect initial Z-order of widgets. WidgetDialogImage shows internal format info on ZLC images now. Text alignment parameter for text rendering in the visualizer has been flipped in Y direction. Support of point image filtration in Flash interface. Added Gui.setFocusedPermanent() function: 1 - font color will be overrided with global GUI focused color, if a widget is focused; 0 - font color will be unchanged if focused. Fixed bug with incorrect multiple object resizing in Flash. Fixed Interface plugin bug: disappearing of the window after video mode change in Mac OS X. Interface plugin can work correctly with -video_app null CLI option. Tools Added "Drop down" button in Nodes window of UnigineEditor: once pressed, all selected nodes will fall on the underlying geometry. Added support for new postfixes in imagedds.py script for pre-mipmapped images: _dm, _nm, _sm, _pm, _hm, _tm, _am, _em, _lm, _mm. It's possible to change mesh file for ObjectMeshClutter and ObjectMeshCluster in UnigineEditor without clearing their parameters. Correct resource saving outside the data directory via UnigineEditor. Added save() callback on world saving for UnigineEditor plugins. Fixed bug in UnigineEditor with incorrect automatic texture compression from "uncompressed" directory. Terrain editor can edit ZLC textures. Added First frame parameter into Tracker. Improved double precision support in Tracker transformations. Double-click on a property name field (with file flag set) will open file dialog in UnigineEditor. Updated icons in UnigineEditor. Added export/import plugins for Maya 2012, 2013 and 2014. Mobile Refactored Android UnigineActivity classes: now it's possible to call system or Java functions with up to three different arguments and get return value of all supported data types (int, float or String). Added hardware accelerometer support for Android and iOS devices. Added two simple samples for custom iOS applications. Other Added configurable physics simulation budget: engine.physics.setBudget() function. Fixed missing application icon in 64-bit Linux. Added support for double precision for Image down-scaling. Added Image::compare() function to compare regions of two images with the specified threshold. Added /largeaddressaware option for 32-bit Windows builds in order to be able to allocate up to 3 GB of memory on 32-bit systems. Updated .world and .node file format: please use upgrade.py script to upgrade your data. Download linksAll files can be found in "Downloads" section of the portal: https://developer.unigine.com/fileserver/index 1 Link to comment
milad.salehi Posted June 8, 2013 Share Posted June 8, 2013 So thanks, I am excited to sea video teaser ASAP. Link to comment
ulf.schroeter Posted June 8, 2013 Share Posted June 8, 2013 https://developer.unigine.com/forum/topic/1977-unigine-at-itec-2013-rome-italy/?p=11167 Link to comment
anton.stetz Posted June 8, 2013 Share Posted June 8, 2013 What about access to this cool demo? Maybe you give a some downsized version? I remember about 60 gb..... Although if you were to give access to the full version, I will gladly bought her a separate hdd 1 Link to comment
binstream Posted June 8, 2013 Author Share Posted June 8, 2013 The demo is still in the development, final version will be available in December. 1 Link to comment
anthony.mann Posted June 9, 2013 Share Posted June 9, 2013 Any hopes for PS4 or xbox one support? Not that we are serious about either of those platforms at this point. I'm just curious if they will be an option down the road! Great work on everything and thanks for the Maya 2014 support! :) Link to comment
nat.harrold Posted June 9, 2013 Share Posted June 9, 2013 I don't know where to begin... This is a huge update. I really am impressed with the feature list that you guys implement when you take on your own projects. 3 thumbs up! Link to comment
steve3d Posted June 9, 2013 Share Posted June 9, 2013 Looks this is another great update! And I have a question about ObjectDynamic. according to the info, it can support any type of mesh, but need custom shader, is that means If I want to use a special type of this object, I must create corresponding shader to each of these type, or I can still use default shader on it? and another question to ObjectDynamic, With this type of mesh, can I create a mesh with more than 4 attribute? like I want to add 4 more attribute to use with vertex shader, is it also possible? because I saw the function ObjectDynamic::addVertexHalf in ObjectDynamic.cpp, it only support 4 attribute, So I have this question. Link to comment
ulf.schroeter Posted June 9, 2013 Share Posted June 9, 2013 The default shaders expect a certain vertex format (though undocumented at the moment). So if you provide the same format it should be possible to use the default shaders which would be quite nice. Most probably problem starts when you provide a changed or extended custom vertex format. In this case I would expect that you must provide your own shader implementations for proper vertex data decoding. ObjectDynamic::addVertexHalf( int attribute, float[] values, int value_count ) allows you to provide a user-defined number of values per attribute (attribute = vertex entry) as far as I understand the source code. Link to comment
steve3d Posted June 9, 2013 Share Posted June 9, 2013 Thank you ulf, I won't change the first 4 attributes, I just need to extend few more attributes. and it there any sample for this new ObjectDynamic? Link to comment
werner.poetzelberger Posted June 10, 2013 Share Posted June 10, 2013 Thank you! At the demos specs: What is meant by: Real Geospatial Data? Do you mean, that you put in height information from DEMs? Or is there a new import format? Geotiff probably? Best. Werner Link to comment
anthony.mann Posted June 10, 2013 Share Posted June 10, 2013 Thank you! At the demos specs: What is meant by: Real Geospatial Data? Do you mean, that you put in height information from DEMs? Or is there a new import format? Geotiff probably? Best. Werner +1 Link to comment
binstream Posted June 11, 2013 Author Share Posted June 11, 2013 Any hopes for PS4 or xbox one support? Not that we are serious about either of those platforms at this point. I'm just curious if they will be an option down the road! Great work on everything and thanks for the Maya 2014 support! :) We are working on getting access to devkits now. Link to comment
binstream Posted June 11, 2013 Author Share Posted June 11, 2013 Thank you! At the demos specs: What is meant by: Real Geospatial Data? Do you mean, that you put in height information from DEMs? Or is there a new import format? Geotiff probably? Best. Werner Geospatial data (elevation and landcover) was converted with GlobalMapper and refined with WorldMachine afterwards. Link to comment
binstream Posted June 11, 2013 Author Share Posted June 11, 2013 Here is the video from the demo: https://developer.unigine.com/forum/topic/2075-rescue-helicopter-demo/ Link to comment
anthony.mann Posted June 11, 2013 Share Posted June 11, 2013 We are working on getting access to devkits now. This is awesome news! I'm curious, since Oculus Rift is now fully supported, would that port over to PS4 and xbox one support? I'm not sure how they plug in, but I'm curious if that would be an option. Link to comment
anthony.mann Posted June 11, 2013 Share Posted June 11, 2013 Geospatial data (elevation and landcover) was converted with GlobalMapper and refined with WorldMachine afterwards. Thanks for the tip on using GlobalMapper, I'll give it a try. I'm curious where you get your geospatial data from? I've always used this: http://viewer.nationalmap.gov/viewer/. Is there something better? Link to comment
danni.coy Posted June 12, 2013 Share Posted June 12, 2013 Really happy with this update, most promising changes in a while. Small quibble would it be possible to split data into a platform agnostic download, We have some linux boxes and some windows boxes here and it's a lot of extra download for a few extra files. Link to comment
ivan.cuevas Posted June 12, 2013 Share Posted June 12, 2013 Great update :) but... Added new ObjectDynamic object: it can render any type of geometry, with support for instancing and point/line/triangle rendering modes. This type of object requires custom shaders in order to work. Point/line/triangle rendering modes have been removed from ObjectMeshDynamic, use ObjectDynamic instead. Begin/end indexes of multi-surface ObjectDynamic and ObjectMeshDynamic objects can be changed. Can you provide a sample using ObjectDynamic and OBJECT_DYNAMIC_MODE_LINES? I'm afraid I don't understand the shaders/particles_00/01 sample and the ObjectDynamic documentation is not completed yet. Thanks. 1 Link to comment
frustum Posted June 23, 2013 Share Posted June 23, 2013 Great update :) but... Can you provide a sample using ObjectDynamic and OBJECT_DYNAMIC_MODE_LINES? I'm afraid I don't understand the shaders/particles_00/01 sample and the ObjectDynamic documentation is not completed yet. Thanks. Check the lines_00 sample. shaders.zip Link to comment
Recommended Posts