Jump to content

UNIGINE 2.1.1


photo

Recommended Posts

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

 

port_angeles_sm.jpg


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

port_angeles2_sm.jpg

 

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

port_angeles3_sm.jpg

 

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:
  • 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:

samples-grass_sm.jpg

 

Clutter:

samples-clutter_sm.jpg

 

 

Documentation

 

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

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:

Link to comment

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

post-1459-0-79104100-1449834471_thumb.png

Link to comment

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

post-1459-0-25103700-1449837583_thumb.png

post-1459-0-40085200-1449837619_thumb.png

post-1459-0-89241500-1449837633_thumb.png

post-1459-0-99176400-1449837647_thumb.png

Link to comment

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

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

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

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:

Link to comment

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

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

 

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
×
×
  • Create New...