Dumb Question: Spheres and Curves?

RobbieF

n00b
Joined
Jul 5, 2005
Messages
7
Can someone explain to me why game designers appear not to be able to use spherical or truly curved objects? Especially now with graphics cards being Crey computers and all.
 
Good question, I remember back in the Quake days, there were video card reviews showing archways with nearly perfect arches...what happened to that?
 
Because the rounder it is, the more polygons it has. And honestly, I don't want my FPS to drop just for a round object.

This will change when raytracing becomes the standard (aka never).
 
Thanks for the reply. I realize that they use polygons to create the illusion of roundness... what I want to know is why the limitation exists in the first place? Why do they have to use polygons? What prevents the hardware from rendering curves?
 
The limitation doesn't exist, do a google for Trueform, it was an ATI system of drawing true curved surfaces and does actually exist and work in some titles, Quake3 had it I think, return to castle wolfenstein and there's a utility about someplace to enable it in Morrowind. From what I recall it just turned out to be quicker to use lots of polygons to fake a curve instead.
Dano.
 
RobbieF said:
What prevents the hardware from rendering curves?

A true curve is purely analog in nature. A polygon can be defined with just three points, but the arc of a true curve is defined by an infinite number of points. Since computers, being digital rather than analog, cannot render an infinite number of points, curves are faked by using a finite number of points with straight lines drawn between them. The larger the number of points, the shorter the lines, and thus, the smoother the curve. The tradeoff being that, as the number of points increases, so does the amount of rendering power required to maintain a decent framerate.
 
If you want to see that true geometric shapes of any kind are possible through raytracing (but not yet reasonable for games), check out www.farbrausch.de and look at some of their demos.
 
Great explanation.

I wonder how soon we can expect this "on chip" raytracing ability? I want it now! hehe
 
RobbieF said:
Great explanation.

I wonder how soon we can expect this "on chip" raytracing ability? I want it now! hehe

raytracing is a method for calculating color and lighting data, not making surfaces 'smoother'.
Wike on raytracing

What you really want is hardware support for NURBS curves and surfaces.
NURBS are mathematical models of lines and planes that form very fluid, smooth objects. They get used in proffessional animation (Like Pixar) and CAD work for a while.
But there's limited support for them at best on destkop cards, and trying to convert a NURBS surface back to a polygon surface either looses far too much detail to be worhtwhile or leaves far to many polygons to render.

Per vertex and fragment (per pixel) shaders are the best you're likely to see for a while. Traditionaly a shading was done on a per polygon basis. The entire poly 'refects' light from a given source the same way. And then you'd recalculate the 'reflected' light for the next polygon. The edges of these polygons therefore had sharp contrast and the limited number of polygons was evidant.
Vertex shaders allow you define the 'reflected' light on a per-vertex basis and gradually blend one vertex's shading into the next as you move across the polygon. This doesn't solve the faceted edges of low poly objects, but it makes them appear smoother because the lighting is more natural and changes are more gradual.
 
dano said:
The limitation doesn't exist, do a google for Trueform, it was an ATI system of drawing true curved surfaces and does actually exist and work in some titles, Quake3 had it I think, return to castle wolfenstein and there's a utility about someplace to enable it in Morrowind. From what I recall it just turned out to be quicker to use lots of polygons to fake a curve instead.
Truform just artificially added more polygons to 'curved surfaces' in the games that supported it.

It was, in essence, "using a lot of polygons to fake a curve"...it was just adding more polygons to the game ITSELF, rather than making the CPU have to do it. (Of course, that was ONLY on the Radeon 8500...later Radeon cards did not have 'Truform' hardware and, instead, added the extra polygons at the CPU level. In short, it didn't really do anything unusual to the scene - it just added more polygons to it than the developer provided for.)

The poster above is quite correct - it's NURBS you are looking for (closest you'll get to an analog curve with digital calculations), and consumer 3d accelerators have no acceleration for them. I can't say if the "professional" cards do or not - I believe they do, which holds out the hope for NURBS realtime hardware acceleration at the gaming level *someday*.
 
dderidex said:
Truform just artificially added more polygons to 'curved surfaces' in the games that supported it.

It was, in essence, "using a lot of polygons to fake a curve"...it was just adding more polygons to the game ITSELF, rather than making the CPU have to do it. (Of course, that was ONLY on the Radeon 8500...later Radeon cards did not have 'Truform' hardware and, instead, added the extra polygons at the CPU level. In short, it didn't really do anything unusual to the scene - it just added more polygons to it than the developer provided for.)

The poster above is quite correct - it's NURBS you are looking for (closest you'll get to an analog curve with digital calculations), and consumer 3d accelerators have no acceleration for them. I can't say if the "professional" cards do or not - I believe they do, which holds out the hope for NURBS realtime hardware acceleration at the gaming level *someday*.

Ohhh, I never knew that, I was under the impression it actually used splines, thanks for updating me :)

Dano.
 
I wondered this, but during a firefight I never really stopped to notice how much supposedly curved things were actually a bunch of lines.
 
FreiDOg said:
raytracing is a method for calculating color and lighting data, not making surfaces 'smoother'.
Wike on raytracing

But due to the nature of raytracing, all objects are defined as functions in space for which the rays interact with. Using functions to define shape thus allows perfectly smooth functions like spheres, curves, etc.
 
Back
Top