top_left top_right
bottom_left
Next Event: Unknown | Forum Rules | QGL Website | Event Registration
openFolder AusForums.com
iconwatfolderLineopenFolder LANs
iconwatfolderLineopenFolder QGL
iconwatfolderLineopenFolder QGL Forum
Author
Topic: when will nurbs truley become a gaming reality?
CaPt0
Posts: 907
Location: Brisbane, Queensland

when will nvidia or somebody produce a card that can render nurbs at a decent speed. mmmmm nurbs instead of straight lines.

for ppl that don't know what a nurb is, to be simple it is a curved surface rather than a surface made up of lots of flats or straight lines.

finally then will gaming look realy realy realy nice.
system
--
dangles
Posts: 1302
Location: Queensland

well maybe they will when developers use it more in there games??
CaPt0
Posts: 909
Location: Brisbane, Queensland

probably, but developers won't use it in their games until they know that they can be rendered at high speed.
dangles
Posts: 1308
Location: Queensland

heh :P
Khel
Posts: 1539
Location: Brisbane, Queensland

Honestly, I dont think for quite a while yet. So far NURBS are only used at the design level, and then the NURB curves are actually subdivided into normal straight lines/triangles when the model is exported and loaded into a game.

Theres a whole bunch of different ways of implementing surface subdivision, and one of them had somethign to do with NURBS, but I read it ages ago and can't remember most of it so too bad!
Zyan
Posts: 37
Location: Queensland

I don't think a lot of people actually understand what NURBS are, so I'll do my best to explain them... and why you won't see TRUE rendering systems being incorporated in to real time engines (without estimation to polygons, that is).

Basically NURBS surfaces are surfaces that are defined using splines (well, a specific type of spline, a B-Spline). In other words, NURBS surfaces aren't made up of polygons and faces, they're defined using mathematical functions based on the splines. NURBS surfaces in real time environments are never actually "rendered" because it would require raytracing, which is WAY too slow for any real time purposes. Instead (and this is the same for rendering applications such as 3D Studio MAX), the NURBS surfaces are subdivided and estimated to sets of polygons and faces so that they can be displayed using traditional methods (such as z-buffering).

You can see this in games like Q3A, where curved surfaces (defined by NURBS in Q3R) are displayed by means of subdivided polygons. This is the same reason you can change the subdiv settings in real time in Q3A to make curves ultra smooth or really chunky (it's just the amount of subdivision). These surfaces are subdivided when the map loads, or when the subdivision settings are changed.

So, what does this mean in terms of rendering engines? Well, it means that you won't see NURBS being rendered as true NURBS because the computation required is simply massive (anyone who's used a program like POV-Ray or Renderman will understand what I'm talking about here). It's like trying to do TRUE raytraced reflections and refractions in real time... *good luck!*. What you WILL see is what Q3A has been providing: the ability to model with NURBS and have the game engine auto-subdivide and estimate to any required detail level, AND the ability (like Q3A has) to detect intersections with NURBS surfaces in real time (the actual surface, not just the polygon approximation). This is a big step up for people making games because it means they can model characters and objects using NURBS without having to worry about polygon counts and making multiple detail-level objects, and the engine simply figures out what subdivision detail it wants.

The new Nintendo system has been bragging lately about the use of real time NURBS... just to clarify, it's not actually rendering the true NURBS surfaces (that would require raytracing), what it's doing is allowing the engine to automatically resubdivide surfaces to create more polygon detail as you get closer to objects.

The other thing I should clarify is that NURBS aren't surfaces, they're the splines that make up the surfaces. NURBS isn't even a plural, it's an acronym for Non-Uniform Rational B-Spline (or if you wanna go even further, Non-Uniform Rational Bicubic-Spline).

OK, well, that was rather long-winded and messy, I hope it clears some stuff up though :)

- Firewave.
trog
Posts: 3429
Location: Brisbane, Queensland

