Quake 3 and curved surfaces
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/
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
Thanks.
--
Todd
http://www.3dcgi.com/
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
Thanks.
--
Todd
http://www.3dcgi.com/
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,
MK42
Hope this helps a bit,
MK42
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.
where:
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.)
/Memir
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.
where:
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.)
/Memir
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement