Revizto works with Point Cloud

Point Cloud is a huge array of objects, which contain only position and colour. How can we use this array to draw our 3D scene maximally realistic?

We can represent each point by a special square and choose the size of the square so that we have minimal voids in solid objects but conversely we would wish to have minimal overlaps between squares themselves.

Let us consider three adjacent localised points within any given cloud:

This is ideal situation would be where the cloud point Size is defined exactly equal to the distance between the nearest adjacent points. In this case we don’t have any voids between squares as well as not having overlaps.

In a less ideal situation we have point’s squares that are less than the minimal distance between points. In this case we will comprehend solid objects as transparent ones and the resulting 3D scene can become ghostly. Notice that the distance between points is the same.

Alternatively when we have too large squares for point representation we relate an overlap which distorts the form of objects and we observe a decrease in render performance because of the resulting big fill rate.

Three site images are represented below. On each image we can see identical point cloud base data from the same camera position but size of the point is different.

On the image 1 the point size is approximately equal to minimal distance between nearest adjacent points.

On image 2 the point size is three times less than that on the image 1.

And finally on image 3 we have point size 6 times greater than on image 1.

Revizto supplies a tool from which we can maintain the equality of point size and minimal distance between cloud points. If we navigate to Edit/Visual Effects dialog we can see two sliders at the bottom part of the screen:

These are the two parameters of square Size and separation Distance which we discussed above. When we change Size we move a special mark “Optimal” on the Distance slider. Therefore we can gauge that we will have the best visual quality when the sliders are reflecting to the same positions.

In a new project Distance and Size are set to default value (0.1 feet). It’s better to change it before the first export. The smaller the set Distance, the more memory Revizto requires for graphics process baking. We recommend to set as large distance as acceptable for the scenes visual resolution. This increases performance and allows the data set to be transferred across more platforms, especially mobile devices where RAM is at a premium. Moreover, greater point Distance reduces the amount of memory required from the workstation for undertaking the bake.

The changing of Size is on the fly. You can see the result immediately. The changing of Distance requires re-baking. So for large point clouds it can take several hours. Take it into account when changing the Distance! If you want to save changes you have to press Apply otherwise the changes will be cancelled.

It’s worth reiterating that the Distance between points decreases with increasing of distance to camera. Our point squares described above must behave the same way. The size of point decreases by the perspective law for all platforms supported by Revizto. Due to this rule we can supply the optimal covering for any given distance.