Submitted by , posted on 19 September 2000

Image Description, by

Here's a screenshot from one of the new SurRender Umbra demos. Umbra is a commercial visibility determination library that can be plugged into any 3D rendering engine to handle early culling of hidden objects (hierarchical VF culling, occlusion culling, portal culling, contribution culling). The library supports completely dynamic scenes and requires no visibility pre-processing.

This real-time demonstration shows how objects can be "on-demand loaded" from massive world databases. The demo loads objects from a database file when they become "almost visible". The loading never stalls the rendering - if an object hasn't been loaded in time, it is not rendered until its data has been fully streamed in. Objects that have not been visible for a while are removed from the database and swapped back to the disk.

The database in the picture contains two million objects. All models have 108 triangles and 258 vertices, thus pumping the total triangle count to 216M. The database file requires 130Mb of disk space. The memory used by the visible portion of the database (and other Umbra allocations) is around 1.5Mb. The database is not static: 120,000 of the objects are moving around every frame. The startup time of the application is a couple of seconds.

The image on the right side of the window shows a bird's eye view of the situation. The view frustum has been marked in transparent gray and the objects visible to the camera on the left are shown.

This and other Umbra demos can be downloaded from the SurRender Umbra home page ( All of the demos run through Umbra Visualizer, a fully portable (OpenGL+GLUT) rendering framework.


Image of the Day Gallery



Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.