asif high poly isn't enough for anyone

and, 16 bit colour, too
DecayingCorpse
Posts: 312
Location: Brisbane, Queensland

they will when they decide to spend some money to make their products better.

(anyone from tel$tra listening??)
Mothug
Posts: 86
Location: Gold Coast, Queensland

So far ATI is trying to make progress in this matter. THey have developed Trueform. What Trueform is, is that it sibdivides surfaces of models so they appear smoother. This subdivision doesnt create loss of performance in the card as ATI know what they are doing. The only problem is that Nvidia is behaving like microsoft in that it is killing off competition and making game developers tweak their games for nvidia cards and giving other companies a miss. The Geforce 3 is a prime example of this as for a geforce 3 to function properly it needs several optimisations to be implemented for it to show that it is much better than other products. So in the end nothing will really change casue Nvidia have taken over too much really.
Zyan
Posts: 39
Location: Queensland

The problem with Trueform is that it only interpolates based on existing polygon data; it can't refine and gain any extra details.

Here's an example. Say you have a arch way made of 4 polygon points (something like /-\ in shape). If you apply Trueform to that, it won't look like a perfect round arch, it will look as though the sharp edges have been smoothed off. No matter how much you subdivide it, it will never be a circular shape, but rather a smoothly curved stepped shape. If the arch was defined with NURBS as a circle, even if you only have four subvisions to start with (which will look like /-\), as you increase the subdivisions it doesn't just interpolate, it bases it on the actual NURBS circle, so it will eventually become a perfect circle shape. Trueform can only work with what it's given (i.e. the original polygon model), it can't work miracles and suddenly add detail that wasn't there before, it's only designed to smooth off the sharp edges on low poly models.

In this way Trueform isn't anything like NURBS or spline-based models, which are created soley with basis splines. Introducing a technology like Trueform does nothing for game developers or progression in technologies because it has limited applications and just makes things "rounder", it doesn't add detail to anything.

Hardware support for NURBS and other spline-based modelling methods will come in the form of on-chip stermium root solving and NURBS surface intersection routines, much like what we're seeing now with "vertex shaders" and "vertex transform circuits", that were designed specifically for certain mathematical calculations (like dot and cross products, used to calculate "smooth shaded" (phong) polygons).

This whole issue is the same when it comes to things like displacement mapping. There are going to be some people that will implement a hardware solution that doesn't allow enough control, and no one will use it. The same happened with early 3D accelerators where some people started supporting direct texture UVW mapping (the best idea which provides total control) and others tried custom stretching routines that provided limited control and were useless for anything other than specific situations.

Just my 2 cents...

- Firewave
Mothug
Posts: 89
Location: Gold Coast, Queensland

ok i cant be bothered to read your little novel there but my point was that ATI is trying to get up to scratch with finding otherways of making 3d models look nicer while nvidia is out just to pump out polys
Shot_guN
Posts: 340
Location: Brisbane, Queensland

I am happy that Zyan posted what he did. I actually understood what he said (unlike many others posts), and also i learn soemthing from it (unlike many other posts).

Unfortunately, nurbs i imagine would be a very hard thing to code (just a guess) inside of a 3-dimensional environment. But when it does, sweeeeeet =P
SacredSperm
Posts: 424
Location: Sydney, New South Wales

They'll become popular when they shove them into a house with polygons and sprites and vote them off each week get a decent name...Nurbs? Who the heck thought that up?
Zyan
Posts: 40
Location: Queensland

