Closed Thread Icon

Preserved Topic: nurbs...they're not just for breakfast anymore ;) (Page 1 of 1) Pages that link to <a href="http://ozoneasylum.com/backlink?for=11495" title="Pages that link to Preserved Topic: nurbs...they&amp;#039;re not just for breakfast anymore ;) (Page 1 of 1)" rel="nofollow" >Preserved Topic: nurbs...they&#039;re not just for breakfast anymore ;) <span class="small">(Page 1 of 1)</span>\

 
silence
Maniac (V) Inmate

From: soon to be "the land down under"
Insane since: Jan 2001

posted posted 05-22-2001 14:48

Okay, can someone give me a simple explanation of these? And what are subdivision surfaces?

Presently, I mostly do mesh editing but I can't really see a difference between mesh and nurb surfaces. Can someone help out?

Das
Maniac (V) Inmate

From: Houston(ish) Texas
Insane since: Jul 2000

posted posted 05-22-2001 17:46

NURBS = Non-Uniform Rational B-Splines. Splines are curves (in the 3D world, 'curves' = curved lines). When you build a surface from splines, you can change the level of tesselation on the fly. That means that you can have the same object be rendered as having 500 polygons or 5,000,000 polygons, without changing the object at all. You just tell the renderer that you want more detail. This allows you to get quick renders when you're working, and high-quality (but slower) renders when you're ready for a final image.

There are other forms of spline modelling. The most popular non-NURBS spline modelling method is, I think, patch modelling. Patches are made up of bezier splines. They have the same scalability in render quality.

Subdivision surfaces are fairly new. They have the same scalability as the various curve modelling techniques, but are easier for most people to work with (except people who have been doing patches/NURBS for years...). Mathematically, you can take a simple polygon model and 'smooth' it by splitting every edge and creating new ones. You extrapolate the curve between each of the original edges and set the new ones to follow that curve. Repeating this makes the edges smoother and smoother, without changing the basic shape. This allows you to work with a model that you've 'smothed' once, and render with it smoothed four times. This is what gives the same scalability as the various curve modelling techniques.

All of these techniques are good for organic modelling, because they let you create smooth curved objects. If you create a model out of polygons, you have to choose how much detail to give it (500 or 5,000,000 polys, for example). If you designed the model to be seen in the far distance, and gave it only 500 polys, you'd have a serious problem if the director/client/whatever said "do a flyby of that, zooming right up till it fills the screen, then turn away". As soon as you zoomed in, the polys would be clearly visible (especially at the edges), and you'd have to remodel the thing. With NURBS, patches, or subdiv surfaces, you'd just crank up the tesselation parameters. You'd probably have to up the resolution of your textures as well, and you might want to model in some more detail work, but at least you wouldn't have to remodel from scratch.

silence
Maniac (V) Inmate

From: soon to be "the land down under"
Insane since: Jan 2001

posted posted 05-22-2001 19:28

Thanks Das. I knew you wouldn't let me down

I'm still having a bit of trouble, but I'll post later when I get home and give you some visual aids as to my confusion.

silence
Maniac (V) Inmate

From: soon to be "the land down under"
Insane since: Jan 2001

posted posted 05-22-2001 21:47

Okay, so from what I understand NURBS can be used to lower the poly count because they don't need all the polys of a regular mesh. Therefore, if you have a lot of polys in the scene, using NURBS instead of meshes will usually speed things up? Because of the low overall poly count?

Also, I can still use meshes if I want and get the same "look" as when using nurbs, right?

Here's an image I made as an example. The balls on the left and middle are made of meshes but the ball on the right is a nurbs sphere. On the left ball, I set the object property to "set smooth".


Now, as far as appearance they look the same. So is a lower poly count the only reason to use nurbs?

Also, I'm just figuring out texturing and it was pointed out that I should use a nurbs surface instead of a mesh because the texture will come out better. Is this true?

Last point, thanks for all your help Das. You've really been great, and from what I've seen here you're a bit of a 3D guru and I appreciate your time.



Das
Maniac (V) Inmate

