itwinjs-core
itwinjs-core copied to clipboard
Add support for 2.5D point features in map layers
Currently 2D points features displayed as map-layers always get draped on the terrain:
Instead of this, we would like to have 2.5D point features such as:
- The size of markers should scale be independent.
- The elevation of markers should always be right above ground (i.e. clamped to ground)
- Should support labels.
- Should be pickable.
- Should participate in depth test.
- Should support changing size on mouseover.
There are two components to this:
- #6195 Provide a RenderGraphic primitive that represents these objects in the 3d scene.
- Enhance map layer implementation to obtain and decode the features and produce RenderGraphics for them.
Some additional requirements from me:
"The elevation of markers should always be right above ground (i.e. clamped to ground)" We should be able to set an offset from ground also. Eg. 10 meters above ground. Also important that we also support absolute elevation if needed.
"Should participate in depth test." This should be default but can we make it optional? In some cases disabling depth test could be useful.
We should be able to set an offset from ground also. Eg. 10 meters above ground. Also important that we also support absolute elevation if needed.
Are these supported by ArcGIS?
This should be default but can we make it optional? In some cases disabling depth test could be useful.
Map layers are already divided into two groups: background and overlay. Presumably features in overlay layers would not participate in depth test, and those in background layers would.
We should be able to set an offset from ground also. Eg. 10 meters above ground. Also important that we also support absolute elevation if needed.
Are these supported by ArcGIS?
This should be default but can we make it optional? In some cases disabling depth test could be useful.
Map layers are already divided into two groups: background and overlay. Presumably features in overlay layers would not participate in depth test, and those in background layers would.
I'm not aware of any settings that allow setting an elevation offset for a specific map-layer. There's an groundBias property on the the BackgroundMapSettings object, but that applies to all map-layers (including the base map).
Overlay map layers are always displayed in front of imodel geometries no matter what. Out of the box, background map layers (and also the base map) are displayed behind the imodel geometries. This behaviour can be changed by turning ON the useDepthBuffer switch or by turning ON the terrain applyTerrain.