Well it describes what the object is. Non-Uniform (the influence of a control vertex can vary, i.e. the surface tension isn't uniform) Rational (the equations used to represent it are expressed as the ratio of two polynomials... which in simple terms means it provides the possibility of making a large range of curves in a single surface) B-Spline (the surfaces are made of basis splines, which are splines made from three or more points and the spline is generated by interpolated between the points; bicubics and beziers are special cases of basis splines).

Unfortunately like a lot of 3D terms they have to be weird and specific to describe what the hell they are.

Mothug, if you'd read my "little novel" you would have realised that it explains that things like Trueform aren't worth doing because they don't provide enough flexibility. It's a bit like bump mapping, a few people implemented Dot 3 bump mapping (which was a cheap work around) in hardware, and the rest put the full effort in and did Environment-Mapped bump mapping... it took longer to develop but because it was more flexible, it survived while the others didn't.

I'd suggest that anyone that wants to know more about NURBS in depth should read The NURBS Book (how original a title is THAT?) by Les Piegl and Wayne Tiller (New York: Springer, second edition 1997). Note that you're going to need some heavy maths skillz to get through it, heh.

- Firewave
WarT
Posts: 4269
Location: Brisbane, Queensland

sifn't 32bit colour
Chod
Posts: 366
Location: Brisbane, Queensland

Seems Zyan knows wtf he is talking about...

Zyan wot do you do for a living?
trog
Posts: 3435
Location: Brisbane, Queensland

Personally, when I crank Quake 3 up with all the detail on, I think the curves in that are perfectly curvacious enough for me. They're not even particularly high-poly curves.

I don't have a problem with Trueform (at least the way Zyan has described it; I'd never heard of it before). It sounds like a decent implementation to make low-poly-count models look a bit better.

I'd rather see more technologies like Intel's MRM though - I don't think I've ever played a game with MRM in it, now that I think about it (I think Dark Reign 2 might have had it, or Battlezone 2 maybe?) Messiah had really impressive dynamic mesh reduction stuff, which probably would be better than Trueform. Starting with a really high poly model (from memory the model of the baby in Messiah was over 100,000 polys - at least, that's what Shiny were saying :) and then reducing it down based on a) distance and b) current scene complexity seems to be a pretty intuitive and clever way of doing it.

Of course, processors and graphics chipsets are getting so fast that hopefully level of detail will become irrelevant anyway!

Hardware-based nurb implementation would be cool, but I honestly think that almost all people wouldn't be able to tell the difference between a high-poly curve (or even a medium poly curve!) and a spline-based curve. Especially moving at 100fps through a level dodging rockets!
TMWNN
Posts: 139
Location: Gold Coast, Queensland

Im pretty sure i read somewhere that the nintendo gamecube will be capable of realtime nurbs rendering.

As fot ATI vs Nvidia weel my current vid card is a ATI Radeon DDR LE running a Radeon DDR retail bios and tweaked to enable hyperz and other features. It beats a gts in 32 bit in 3dmark and q3 for about the same cost as a Gf2 mx. Plus has better image quality - im extremely happy with it and from what ive read the radeon 2 will be capable of everything the ge-force 3 does and more. I remember i was one of the early ones to jump onto the nvidia bandwagon with my good old TNT-1 and now that ive jumped ship maybe the rest of the world will follow me again :)
sprayNwipe
Posts: 578
Location: Brisbane, Queensland

I think Dark Reign 2 might have had it

Yep, DR2 was choc-filled with MRM goodnesss
Zyan
Posts: 41
Location: Queensland

TMWNN, what you'll find is that the Nintendo GameCube, as I've mentioned previously, doesn't actually render NURBS using ray or voxel intersections (raytracing), it converts them to tessellated meshes first.

In fact it even says in the press release that the new architecture does just that... "Or develop code which on-the-fly explodes compact geometry representations, such as NURBS or BBTPs into view-dependent tessellated triangle meshes for smooth organic shapes."

So, just like every other engine out there, it can't render NURBS (if people understood what was involved in it you'd completely understand why this just isn't possible yet), instead it converts them to polygons in real time and renders that using standard methods. The great thing that it does do is automatically figure out what tessellation level is needed and then creates the geometry from the NURBS representation in real time, meaning the closer you get to an object, the smoother it looks.

