We present a three pass occlusion culling algorithm, which makes efficient use of hardware support. Our geo-scientific sub-surface data sets consist typically of a set of high resolution height fields, polygonal objects, and volume slices and lenses. The first rendering pass computes a z-buffer image using low resolution objects and the non-transparent volume objects. During the second pass, we render the same objects against the z-buffer of the first pass while submitting an occlusion query with each object. The third pass reads this occlusion information back from the graphics hardware and renders only those high resolution objects, for which the corresponding low resolution objects were not completely occluded. To avoid fill rate bottle necks, the first two passes may be rendered to a low resolution window. Our implementation shows frame rate improvements for all test cases while introducing only a small overhead and no or hardly noticeable errors. Our non-conservative approach doe...