Contents
Curved Surfaces Using Bézier Patches
 
 
Printer-Friendly VersionPrinter-Friendly Version
 
Latest News
spacer View All spacer
 
September 9, 2010
 
iOS 4.1 Update Provides Long-Promised Game Center Support
 
THQ*ICE Shuttered, Gravity Taking Over Dragonica Online [1]
 
Less Money For 38 Studios' Rhode Island Transplant [1]
spacer
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
September 9, 2010
 
Sony Computer Entertainment America LLC
Senior Staff Environment Artist
 
Trion Worlds
Senior Software Engineer I
 
Trion Worlds
Senior Localization Engineer
 
2K China
SENIOR SPORTS DESIGNER - 2K China
 
Sony Computer Entertainment America LLC
Senior Staff Animator
 
Trion Worlds
PR Manager
spacer
Latest Features
spacer View All spacer
 
September 9, 2010
 
arrow From Ancient Greece To Halo: Art Tradition In Today's Games [1]
 
arrow UK vs. Canada: Do Tax Breaks Build An Industry? [7]
 
arrow Not A Departure: The Genesis Of Darkspore [4]
 
arrow Deus Ex: The Human Question [2]
 
arrow Game Dev Collaboration: Google Docs Style [13]
 
arrow Sponsored Feature: Make an Impact at Sledgehammer Games
 
arrow A Journey Across the Main Stream: Games for My Mother-in-Law [31]
 
arrow An Artist's Eye: Applying Art Techniques to Game Design [8]
spacer
Latest Blogs
spacer View All     Post     RSS spacer
 
September 9, 2010
 
Courtesy, It's Wonderful!
 
Snobbish, Arrogant and Elitist - Why Attitudes to Zynga Suck [59]
 
Achievements, Social Games and Virtual Goods
 
Why 3D at Retail Sucks, and How to Fix it! [8]
 
Gamazon: The Iron Burka [15]
spacer
About
spacer News Director:
Leigh Alexander
Features Director:
Christian Nutt
Senior News Editor:
Kris Graft
Advertising:
John 'Malik' Watson
Recruitment/Education:
Gina Gross
 
Feature Submissions
Sponsor
Features
  Curved Surfaces Using Bézier Patches
by Gabe Kruger
0 comments Share on Twitter Share on Facebook RSS
 
 
June 11, 1999 Article Start Page 1 of 10 Next
 

Until recently, 3D games have had a fairly strict limitation on the number of triangles that could be displayed per second. This limited the amount of visual realism that could be attained. With the advent of faster CPUs and powerful consumer level 3D video cards, more complex and realistic geometry can now be created. One of the more dramatic ways of increasing visual realism is by implementing curved surfaces. One way to create curved surfaces is by using Bézier patches, a procedural geometry technique. Figure 1, a screenshot taken from id Software's Quake III: Arena, shows what sort of effect on architecture using these curves can have. Other upcoming games, such as Shiny Entertainment's Messiah, also incorporate curved surfaces to give them a more realistic and organic look. There's pretty good motivation to learn how they do it.

Procedural Geometry


Traditionally, geometry used for computer games has been stored as static polygons in some structure such as a mesh or BSP tree. Every polygon is defined during design and used later during display. One way to take advantage of the increased 3D horsepower available in new computers would be simply to use smaller triangles and more of them when defining our static geometry. There are several drawbacks to this approach:

  • Large storage requirements. As more detail is desired, the numbers of triangles required will take up more memory and disk space and take longer to traverse.
  • Lack of scalability. The amount of geometry defined would be created for the best case machine. To display the geometry with a reasonable frame rate on a less than optimal machine would require storing multiple models with decreasing detail or implementing a real-time polygon reduction algorithm. There is still the problem that future, more capable machines will be stuck with the static geometry designed for older systems.
  • Inability to naturally describe shapes like curves. The only way to represent curved surfaces with triangles is by using a large number of triangles to approximate the surface.
Figure 1: Quake 3 Arena uses Bézier patches to beautifully render this demonic tongue.

In my mind, scalability is going to be one of the largest issues facing game developers in the future. There is going to be a large installed base of Pentium-class machines with Voodoo cards that you do not want to leave out, but at the same time you would like your game to run great on someone's shiny new Pentium III with a SLI Voodoo2 setup. Currently, most games are designed for a minimum system in mind with faster systems just attaining astronomically high frame rates that monitors can not support. It would be nice for the increased horsepower to go towards better visual quality, not just a higher frame rate.

An alternative to the traditional static polygon list that addresses many of the problems listed above is to use procedural techniques to generate the polygons. Procedural geometry involves taking some parameters and following a set procedure to generate an arbitrary number of vertices or polygons. Procedural geometry addresses the deficiencies of static geometry listed above:

  • It's compact. Just a few parameters can generate any number of intermediate values.
  • It's scalable. The number of vertices or polygons generated can be adjusted to allow the game to target a specific frame rate. The faster the machine, the more triangles that can be generated.
  • It can directly describe curves.

It is important to keep in mind that while ultimately triangles are used with both procedural and static forms, the procedural form generates them at runtime to a desired degree of fineness, whereas with static geometry, they are defined at design time to a predetermined degree of detail.

 
Article Start Page 1 of 10 Next
 
Comments


none
 
Comment:
 


Submit Comment