Recently I’ve upgraded the Cesium version in my website from 1.92.0 to latest (1.129.0) and I’ve noticed the point clouds look bad - very dark, with visible differences between tiles.
Here’s an example:
Previous version
New version
Here are the params I use when creating the 3D tiles:
{
maximumScreenSpaceError: 4,
pointCloudShading: {
attenuation: true,
backFaceCulling: true,
normalShading: true,
eyeDomeLighting: false,
}
}
I tried to change them around and add others, but I couldn’t find a configuration that fixes this issue.
The point clouds I show in the website are generated from an external system that I have no control over, so I can’t change the params they are generated with, and I need to support the existing ones. I do know that they are 3D Tiles Version 1.0 and that the tiles are PNTS.
I managed to read the config from the header of a tile and that’s what I got:
{
"NORMAL": {
"byteOffset": 0
},
"POINTS_LENGTH": 3882,
"POSITION": {
"byteOffset": 0
},
"RGB": {
"byteOffset": 0
},
"extensions": {
"3DTILES_draco_point_compression": {
"byteLength": 34755,
"byteOffset": 0,
"properties": {
"NORMAL": 1,
"POSITION": 0,
"RGB": 2
}
}
}
}
Also, here’s the tileset.json file:
{
"asset": {
"version": "1.0"
},
"geometricError": 10000.0,
"properties": {
"Height": {
"maximum": 74.391155375147719,
"minimum": 33.076372730373201
},
"Latitude": {
"maximum": 0.5665337080065066,
"minimum": 0.56650932125666587
},
"Longitude": {
"maximum": 0.61188800165443546,
"minimum": 0.61186105843497185
}
},
"root": {
"boundingVolume": {
"box": [
9.289661465426974,
-21.700411639009616,
54.550000004788416,
146.93283040338724,
0.0,
0.0,
0.0,
146.9328304022842,
0.0,
0.0,
0.0,
146.93283040814543
]
},
"children": [
{
"boundingVolume": {
"box": [
-64.176753736266676,
-95.166826840151742,
-18.916415199284273,
73.466415201693621,
0.0,
0.0,
0.0,
73.466415201142098,
0.0,
0.0,
0.0,
73.466415204072717
]
},
"content": {
"uri": "Data/b0/tileset.json"
},
"geometricError": 36.733207601151399
},
{
"boundingVolume": {
"box": [
82.756076667120567,
-95.166826840151742,
-18.916415199284287,
73.466415201693621,
0.0,
0.0,
0.0,
73.466415201142098,
0.0,
0.0,
0.0,
73.466415204072717
]
},
"content": {
"uri": "Data/b1/tileset.json"
},
"geometricError": 36.733207601151399
},
{
"boundingVolume": {
"box": [
-64.176753736266676,
51.766003562132482,
-18.916415199284273,
73.466415201693621,
0.0,
0.0,
0.0,
73.466415201142098,
0.0,
0.0,
0.0,
73.466415204072717
]
},
"content": {
"uri": "Data/b2/tileset.json"
},
"geometricError": 36.733207601151399
},
{
"boundingVolume": {
"box": [
82.756076667120567,
51.766003562132482,
-18.916415199284287,
73.466415201693621,
0.0,
0.0,
0.0,
73.466415201142098,
0.0,
0.0,
0.0,
73.466415204072717
]
},
"content": {
"uri": "Data/b3/tileset.json"
},
"geometricError": 36.733207601151399
}
],
"content": {
"boundingVolume": {
"box": [
14.455268784296049,
-25.341447353324043,
-49.551336383013812,
64.283113301481919,
0.0,
0.0,
0.0,
56.803744370609621,
0.0,
0.0,
0.0,
19.720782108612788
]
},
"uri": "Data/a.pnts"
},
"geometricError": 73.466415202302798,
"refine": "REPLACE",
"transform": [
0.58364998528952405,
0.072613298422130865,
-0.80875212739367608,
0.0,
-0.43897134058359788,
0.86612372205684529,
-0.23902690274660651,
0.0,
0.68312287097860458,
0.49452705382372858,
0.53738825460031392,
0.0,
4409617.4683041135,
3094320.1357291178,
3403576.0469450117,
1.0
]
}
}
Thanks in advance,
Shay
EDIT:
Here’s a sandcastle example.