From: Houston(ish) Texas
Insane since: Jul 2000

posted posted 05-22-2001 23:22

Ah. You're mistaking the shader smoothness for actual physical smoothness. The reason the image looks 'smooth' when you check the 'set smooth' option is that the renderer is using a mathematical method of 'faking' smoothness (usually phong or blinn).

A better way to see the issues is to look at edges. (Note to moderator - please don't make these links, as it would make this harder to follow. The images are only 10k total).

Here are two spheres. The left is a standard poly sphere, and the right one has been converted to NURBS:


You can already see that the edges are coarse. To make it clearer, I'll zoom in:


The only way to make the sphere edges look smooth is to increase the tesselation. To do that to the left sphere, I increased the segments parameter to 64 (from 24). This increased the poly count to nearly 4000. To increase the tesselation of the right sphere, I changed the surface approximation for rendering to 'high'. The result:



Now the key thing to note is that I actually remodeled the left sphere. Changing its number of segments was pretty easy, but you can only do that with primitives. If I'd created a poly human head that looked good at a distance, then decided to zoom in for a closeup of the eye, I'd have a problem. The edge of the eyelid (for example) would look very coarse, and the only way to fix it would be to do extensive remodeling (a human head wouldn't have a 'segments' parameter). With a NURBS head, I'd just up the tesselation paramters and everything would be cool.

Now, I could just model the head at a very high poly count from the start, but doing poly modelling with a model of hundreds of thousands of polys is an absolute nightmare (trust me). If I never zoomed in on the mouth, for example, I would have wasted my time using so many polys in that area. But then again, if I modelled with few polys around the mouth, you can bet I would find I needed a close-up of the lips at some point in the future. With NURBS (or subdiv surfaces or patches), you have more options.


As far as the textures go, NURBS do have an advantage in that all NURBS surfaces have implicit U/V coordinates. That can be a bad thing, though, since you have to increase the number of curves in areas of detail. This can lead to wacky looking textures that are compressed in some areas and stretched in others.


[This message has been edited by Das (edited 05-23-2001).]

Das
Maniac (V) Inmate

From: Houston(ish) Texas
Insane since: Jul 2000

posted posted 05-23-2001 23:48

Didn't read your last post all the way to the end the first time, silence. Thanks for the kind words
Dunno if 'guru' is totally on the mark, though, as I mostly spout 'book learnin' on this forum, rather than personal experience. Still, thanks

silence
Maniac (V) Inmate

From: soon to be "the land down under"
Insane since: Jan 2001

posted posted 05-24-2001 00:16

Thanks again Das. You've been really helpful.

Now the problem is how do I change the tesselation of a NURB surface in blender. Have you used the program? If so, how do I do this?

I work in a Computer Lab so I could get a copy of Maya using the site license, but I'd have to go through a lot of hassle for that (like getting a pentium machine and installing windows NT or 2000) so I figured I'd use blender to at least get good at 3D before going to a high end app.

Drakkor
Maniac (V) Inmate

From: Seatte, Warshington, USA
Insane since: Dec 2000

posted posted 05-24-2001 03:15

In blender.. You know where the object buttons are? Well go into edit mode (Tab) and in the object buttons window find the button that says Resol U: Next to it will be another button that says V: and both have a number after the colon. That is where you set your tesselations. You can up them and see what happens to your object. Here is a tutorial that covers nurbs modeling in blender.

Cheers
-D

edit-- linky linky --/edit

-It never hurts to always be right-

[This message has been edited by Drakkor (edited 05-24-2001).]

silence
Maniac (V) Inmate

From: soon to be "the land down under"
Insane since: Jan 2001

posted posted 05-24-2001 03:39

Thanks Drakk, that's perfect.

silence
Maniac (V) Inmate

From: soon to be "the land down under"
Insane since: Jan 2001

posted posted 05-24-2001 06:45


Ah, I can see what you meant nowDas. i thought tesselations were the same as control vertices. I can definitely see the power of this. Thanks for the help guys.

« BackwardsOnwards »

Show Forum Drop Down Menu