Jump to content

UNIGINE 2.2: New Geometry Water, Unified API, Geodetic Improvements


photo

Recommended Posts

Key Changes

  • New simulation-friendly water with geometric waves (Beaufort scale 0-12)
  • Introduced tiled rendering optimizations
  • Introduced area lights
  • Planar reflections
  • Improved shadows
  • Unified C++/C#/UnigineScript API with full access to the engine features
  • New C++/C# app logic system
  • Improved Qt integration template
  • Support for Visual Studio 2015
  • Upgraded Oculus plugin to 0.8 Oculus SDK
  • Improved accuracy of geodetic math
  • Introduced GeodeticPivot object (experimental)
  • Editable demos via SDK Browser
  • SimLights add-on for airfield lights
  • New Oil Rig demo

oil_rig_sm.jpg

 

New Global Water

 

Introducing new ObjectWaterGlobal object (instead of old ObjectWater) featuring geometric waves featuring adaptive hardware tessellation (Beaufort scale from 0 to 12).

One of the key features is ability to perform multiple intersection tests with the water surface due to fine CPU/GPU sync. High precision of such tests even on very rough sea states allows correct vessels placement, visibility tests, and height above the surface requests. The new object is fully compatible with multi-channel rendering via Syncker system.

 

 

There is also high-quality PBR-based shading and screen space reflections on the water.

 

Waterline and subsurface scattering:

 

waterline_sm.jpg

 

Dynamic foam:

 

water2_sm.jpg

 

Underwater rendering:

 

bottom_sm.jpg

 

Some other features are scheduled for the 2.3 update:

  • 3D ship wake effects (bow and stern waves) with physical interaction
  • Underwater caustics
  • Wave height falloff

Here is the preview video (work in progress, not final quality):

 

 

Tiled Rendering Optimizations

 

Introducing tiled rendering and lights batching optimizations. With those enabled, closest point lights are grouped and rendered in batches, decrasing the number of expensive DIP calls, and increasing performance. Sub-pixel lights are also not rendered with this optimization. In our tests, we have seen upto 40% better performance (on scenes with 100s of light sources).

 

162 lights rendered, 445 DIP calls:

 

tiled_render_off_sm.jpg

 

156 lights rendered, 326 DIP calls (-26%):

 

tiled_render_on_sm.jpg

 

There are two console variables controlling the optimization:

  • render_lights_tile_grid_size sets grid size in tiles per axis (8 by default)
  • render_lights_max_per_batch sets maximum number of lights per batch call (0 disables the optimization, by default)

Too large values can provide negative results due to increased CPU load. The optimization works only for omni lights with point shape and without shadows.

 

Area Lights

 

Introducing area lights, from now on LightOmni and LightProj support the following shapes: point (default), sphere, capsule, rectangle. Ellipsoid-shaped LightOmni has been removed. These new shapes let you create area lighting that produces physically correct specks on the

Link to comment

Known issues

Engine

  • AppSurround, OpenGL: possible artifacts on viewport borders [En-1060]
  • Linux: AppWall viewports misaligned. Rendering with artifacts. [En-1067]
  • Can't start C# samples from VS after rebuilding samples projects [En-1219] - fixed
  • Possible stripe artifacts on textures using Detail Map: triplanar [En-1225] - fixed
  • Visual Studio 2015: multiple warnings while rebuilding engine from sources.
  • C++ API: getBody() never returns NULL. - fixed
  • C# API: release() method has no effect. - fixed
  • C# API: world.getNodes() causes crash. - fixed
  • C# API: node downcasting doesn't work. - fixed
  • Water: EnvironmentProbe can work incorrectly when it placed inside water. [En-1134]
  • Water: Artifacts on AMD GPUs (sliced glare). [En-1125]
  • Water: No shadows for objects with render_filter_wet post material [En-1100]
  • Panorama: No leaf synchronization (render_panorama*). [En-1158]

</p>
Editor

  • Mac: Incorrect main viewport rendering with retina enabled. [Ed-392]

Samples & Demos

  • Broken selector for SimLight addon samples [Das-292] - fixed
  • Broken "concrete_n.dds" texture in MaterialBalls sample [Das-278] - fixed
  • Incorrect SSAO settings in /samples/render/oblique_00 [Das-296]
  • Clutter in clutter_terrain_example sample rendered only after first camera movement [Das-266] - fixed
  • Incorrect camera position in vegetation_leave_types sample [Das-282] - fixed

SDK Browser (1.6)

  • Project previews disappearing sometimes on heavy HDD usage. [bro-863]
  • Left mouse click is not detecting sometimes when pressing on project / samples / demos buttons (Run / Edit / ...). [bro-704]
  • Running C++ project from Visual Studio / XCode (that was made from demo) will result in incorrect defines passed on engine startup. Missing "RELEASE" defines for some demos. [bro-874]
Link to comment

As always, great job guys!

Love new water system, waiting for the incomming ship wakes :D

Underwater scenes looks a little bit too dark even when you are near to water line, it's possible to change black color by another one?

Link to comment
I am looking for Washington demo (cigi), where I'll find it?

 

Jaroslaw,

 

Unfortunately Washington demo wasn't migrated to Unigine 2.

 

Sorry for inconvenience.

Link to comment
×
×
  • Create New...