[go: up one dir, main page]

PointCloud: the default bounding box assigned to point cloud meshes is wrong

Summary

The bounding box of point cloud meshes can be either:

  • the local bounding box provided by the source directly
  • a local bounding box that is the volume of the node itself

In the first case, the box is used as is, and is expected to be tight fitting (tighter than an octree cell for example).

In the second case, the box is the volume of the node (in world space coordinates), then converted to local space coordinates by multiplying by the world matrix of the point cloud mesh.

However, this world matrix is not yet computed and thus is the default (identity) matrix, giving incorrect local bounds.

Steps to reproduce

  1. In any of the PointCloudSource implementation, stop providing the localBoundingBox property in getNodeData().

Expected behaviour:

The point meshes should be visible.

Actual behaviour:

The point meshes are not visible (because their bounding box is incorrect, and thus they might be frustum culled for the wrong reasons).

Informations

  • Giro3D version: 0.41
  • Browser (Firefox, Chrome, Opera, Safari...) and version: N/A
  • OS (Linux, MacOS, Windows...) N/A