View-based Rendering: Slide 14 of 17.


Click slide for next, or goto previous, first, last slides or back to thumbnail layout.

Click slide for next, or goto previous, or back to thumbnail layout.

When rendering individual views from the viewpoint of the virtual camera, we use hardware z-buffering and back-face culling. However, we want to combine several samples for each pixel of the final image. Therefore we have to do something we call soft z-buffering.

On the slide we have a camera and three inputs at different distances. We accept every contribution within a threshold from the closest input. In the example one of the pixels is much farther than the other pixels. It is assumed to be occluded by the others, and is therefore ignored.

The soft z-buffering threshold has to be chosen based on the sum of several errors: registration error, range sampling error, and the error of the polygonal approximation to the range data.

The image on the bottom right shows a situation where our soft z-buffering would fail due to a mistake in mesh generation. We have two input views of the object, one from the red and one from the green camera. From the viewpoint of the green camera there is a step edge in the data at the indentation. The triangles corresponding to the dotted line segment should not be there since they do not correspond to the object surface, and from the viewpoint of the virtual camera they hide the good data seen by the red camera.

Since step edges are almost aligned with the viewing direction, the surface orientation dependent quality weight for such triangles is really low. The soft z-buffering is extended by the following rule. First, interpret the weight of the pixel as a confidence measure. Then, if a low confidence pixel is so much closer to the virtual camera than a high confidence pixel that the good pixel would be hidden, ignore the low confidence pixel as if it didn't exist.