2022.0
New featureLuciadRIA
New featureLuciadRIA
New featureLuciadRIA
You can now enable GPU texture compression on TileSet3DLayer
for OGC 3D Tiles mesh data.
This can greatly reduce the amount of GPU memory needed, improve performance and stability.
Enable when displaying meshes with large textures, such as reality capture reconstructions. By default, texture
compression is enabled.
Disable when displaying meshes with lookup textures, such as CAD models.
If your environment does not support GPU texture compression, setting the flag has no effect. Use the "Device Support" sample to verify if texture compression is supported on your device.
New featureLuciadRIA
HTMLVideoElement
as a texture on a mesh. For more information,
see MeshCreateOptions.image
.
See the
how-to guide on visualizing 3D icons
for more information on how to use video as texture.
New featureDefense Symbology
MilitarySymbologyPainter#createSymbolImage
.
New featureDefense Symbology
ImprovementLuciadRIA
ImprovementLuciadRIA
performanceHints
property has been added to
FeatureLayerConstructorOptions
. It provides settings that can dramatically improve the
layer's data loading performance in some situations. Please refer to the API reference documentation for more
information on when these settings can be applied.
ImprovementLuciadRIA
It can be used to distinguish pixels that are part of front-facing triangles. This expression for example makes back-facing pixels transparent:
map.layerTree.addChild(new TileSet3DLayer(model, {
transparency: true,
meshStyle: {colorExpression: ifThenElse(frontFacing(), defaultColor(), multiply(defaultColor(), color("rgba(255, 255, 255,
0.3")))}
}));
Note that if you just want to hide back-facing triangles, it's better to use the facetCulling
option.
map.layerTree.addChild(new TileSet3DLayer(model, {
meshStyle: {facetCulling: FacetCullingType.BACKFACE_CULLING}
}));
ImprovementLuciadRIA
ImprovementLuciadRIA
RIA-3936
ImprovementLuciadRIA
RIA-3762
ImprovementLuciadRIA
You can now set WebGLMap.maxMemoryUsageHint.cpuMB
and
WebGLMap.maxMemoryUsageHint.gpuMB
to values higher than 4000MB.
Previously, this would be capped at 4000MB. This allows you to use more memory in your application.
It is intended for software that is run on high-end clients.
It is intended for use on high-end devices with enough available memory. Setting this number too high can cause instability.
ImprovementLuciadRIA
We replaced the PointCloudStyle.scalingMode
option with PointCloudStyle.pointSize
,
which gives you more control over the point cloud dot size.
You can still use the existing scalingMode
option for backwards compatibility.
ImprovementLuciadRIA
RIA-3775
LuciadRIA now supports Hexagon Smart Point Clouds (HSPC) in 2D EPSG references.
Before, we supported only HSPC datasets in 3D geocentric (EPSG:4978) coordinates, and non-referenced datasets.
Note that we still recommend to process your HSPC data in 3D geocentric coordinates, for optimal streaming performance.
When relying on Hexagon's HSPC conversion functionality available in myVR
, you can do this for example with these conversion parameters: mHSPCConverter --source_projection EPSG:7415 --output_projection EPSG:4978
.
ImprovementLuciadRIA
We did various improvements to our point cloud rendering visual quality and performance, in particular for Hexagon Smart Point
Cloud (HSPC).
For details, see the documentation of
PointCloudStyle
and the documentation articles Tuning performance and visual quality of point clouds and Visualize Hexagon Smart Point Cloud (HSPC) data.
Performance
We improved raw painting performance of all point clouds.
Your map will be more interactive and fluent when loading lots of points.
We added a new option PointCloudStyle.pointShape
which influences how points are drawn, and how overlap between points is handled.
When using SPHERE
, overlap result in a high quality visual coverage of your data, but at the cost of performance.
We propose to use DISC
when you have a small point size as it improves performance.
The default is DISC
for HSPC, SPHERE
for OGC 3D Tiles.
World-sized dots
Next to the existing PIXEL_SIZE
and ADAPTIVE_WORLD_SIZE
, there is a new scaling mode
WORLD_SIZE
. This mode is particularly useful for HSPC. It allows points to grow larger when you get close to them,
based on a physical size in meters. This helps creating a visually closed surface up-close instead of having interspersed
small dots.
For details see the pointSize
property on PointCloudStyle
.
Incremental and partial tile painting
We now display HSPC point cloud tiles partially, based on their level-of-detail.
This avoids highly visible transitions between tiles of different level-of-detail.
This is automatically enabled for HSPC.
Gap-filling post-processing effect
We added an optional point cloud post-processing effect that intelligently fills up small gaps between points.
This helps creating a visually closed surface by in-painting gaps of 1 or 2 pixels.
You can enable it using the gapFill
property on PointCloudStyle
.
ImprovementLuciadRIA
RIA-1437
WFSFeatureStore
and
UrlStore
will be propagated to the underlying codec on each query request.
Also, it is possible now to specify in GeoJsonCodec
and
GMLCodec
the reference of decoded shapes, which will override the default reference from data that is being decoded.
ImprovementLuciadRIA
RIA-3617
IconStyle
: with IconStyle.modulationColor
it is now possible
to configure a color that is modulated with the icon. For example using an icon with gray-scale colors and a
red modulation color will result in a resulting painted icon with red hues. Note that this will only be applied
on a WebGL map.
ImprovementLuciadRIA
Icon3DStyle
in order to allow for correct rendering
of meshes with transparent components. This should be set to true when a mesh either has a color or texture with an
alpha channel less than 1.0.
Note that setting it to true might impact performance.
Bug fixLuciadRIA
RIA-1016
FeaturePainter.paintLabel()
or
Controller.onDrawLabel()
are not displayed on the WebGLMap,
if the painter or controller does not also draw bodies for label shapes.
Bug fixDefense Symbology
RIA-3975
Upgrade considerationLuciadRIA
fast_float
library version 3.4.0
has been added.
This library is used to parse floating point values from strings.
Upgrade considerationLuciadRIA
Upgrade considerationLuciadRIA
RIA-3960
zlib
library has been updated to v2.1.12
.
Upgrade considerationLuciadRIA
myVRPointCloud
, jsoncpp
, pdqsort
, and zstd
to support Hexagon Smart Point Cloud (HSPC). These new dependencies require no code changes.
Upgrade considerationLuciadRIA
@luciad/ria/shape/format/MGRSPointFormat
and
@luciad/ria/shape/format/GARSPointFormat
have been moved to LuciadRIA's
Defense Symbology component. They have also been renamed. You can now find these in
@luciad/ria-milsym/text/mgrs/MGRSFormat
and
@luciad/ria-milsym/text/gars/GARSFormat
.
Additionally, the GARSFormatPrecision
, MGRSFormatPrecision
and
MGRSFormatType
enums have been moved into their own modules:
@luciad/ria-milsym/text/gars/GARSFormatPrecision
,
@luciad/ria-milsym/text/mgrs/MGRSFormatPrecision
and
@luciad/ria-milsym/text/mgrs/MGRSFormatType
Upgrade considerationLuciadRIA
Upgrade considerationLuciadRIA
Upgrade considerationLuciadRIA
Upgrade considerationLuciadRIA
WebGL2RenderingContext
is now passed in the callback of the
PostRender
event, instead of a WebGLRenderingContext
.
Upgrade considerationLuciadRIA
RIA-3710
WFSFeatureStore.createFromURL
and
WFSFeatureStore.createFromCapabilities
use now the options parameter of the same type WFSFeatureStoreCreateOptions
.
That way both the creation functions can use the same set of input parameters.
Before the version
property was missing in the options for
WFSFeatureStore.createFromURL
.