API Migration
Major Changes
Better Intersection Detection for Landscape Terrain#
We have significantly improved intersection detection for the Landscape Terrain. Along with a set of optimizations the algorithms have changed.
We have improved the algorithm of bicubic filtering with an optimized data reading operations on CPU. Bicubic filtering is now controlled per Landscape Layer Map.
Intersection detection algorithm has become faster and much more accurate. The End Precision value is removed as the updated algorithm now always converges to a finite and accurate solution.
Intersections for rays cast from under the terrain surface are now detected properly. There'll be no false-positive intersection detection for rays cast perpendicularly to the terrain surface and no more false-positives along the edges of layer maps.
All related changes are listed below.
ObjectLandscapeTerrain Class#
UNIGINE 2.14 | UNIGINE 2.14.1 |
---|---|
setIntersectionPrecisionEnd() | Removed. |
getIntersectionPrecisionEnd() | Removed. |
setIntersectionPrecisionBegin() | Renamed as setIntersectionPrecision() |
getIntersectionPrecisionBegin() | Renamed as getIntersectionPrecision() |
setCollisionBicubicFilter() | Removed. Use setIntersectionBicubicFilter() instead. |
isCollisionBicubicFilter() | Removed. Use isIntersectionBicubicFilter() instead. |
setIntersectionBicubicFilterHeight() | Removed. Use setIntersectionBicubicFilter() instead. |
isIntersectionBicubicFilterHeight() | Removed. Use isIntersectionBicubicFilter() instead. |
setIntersectionBicubicFilterNormal() | Removed. Use setIntersectionBicubicFilter() instead. |
isIntersectionBicubicFilterNormal() | Removed. Use isIntersectionBicubicFilter() instead. |
LandscapeFetch Class#
The way of fetching terrain data and making intersection requests has changed, now the position for which the data is to be obtained as well as the starting and ending point of the intersection ray are now controlled by separate LandscapeFetch properties, instead of specifying the corresponding coordinates per each function call.
UNIGINE 2.14 | UNIGINE 2.14.1 |
---|---|
|
|
Here is the complete list of changes for the LandscapeFetch class:
UNIGINE 2.14 | UNIGINE 2.14.1 |
---|---|
getTangent() | Removed. |
getBinormal() | Removed. |
setPrecisionEnd() | Removed. |
getPrecisionEnd() | Removed. |
setPrecisionBegin() | Renamed as setIntersectionPrecision() |
getPrecisionBegin() | Renamed as getIntersectionPrecision() |
setBicubicFilterHeight() | Removed. Use setIntersectionBicubicFilter() instead. |
isBicubicFilterHeight() | Removed. Use isIntersectionBicubicFilter() instead. |
setBicubicFilterNormal() | Removed. Use setIntersectionBicubicFilter() instead. |
isBicubicFilterNormal() | Removed. Use isIntersectionBicubicFilter() instead. |
fetchForce() | Set of arguments changed. |
fetchAsync() | Set of arguments changed. |
intersectionForce() | Set of arguments changed. |
intersectionAsync() | Set of arguments changed. |
fetchForce() | Set of arguments changed. |
fetchAsync() | Set of arguments changed. |
intersectionForce() | Set of arguments changed. |
intersectionAsync() | Set of arguments changed. |
New Functions
LandscapeLayerMap Class#
LandscapeMapFileCreator Class#
You can now set filtering type to be used for image downscaling performed for LODs of the specified file data type of the Landscape Terrain when creating a new layer map.
UNIGINE 2.14 | UNIGINE 2.14.1 |
---|---|
run() | Return value changed. |