binstream Posted December 10, 2015 Share Posted December 10, 2015 UNIGINE 2.1.1: UUSL Improvements, SDK Browser Usability, and Bugfixes Key Changes Added Port Angeles demo Improved UUSL consistency Extended C++/C# API Improved SDK Browser usability Added Grass and Clutter samples Bugfixes This is mainly a maintenance release. Port Angeles Demo We introduced the Port Angeles demo at SIGGRAPH Asia a year ago, and now it is available for download to all UNIGINE Pro and UNIGINE Sim customers via the SDK Browser. The demo has the following features: Highly detailed terrain (2500 square kilometers) based on real geospatial data Road network based on vector geodata (OSM) Dynamic sky with volumetric clouds and a day-night cycle Multiple interactive modes Airfield illumination We suggest the following (or better) hardware for the best experience in this demo: CPU: Intel Core i5-4670 (Haswell 4th generation) or faster RAM: 8 GB GPU: NVIDIA GeForce GTX Titan / 780 or faster VRAM: 3 GB SSD disk, at least 10 GB free space Renderer Added the following console commands for better SSAO control: render_ssao_resolution renders SSAO in half (0) or full (1) resolution. render_ssao_cavity disables (0) or enables (1) cavity. render_ssao_quality sets the SSAO quality: 0 - use 4 samples, 1 - use 8 samples, 2 - use 16 samples, 3 - use 32 samples. Improved shadows performance. Fixed emission compensation for sRGB. Fixed fading for LightOmni and LightProj sources. Removed the render_rwtextures console command, the USE_RW_TEXTURES define should be used instead (enabled by default for Windows/Linux, disabled for OS X). Changed noise pattern for shadows. Removed the render_optimization_cleargbuffer and render_optimization_normalbuffer console commands, these are now always enabled. Fixed central screen rendering for AppSurround mode with TAA enabled. Changed the render_show_textures behavior: 0 - all buffers are hidden. 1 - shows a few most important targets, including G-buffer, refraction, SSAO, etc. 2 - shows all rendering targets. Fixed water rendering in stereo mode. UUSL Improvements Unified UNIGINE Shader Language (UUSL) has been improved in terms of consistency and ease of use. Added the ability to pass textures to functions as arguments: TEXTURE_OUT(NUM) TEXTURE_OUT_2(NUM,NUM) TEXTURE_OUT_3(NUM,NUM,NUM) TEXTURE_OUT_4(NUM,NUM,NUM,NUM) TEXTURE_IN(NAME) TEXTURE_IN_2(NAME,NAME) TEXTURE_IN_3(NAME,NAME,NAME) TEXTURE_IN_4(NAME,NAME,NAME,NAME) TEXTURE_IN_CUBE(NAME) TEXTURE_IN_3D(NAME) TEXTURE_IN_ARRAY(NAME) TEXTURE_IN_SHADOW(NAME) TEXTURE_IN_ARRAY_SHADOW(NAME) TEXTURE_IN_CUBE_SHADOW(NAME) Removed TEXTURE_DEFERRED_RECT() and TEXTURE_LOAD_ZERO() textures. Removed NOISE_FLOAT() function. Added a bunch of intrinsic functions: getViewDirection() returns the current viewing direction. min3() returns the smallest of the first three vector components. min4() returns the smallest of the four vector components. nrand() returns a random value within the range of [0;1]. nrand() returns a float2 vector with random values within the range of [0;1]. nrandTiled() returns a random value within the range of [0;1] divided by the tiled seed. nrandTiled() returns a float2 vector with random values within the range of [0;1] divided by the tiled seed. nrand2Tiled() returns a float2 vector with random values within the range of [0;1] divided by the tiled seed (For the second seed, the function shifts the vector: float2(x,y) -> float2(y,x)). nrandTAA() returns a value (that is changed each frame) within the range of [0;1] divided by the tiled seed. nrandTAA() returns a float2 vector with random values (that is changed each frame) within the range of [0;1] divided by the tiled seed. nrand2TAA() returns a float2F vector with random values (that is changed each frame) within the range of [0;1] divided by the tiled seed (For the second seed, the function shifts the vector: float2(x,y) -> float2(y,x)). nrandTemporal() returns a value (that is changed each frame) within the range of [0;1] divided by the tiled seed. nrandTemporal() returns a float2 vector with random values (that is changed each frame) within the range of [0;1] divided by the tiled seed. nrand2Temporal() returns a float2 vector with random values (that is changed each frame) within the range of [0;1] divided by the tiled seed (For the second seed, the function shifts the vector: float2(x,y) -> float2(y,x)). Expanded the Direct3D API flow control attributes: MAX_VEC4(value) -> max4(value) MAX_VEC3(value) -> max3(value) MAX_VEC2(value) -> max2(value) MIN_VEC2(value) -> min2(value) POW_2(value) -> pow2(value) ANY(value) -> any(value) ATAN2(value) -> atan2(value) ABS_NOISE_FLOAT(float2 seed) -> nrand(float2 seed) dot_fixed(V0,V1) -> dotFixed(V0,V1) lerp_fixed(V0,V1,FACTOR) -> lerpFixed(V0,V1,FACTOR) BRANCH -> branch LOOP -> loop UNROLL -> unroll FLATTEN -> flatten EARLYDEPTHSTENCIL -> earlydepthstencil Changed the input and output structures semantics: IN_POS -> IN_POSITION IN_VEC(NUM) -> IN_DATA(NUM) IN_GEOM_VEC(NUM,INDEX) -> IN_GEOM_DATA(NUM,INDEX) INIT_OUT_COLOR -> INIT_COLOR(TYPE) INIT_OUT_DATA(TYPE,NUM) -> INIT_MRT(TYPE,NUM) INIT_OUT_DEPTH -> INIT_DEPTH OUT_VEC(NUM) -> OUT_DATA(NUM) OUT_DATA(NUM) -> OUT_MRT(NUM) OUT_GEOM_VEC(NUM) -> OUT_GEOM_DATA(NUM) Added functions for scattering adjustments: hazeScattering() calculates the haze in the scattering mode. hazeForward() calculates the haze in the forward mode. hazeAlpha() calculates the haze transparency. hazeSolid() calculates the haze in the solid mode. hazeForwardSimple() calculates the haze for objects rendered in the forward mode, can be used in the vertex shader, turns objects to transparency. Removed the s_time() parameter. Added the s_perspective (the perspective camera), s_orthographic (the orthographic camera), s_frame (the current frame number) and s_taa_offset (TAA jittering) parameters. C++ and C# API Added basic access to physics: Body, BodyDummy and PhysicalTrigger interfaces. Added set/getNormal() method to ObjectBillboards that enables orienting a specific billboard (works only if the billboards_impostor_base material is assigned). Added isFlipped() method to the Render class. Old Texture::isRenderFlipped() method has been removed. UnigineScript Added set/getNormal() method to ObjectBillboards that enables orienting a specific billboard (works only if the billboards_impostor_base material is assigned). Added set/getSSAOBlur() method to the engine.render class that sets/returns the SSAO blur value. Added set/getSSAOCavityScale() method to the engine.render class that sets/returns the SSAO cavity intensity. Added set/getMotionBlurDepthFalloff() method to the engine.render class that sets/returns the value of the motion blur effect depending on the fragments depth (takes effect only if render_motion_blur_quality is set to 1). SDK Browser Added "Remember me" option on the login. Added "Off","TAA", and "FXAA" antialiasing options for projects in 2.1+ SDKs. Better support for OS X El Capitan. Added "Video Debug" option that enables the debug context for OpenGL or DirectX 11. Improved offline license activation usability. Improved behavior in case of a unstable internet connection. Only add-ons compatible with the default SDK will be displayed. Various bugfixes. Samples Added more samples on built-in objects to the Samples demo. Grass: Clutter: Documentation Added a FAQ on UUSL. Added new tutorials on creating of custom shaders for forward and post-processing rendering passes. Added an article on the post_sensor material. Added Chinese translations of the following articles: Getting Started. Project Workflow. SDK Browser. Virtual World Structure. World Management. Physics. Nodes, Objects, Effects, Decals, Players and Worlds. Execution Sequence. Setting Up Development Environment. Programming Overview. Double Precision of Coordinates. Performance Analyzer. Mesh File Formats. Other Changes Improved data streaming on extremely complex projects. Added Drop to ground to ObjectBillboards GUI allowing you to automatically place billboards onto the surface. Added adjustable Up direction for ObjectBillboards. Fixed the ObjectText crash on video_restart. Fixed crashes on very fast movements over detailed terrains. Added support for importing both morph targets and skinned mesh animations from FBX files. Reduced memory allocations and fragmentation. Fixed GLAppSDL sample for OS X. Fixed copy and paste in engine console on Linux. Reduced Syncker UDP packet size to 1 Kb. Changed the way of ObjectMeshSkinned synchronization via Syncker. Transformations specified in the code and physics applied to the bones won't be synchronized, only the animation frames will. You must have a single file containing all the animations and specify the path to it via setAnimName(). Various bugfixes. How to Get the Update To install the 2.1.1 update, use SDK Browser or get a standalone build at the downloads section. Link to comment
silent Posted December 10, 2015 Share Posted December 10, 2015 Known Issues Engine (2.1.1, release-2.1.1-87d4115): Multiple reflective surfaces in scene can cause black screen rendering with TAA disabled. Warning X4000 in render_deferred.frag/deferred_world.frag shaders after shaders quality switch from High to Low from system menu. Editor (2.1.1, release-2.1.1-87d4115): unused variable "Nodes::Object::Billboards::Billboards::drop_b" on Editor load. Console::get_variable(): can't find "render_taa" variable error message in console when rendering mode is changed (F2 / F3 / F4 hotkeys). SDK Browser (1.5, build 4135): Demos and Addons from 2.1 version will become unusable in SDK Browser. Solution 1: manually remove addons and demos directories at the SDK Browser's storage folder (Options -> Storage Path) and download them again from SDK BRowser. Solution 2: redownload and reinstall 2.1 standalone SDK from developer portal. Sometimes buttons like "Run" will not react on click action. Creating a new project while downloading and installing some package can result in SDK Browser crash. Common: Material::load(): can't read "perspective" parameter in "render_filter_scattering" material error during some samples loading (for example, render/auxiliary_00). How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN Link to comment
renato.semadeni Posted December 11, 2015 Share Posted December 11, 2015 Hi there I compiled our main with the new 2.1.1 lib. So far, no problems. The debug version runs without any problems, but the release version opens a window and showing me a Unigine fatal error. I attached it to the message. Secondly, is it right, that the show_fps type changed in the unigine.cfg file? In the release version it expects a bool instead of the previous int... kind regards Renato Link to comment
silent Posted December 11, 2015 Share Posted December 11, 2015 renato.semadeni Please, make sure that you are linking binary to the latest Unigine library from 2.1.1. show_fps commad have 3 values (0 / 1 / 2) for several releases. How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN Link to comment
renato.semadeni Posted December 11, 2015 Share Posted December 11, 2015 Hi Andrey You are writing about those issues when TAA is disabled. Unfortunately, we are currently bound to use FXAA. And what I observe is, that with 2.1.1 the light effects changed and a shadow is following me. Best seen when we turn around. The pictures have been taken, with the same simulation position. Are those effects related to the known issues? And if we could use TAA, would those be eliminated? Or would we also have to change the environment lights now? Kind regards, Renato Link to comment
silent Posted December 11, 2015 Share Posted December 11, 2015 renato.semadeni All these screenshots are from your custom App implementation? How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN Link to comment
renato.semadeni Posted December 11, 2015 Share Posted December 11, 2015 Yes, this is correct. But it seems you guys fixed the TAA problem, right? Did something change with the node handling, because it looks like the sun is rotating with my eyepoint... Link to comment
binstream Posted December 11, 2015 Author Share Posted December 11, 2015 There are known issues with custom Apps. We have been worked on them for a while already (not included into 2.1.1), the viewport/camera refactoring will fix these issues in 2.2. Link to comment
renato.semadeni Posted December 11, 2015 Share Posted December 11, 2015 Hi Denis So we stick with the 2.1 Version for the time being. Thanks and kind regards, Renato Link to comment
s.moussa Posted December 14, 2015 Share Posted December 14, 2015 Hi everyone, is it still possible to access to the "editor mode" in the 2.1.1 demos (port Angeles, City traffic .. etc) ? I understand that the " editorLoad " not already running since 2.0... how to do? Thx Link to comment
silent Posted December 15, 2015 Share Posted December 15, 2015 s.moussa It is surely possible, but will require some additional steps. To open Unigine Editor in City traffic demo (for example) you will need to do the following: Download City Traffic demo; Download and install Game Framework add-on. Make sure that SDK version that you are currently using is match the addon and demo version (should be 2.1 for all the files); In the Projects tab create a new project with enabled Game Framework add-on; In the Samples -> Demos click Open Folder for City Traffic demo. Directory with city traffic will be opened; Change path to the root directory of the demo (something like E:\USDK\demos\traffic_demo_2.1) where add-ons, demos, editor folder are located; Copy demos folder inside your project's data directory; Start launch_editor.bat from the root directory of your project; Go to the Plugins -> Manage... and enable Game Framework add-on; In Game Framework plugin window select Open Game and select path to thedata/demos/traffic/driving.game; After that you can select driving_level via double-click from the list of all available levels. If you have errors when you are trying launching level from Game Framework via Play button, please, check the Settings. Binary name and Binary fields should match (for example, Binary name - main_x64 and Binary - x64). We plan to add more convinient 1-click solution to SDK Browser in the future updates that will do all these steps automatically. Thanks! How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN Link to comment
s.moussa Posted December 15, 2015 Share Posted December 15, 2015 Hi Andrey, :blink: it doesn't seem very practical ! I'll try it... thanks anyway! Link to comment
demostenes Posted December 15, 2015 Share Posted December 15, 2015 Hi Andrey, :blink: it doesn't seem very practical ! I'll try it... thanks anyway! Uh, I had same issue yesterday, I tried to open Port Angeles demo in editor mode and I failed. These demos have huge value for us as sample how work with engine, value in play mode is almost zero. I will try steps above :blink: Link to comment
ivan.cuevas Posted December 21, 2015 Share Posted December 21, 2015 We do the following: Copy portangeles_demo_2.1.1 in sdks/<unigine_version>/data Open any sample in editor mode Open world and select portangeles_demo_2.1.1/demos/portangeles world Link to comment
demostenes Posted December 21, 2015 Share Posted December 21, 2015 We do the following: Copy portangeles_demo_2.1.1 in sdks/<unigine_version>/data Open any sample in editor mode Open world and select portangeles_demo_2.1.1/demos/portangeles world This does not work for me, editor does not see portangeles worldfile to open. Link to comment
ivan.cuevas Posted December 22, 2015 Share Posted December 22, 2015 We have done this in different machines without problems. Tested in Windows 8.1. I've attached two screenshots, maybe there is something not well explained by me side. Link to comment
Recommended Posts