itowns icon indicating copy to clipboard operation
itowns copied to clipboard

fix(PointCloud): use preSSE for C3DTilesLayer

Open AnthonyGlt opened this issue 9 months ago • 3 comments

Description

Use camera preSSE to compute the point size of a C3DTilesLayer in the ATTENUATED mode

Motivation and Context

I've noticed a difference between the calculus of the size of the points between Potree & 3Dtiles. In Potree we use the preSSE for the size computation. In this previous comment https://github.com/iTowns/itowns/pull/2171#discussion_r1311800499, I had highlighted this difference. Since then, @ftoromanoff change the default scale value in the pointMaterial. Right now, the attenuated mode doesn't seem that effective.

AnthonyGlt avatar May 03 '24 08:05 AnthonyGlt

There are indeed some differences between 3DTiles and potree point size computation. Here are two videos to compare attenuated size mode behavior. (3DTiles VS Potree)

https://github.com/iTowns/itowns/assets/74316660/4aa5785e-4a77-4f94-b9a3-61b786538070

https://github.com/iTowns/itowns/assets/74316660/fada8738-c8aa-42f4-af53-25ed88e2c18b

Potree implementation seems more correct than 3DTiles one, as max attenuated value is almost not taken into account for 3DTiles. Definitely related to the preSSE scaling :

https://github.com/iTowns/itowns/blob/ee56ec70626213390fa200573552ddb5a54a3b94/src/Renderer/Shader/PointsVS.glsl#L161-L164

A small scaling factor could keep point size under minAttenuated value. This would explain why 3DTiles point size is sticking to minAttenuatedSize.

airnez avatar Jun 26 '24 14:06 airnez

Seems that the default clamping values (as well as default size) are not that good, maybe try replacing it with (default values in LiDAR HD demo):

  • size: 1
  • minSize: 1
  • maxSize: 7

Desplandis avatar Jun 28 '24 15:06 Desplandis

Seems that the default clamping values (as well as default size) are not that good, maybe try replacing it with (default values in LiDAR HD demo):

* `size`: 1

* `minSize`: 1

* `maxSize`: 7

I've changed the default values

AnthonyGlt avatar Jul 02 '24 13:07 AnthonyGlt