As always, many many thanks for creating and maintaining such an amazing piece of software.
I work for a company who acquires 3D point clouds subsea using acoustic multibeam systems. As such our data has no intensity or colour. I generally use the PCV filter to add shading to the multibeam data.
When I use the PCV shader on a small area (around 20m across) I get amazing shading with small features being picked out but when I use it on a much larger area (e.g. a whole site possibly around 300m) then there isn't any fine detail in the shading.
Please see attached picture showing around 50m of data. The image shows a large section of rock dumping on a breakwater. A small square around 20m across was cut out of the large area data and a PCV shader run on the data (256 rays, 1024 res). Also the PCV shader was run on the large area with the same settings (around 300m across) to highlight the differences between shading small areas and large areas.
I have tried many settings to get better shading resolution on larger areas but can't find any that work. The solution I use is to chop the data up into small squares, run a PCV shader on each and then Fuse together but this is very time consuming and also creates a very bright line round each cut out square.
Is there any way or any settings I could use so I can run the PCV on a large area but achieve the same shading resolution as I get on smaller areas?
Any help or info would be gratefully received.
PCV Settings
-
- Posts: 17
- Joined: Wed Nov 06, 2013 9:31 am
PCV Settings
- Attachments
-
- PCV.JPG (213.24 KiB) Viewed 4655 times
Re: PCV Settings
The PCV algorithm (inspired from ShadeVis) is simulating the 'natural' illumination of the scene as if there were spotlights sampled all over an hemisphere or a sphere (your cloud lying at the center of this sphere).
In effect, for each light direction we render the cloud as if we were looking at it in this direction (with the specified resolution). Then we increase the illumination of the visible points.
Therefore:
- the more light directions samples you use the better it should be
- the bigger/wider the cloud is, the bigger the resolution should be (otherwise at a low resolution a single point might 'hide' a lot of other points). But if your cloud is not dense enough this will create holes and some light will pass through these holes and the result will be less realistic and the contrast will be lower
- and last but not least if you increase the cloud extents, depending on the cloud shape on the borders, you might hide the central part when looking at it along some directions (therefore some points will receive less light). Another way to say this is that the points you add can cast shadows on the central points.
All in all, you should definitely increase both the resolution and the number of light directions. But it's not that simple to guess the maximum resolution (i.e. to stop before the rendered cloud becomes too sparse). And anyway when you extend the cloud extents you are bound to change the global illumination.
In effect, for each light direction we render the cloud as if we were looking at it in this direction (with the specified resolution). Then we increase the illumination of the visible points.
Therefore:
- the more light directions samples you use the better it should be
- the bigger/wider the cloud is, the bigger the resolution should be (otherwise at a low resolution a single point might 'hide' a lot of other points). But if your cloud is not dense enough this will create holes and some light will pass through these holes and the result will be less realistic and the contrast will be lower
- and last but not least if you increase the cloud extents, depending on the cloud shape on the borders, you might hide the central part when looking at it along some directions (therefore some points will receive less light). Another way to say this is that the points you add can cast shadows on the central points.
All in all, you should definitely increase both the resolution and the number of light directions. But it's not that simple to guess the maximum resolution (i.e. to stop before the rendered cloud becomes too sparse). And anyway when you extend the cloud extents you are bound to change the global illumination.
Daniel, CloudCompare admin