Jump to content
  • Advertisement


This topic is now archived and is closed to further replies.


Quake 3 and curved surfaces

This topic is 6333 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

What does the Quake 3 engine do that caused it to get a reputation for being good at rendering curved surfaces? I''m sure the reputation is well deserved I''m just curious about the technology behind it. -- Todd http://www.3dcgi.com/

Share this post

Link to post
Share on other sites
Thanks Mental, but do you know what they do technically?

Do they automatically generate triangles from an equation that describes the curve? A form of scalable geometry.

Another option I thought they might use is smoothing groups to specify curves? In this case the curved surface would already be tessellated, but the smoothing group would cause polygons to share vertex normals along their edges, resulting in smoother shading.

I''m not looking for enough information to duplicate what they do I''m just curious



Share this post

Link to post
Share on other sites
Quake 3 uses biquadratic Bezier patches ... so in essence they generate a triangle grid from a parametric formula. The number of subdivision steps is determined by the curvature of the patch and the selected geometry detail (Low/High). They do run-time LOD by removing columns/rows of vertices in the grid.

Hope this helps a bit,


Share this post

Link to post
Share on other sites
You know, I was playing Q3A on my LAN with 3 computers. and on one of them, the graphics was messed up. - Many of the meshes, especially the arch-ways (obviously using the curved surfaces) were like flashing random colors. But the really neat thing about it was it revealed how they were performing their curved surfaces trick.
Basically, as you moved closer to the wall, the triangles were being modified, i.e extra triangles being added.

This seems the obvious thing to do, they probably have a system of calculating how many triangles to use to approximate a curved arch-way/pillar etc.

Something like:

segments = DETAIL_LEVEL * 1/distance_of_camera_from curved surface + K.

DETAIL_LEVEL - is just a setting that the user sets. i.e if you have a crap computer+gfx card, then this would be a low value. as opposed to someone on a Geforce 2 etc.
1/distance... - as you approach the pilar/archway, more detail (hence more triangles), would need to be put into it. - If you''re a mile a way, then the archway can just be a triangle
K - well all equations need a const

(not saying, that it''s as simple as this, but I''d imagine the no. of triangles used to render the curved surface, would be determined by these factors.)


Share this post

Link to post
Share on other sites

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!