For more real-time NURBS processing it would be nice to see the intersection operations hardware accellerated like vertex operations currently are.

- Firewave.
Zyan
Posts: 42
Location: Queensland

Chod, I'm a graphic artist and website designer. Primarily I've worked with 3D applications and rendering though (mostly this has been a sideline, how many people out there want fully animated 3D stuff these days... well, everyone, but who's willing to pay for it ;)

I've worked with engines like POV-Ray that do dynamic raytracing, producing VERY realistic images, which is why I understand the technical side (it's a true raytracer, it doesn't do z-buffering because objects are described mathematically, not using polygons). I also own 3D Studio MAX and use it professionally.

I've also done a lot of 3D programming with POV-Ray (involving things like isosurfaces and radiosity), so I have a good understanding of the mathematics behind NURBS, volumetrics and radiosity.

- Firewave.

Update:

I've added an example here that I just made in MAX. It demonstrates the difference between tessellating/subdividing a polygon object, and using NURBS subdivision. The polygon version is created directly from the same splines used to create the NURBS version. You can see that no matter how far you subdivide the polygon object it still has sharp edges (even if the surface looks smoother). That's because it's smoothing off the joins but subdivisions of polygon objects can't create detail that wasn't originally there. I.e. they interpolate but can't extrapolate. On the other hand, the NURBS object generates completely smooth and detailed edges because it's basing it on the splines. Here's the rendered versions of both the of the objects in solid form.

- Firewave.
knoted
Posts: 157
Location: Brisbane, Queensland

what did they use in ecstatica 1/2?
Khel
Posts: 1541
Location: Brisbane, Queensland

Well I had a huge post here to refute Mothug's claims that Nvidia is all about pumping out more polys, but it was so big it got rejected by the server and vanished, so I suggest you go here and read up on the gf3 to realise Nvidia is not and never has been about making cards that push more polys, they're about quality, and if you're dirty because ATI have yet to implement awesome features such as hardware support for Pixel and Vertex Shaders, HRFSAA and Lightspeed Memory Architecture, then dont go taking it out on everyone else. You go enjoy your little novelty extras and let the big boys get on with the job of actually raising the level of technology as we know it.
Khel
Posts: 1542
Location: Brisbane, Queensland

Oh, and Ecstactic used ellipsoids.
Cailean
Posts: 261
Location: New South Wales

Damn was going to get in there with ecsatica..

I knew it was an 'oid'..
blahnana
Posts: 87
Location: Brisbane, Queensland

Black and White did their own MRM type thing, the Worm in the apple on the barrel thing was a demonstration of it...

Khel: That's not really true... Nvidia both make their hardware and write their drivers with maximising benchmark performance in mind. And even where they don't, the individual card manufacturers do.

Their drivers have shortcuts that err on the side of frames, rather than a stable gaming platform/experience.

However, I do disagree that all the card manufacturers aren't doing the same thing... because I think they are. Most people who buy high-performance cards will read reviews which rely on benchmarks to determine card speed. Card manufacturers cut corners wherever they can to make their card come out on top. Makes sense for them, doesn't it?
WetWired
Posts: 485
Location: Brisbane, Queensland
I can tell you from experience that developers have far more important things to worry about at the moment than nurbs.
Jerry
Posts: 2128
Location: Brisbane, Queensland
I can tell you from experience that developers have far more important things to worry about at the moment than nurbs.


look @ the date.. 01

some cocknocker is still reviving posts
WetWired
Posts: 486
Location: Brisbane, Queensland
wtf?
afro
Posts: 102
Location: Brisbane, Queensland
tubelight :P
system
--
Not a new post since your last visit.
New Post Since your last visit
Back To Forum
Advertise with Us | Privacy Policy | Contact Us
© Copyright 2001-2026 AusGamers Pty Ltd. ACN 093 772 242.
Hosted by Mammoth Networks - Australian VPS Hosting
Web development by Mammoth Media.