Upcoming Events
Unite 2010
11/10 - 11/12 @ Montréal, Canada

GDC China
12/5 - 12/7 @ Shanghai, China

Asia Game Show 2010
12/24 - 12/27  

GDC 2011
2/28 - 3/4 @ San Francisco, CA

More events...
Quick Stats
88 people currently visiting GDNet.
2406 articles in the reference section.

Help us fight cancer!
Join SETI Team GDNet!
Link to us Events 4 Gamers
Intel sponsors gamedev.net search:

  Contents

 View frustum
 culling

 Cell-based
 occlusion culling

 PVS-based
 occlusion culling

 Other forms of
 occlusion culling

 Contribution culling

 Printable version

 


Contribution culling

Contribution culling discards objects if their screen projection is too small (in practice, the projection of their bounding volume is used). This form of culling isn't conservative, but is still very often used in, say, driving or open-environment roleplaying games. To smooth out the transitions, distance fog is sometimes added.

What then?

So you've incorporated a good visibility culling algorithm to your engine. What next? Even if the visibility process provides too much polygons for reasonable 3D card consumption, the game is still not lost. There is namely the mysterious LOD, or Level of Detail. By implementing LOD in form of adaptive terrain, procedural meshes (like curved surfaces), mesh simplification in one end and possibly subdivision surfaces in the other end of the spectrum you can potentially incorporate massive scalability to your engine. This is going to become increasingly important in the future, as the gap between high-end and low-end PC is getting wider and wider (well, unless the consoles eat the gaming market, something that is happening I think!).

Conclusion

We have briefly covered some of the major algorithms used for visibility culling, but the work certainly does not stop here. To really understand the concepts involved, it would be beneficial to get and read some of the papers mentioned in the references (which are all available in the Internet, though in various places). There is also an excellent article up at http://www.gamasutra.com/features/19991109/moller_haines_01.htm which goes into more detail with some of the occlusion culling algorithms presented here.

Summa summarum: It is great to be a game programmer in an era in which the possibilities are opening up in front of all of us. There is no longer one right way to solve the visibility problem, as upcoming games that are taking distance to the Quake model show. Much research will undoubtedly have to be done before the best solutions for arbitrary scenes are found. Progress has been rapid, however, so that there already is a commercial package whose sole purpose is to solve scene visibility (Surrender Umbra, www.hybrid.fi). Doing the same thing, just open sourced, would certainly be beneficial for game developers all around the globe.

This article is provided as-is, and no claim of the correctness of the information presented above is made. It certainly presents the state of my current knowledge of the subject matter. :) I happily welcome any feedback, whether positive or negative. Your comments are the only way I can improve my writing to be more useful for you.

Until next time!


Pietari Laurila is a programmer who specializes in J2EE, XML and game technology. He is also a member of Twilight Minds Design Group (www.twilightminds.com). He can be reached at plaurila at twilightminds.com.

References

[CLR90]

T. Cormen, C. Leiserson, R. Rivest. Introduction to Algorithms. MIT Press 1990.

[FDFH90]

J. Foley, A. van Dam, S. Feiner, J. Hughes. Computer Graphics: Principles and Practice. Second Edition in C. Addison-Wesley 1990.

[Tel92]

Visibility Computations in Densely Occluded Polyhedral Environments. PhD thesis, UC Berkeley 1992.

[LG95]

D. Luebke and C. Georges. Portals and Mirrors: Simple, fast evaluation of potentially visible sets. In ACM Symp. on Interactive 3D Graphics, 1995.

[SDDS00]

G. Schaufler, J. Dorsey, X. Decoret, and F. Sillion. Conservative volumetric visibility with occluder fusion. In Computer Graphics (Proc. Siggraph), 2000.

[DDTP00]

F. Durand, G. Drettakis, J. Thollot, and C. Puech. Conservative visibility preprocessing using extended projections. In Computer Graphics (Proc. Siggraph), 2000.

[Zha98]

H. Zhang. Effective occlusion culling for the interactive display of arbitrary models. PhD thesis, UNC Chapel Hill 1998.

[GKM93]

N. Greene, M. Kass, and G. Miller. Hierarchical Z-buffer visibility. In Computer Graphics (Proc. Siggraph), 1993.

[Pea00]

B. Pease. An algorithm for hidden surface complexity reduction and collision detection based on oct trees. In GDC2000 Proceedings.