PDA

View Full Version : Real subdevision surfaces or not?



Karl Hansson
11-20-2003, 12:27 PM
I just had a discussion with my renderman teacher who said that LW has a problem with high resolution renders and subdevision surfaces. Because apparantly LW does'nt have real subdevision surfaces (he said) close up high res renderings will show LW not being as smooth as subdevision surfaces in other higher end packages. He staded this was that this was the reason LW was not used in filmmaking.
The example he was giving was giving was something like:
"...say you have a close up of a wrist on a photorealistic character made in LW, now render this in filmresolution you will see clear polygonial features to that surface"

I, as a patriotic LWer, I wanted to defend LW but unfortunatly don't have enough knowledge. So... anyone wanna add some info to this matter. I don't have access to LW while I'm here at University so I can't do any test renders.

hrgiger
11-20-2003, 01:11 PM
I can't imagine that's true. I mean, I don't think anyway that is the reason that LW isn't used as much in filmmaking as other packages(aka Maya, XSI,etc...) Your teacher just sounds like a LW hater.;)

Here's a rendering (or actually a small part of a 3840 by 2160 render- I don't know what film resolution is, I just tried a render at 200% of the larger of the two High-def TV settings) at a rendering subdivision level of 8 and it looks pretty clean to me.

hrgiger
11-20-2003, 01:12 PM
Sorry, forgot the render.

I guess I just think that if it was showing polygonal edges, you could just increase the subdivision level....I don't know though...

wacom
11-20-2003, 01:29 PM
Drop his class ASAP!

No just kidding. What in the hell is he/she talking about? Like an idiot I went ahead and modeled an object with a minimal amount of quads that looked like a finger. I then sent it to Layout and Zoomed WAAAAAAAY in over and over to areas with an edge...and updated the Sub-D level just a bit. It was just as I had suspected: your teacher smokes crack!

I could find no strange faces anywhere. All I saw was a smooth surface. I even tried bump displacement and got the same resaults. Maybe your teacher doesn't know about a top secret thing called "smoothing"? Or maybe he didn't know that LW alows you to adjust the level of subdivisions by camera distance. Maybe your teacher never thought about how LW is used a lot in print images that have a higher resolution than film?

Maybe the last time he "used" LW was version 4?

If you upgrade to 8 make sure you pay the extra 90 bucks for the manual, box and disks. Climb a tall ladder. Have your teacher stand at the base of the ladder. Take out the manual and drop it on his head. Sometimes this helps get aride of those "funny" faces.

Now I'm not saying that Lightwave isn't the most popular program ever for people who love Maya, just that this "funny face" problem isn't the reason. Please have your teacher re-create this problem for us and send us the scene and object files so we can see where he went wrong.

wacom
11-20-2003, 01:34 PM
Sorry hrgiger- I must have been writing my post as you were. I did almost the same exact tests as you.

Lw isn't the "One and only" but I've been suprised of just how much ingonrance there is about it. Scratch that- make it that I'm suprised about how ignorant people are of other 3D packages in general.

meshmaster
11-20-2003, 02:02 PM
with a real example that you can post here...

takkun
11-20-2003, 02:10 PM
Huh? Lightwave not used in film? Guess he's never heard of Digital Domain or Computer Cafe (now Cafe FX). This teacher seems to be a high-end snob, or he doesn't know better. Even Cinema 4D has been used in films.

And subdivision level can be set as high as needed. Isn't there also a LOD (level of detail) option so that the closer an object gets to the camera, the higher the sub-d level gets?

Matt
11-20-2003, 02:19 PM
LightWave IS used in filmmaking, that's WHY it was created, what's he talking about!

The point your teacher made about polygonal surfaces is true in that at render time sub-d surfaces are frozen into polygons, but this can be set to such an extreme level that you would never notice, certainly not for film!

This is how _most_ packages work.

The only issue with sub-d surfaces comes into play if you are manufacturing any models you create.

This is why we would never use LightWave for production ready models, that and there are packages more suited to industrial design work.

I suppose you _could_ freeze the model to a very high level and then post finish the metal tool used to make plastic mouldings to remove any visible polygons, but like I say there are packages much better suited to this type of work.

Sorry, went off on a tangent then!

:)

takkun
11-20-2003, 03:05 PM
You should point out that Lightwave has been used in many IMAX films (like this one (http://www.dnahelix.com/santa.html)), and IMAX is 3 times the resolution of a standard 70mm film.

Karl Hansson
11-20-2003, 04:47 PM
"Maybe the last time he "used" LW was version 4?"
Thats what I think too... I forgot to ask him wich version of LW he was refering to.

Good points. I'll get back in the ring... My teacher is usually a good guy but he sometimes is a bit too subjective. He does have a big knowledge of renderman though, he has even written a book about it, but it seems that he thinks that everything else is childrens toys. The first thing he said when he heard I was using LW was "Lightwave sucks". A bit ignorent if you ask me.

cresshead
11-20-2003, 05:06 PM
maybe you need to take his cowboy hat off and then you could remove his "blinkers" that he seems to wear...


his remarks about renderman have a basis in truth in that i think he maybe talking about nurbs surfaces which are based off of an interpolated curve between two points rather than the amount of polygons trying to make that curve being ramped up with metanurbs [old name newtek for sub patches].

i think with nurbs you do not need to manually adjust the level of detail like what you have to with sub patches...that way you can use incredable amount of displacments on geometry such as that in the film dinosaur for example and this tessalation is only happening in the scanline area being processed rather than in ligthwave where the whole model/scene needs to be hald in ram for the renderer...if lightwave had a bucket renderer you could have larger scenes...

at least that's how understand it!

got this from reading about the brazil renderer and final render for 3ds max.

as for him saying that lightwave sucks..well that's his opinion of course but seeing that the shaders for lightwave have a similar output quality to renderman [his love child maybe??] and that some of THE BEST renders ever seen have come out of the lightwave renderer he looks a little pompus in his narrow views
on lightwave...it's highly regarded as a modeler and the renderer is and always has been a leader in it's field..look back to babylon 5 and titannic for amazing fx.



steve g

wacom
11-20-2003, 05:15 PM
Originally posted by Karl Hansson
The first thing he said when he heard I was using LW was "Lightwave sucks". A bit ignorent if you ask me.

What should one purchase for under 2,000 bucks if LW sucks? I'd love to see his work, maybe he's a great artist...but...

Please give us a link to your teachers work/site. What book did he write? I hope he made the book on a Mac since you can't do page layout and image manipulation on anything else sucks. :)

Let me ask you this too: what are your studies under him?

I'm no fan boy- I just don't like uniformed jabs...

cresshead
11-20-2003, 05:21 PM
i'd also add that being a teacher doesn't mean your always right...
i teach and have never proffessed that i knew everything and got everything right...if i was that good i'd be at PIXAR or PDi...

and while we're at it writing a book doesn't mean your more informed than the people who may read it...though i bet he's quite proud that he has a book out!


steve g

SplineGod
11-20-2003, 06:06 PM
I think you should offer to tutor your instructor for a reasonable price. :)

luka
11-20-2003, 06:41 PM
What is your teacher on. I myself have rendered scenes out @ 7k opened it in photoshop and what can I say, smooth as a baby's bottom. send your teacher this pic for proof. This is a detail of my 7k render @ 100%

SteveM
11-20-2003, 08:15 PM
you should crosspost this over to cgtalk and see what everyone there has to say . . .

jin choung
11-20-2003, 10:38 PM
if anything,

i think the guy is talking about lw's RENDERING and not lw's implementation of SDS perse.

the thing is - renderman ADAPTIVELY subdivides higher order surfaces like NURBS and SDS at render time into MICROPOLYGONS which are very small QUADS. unlike MOST other packages on the market, renderman subdivides into QUADS and does NOT tesselate into triangles.

the really cool thing though is that the number of quads generated is often tied to the RESOLUTION OF FINAL RENDER so that the smallest quad is often SMALLER than a single pixel -

thus, you never ever get faceting.

but with lw and maya and most other packages, there is no GUARANTEE that you will not see facets. you must make sure that the degree of subdivision is turned up high enough to ensure it.
------------------------------------------------------------------------------------

this is NOT a unique weakness of lw.

in fact, with higher order surfaces like nurbs and sds, you COULD not EVER turn into polys... simply RASTERIZE THE LIMIT SURFACE.... but i only know one app (REALSOFT 3D) that does that.... and i can't imagine that it's very fast.
------------------------------------------------------------------------------------

also, if he is saying that you cannot use lw's SDS with renderman, that IS CORRECT.

right now, the ONLY app that has PIXAR LICENSED SDS is maya. and so, you can send maya sds to renderman and renderman will see it as sds.

but in general, that is one of the greatest weakness with SDS - it is stuck on an island in which it is implemented. you cannot send lw sds to renderman, you cannot send it to maya or xsi or cinema 4d, etc.

you can send polys, you can send nurbs, but almost everybody has their own flavor of sds.

jin

EyesClosed
11-20-2003, 11:43 PM
Because apparantly LW does'nt have real subdevision surfaces (he said) close up high res renderings will show LW not being as smooth as subdevision surfaces in other higher end packages.

Your teacher is totally correct. LightWave DOES NOT have subdivision surfaces, but instead a form of subdivided polygons. If you want to prove this, simply SubPatch a cube and zoom in real close, in Modeler. You'll see a bunch of subdivided polygons, proving that it isn't a subdivision surface.

Maya and XSI are the only programs to implement true subdivision surfaces. LightWave, Max, Cinema 4D simply don't.

Hope things are nice and clear now. :D

jin choung
11-21-2003, 12:58 AM
ummm,

that's like saying maya doesn't have real nurbs or real sds because you see polys displayed in the openGL views.

yep, you SEE POLYS on nurbs... hit '1' '2' or '3' to change the tesselation but you see it....

seeing the facets don't necessarily mean ANYTHING AT ALL.

but i have noticed that the display is indeed different than in 5.6 days.

jin

Mylenium
11-21-2003, 04:19 AM
Well, I wouldn't say LW has no true SubDs. From a strictly technical point, even with the Pixar algorithm you are rendering polygons in the end. SubDs are no new class of surface, just a derivation of polygonal principles. I guess the big difference is how smartly it is coded and implemented (distortion free UVs, local subdivs etc.. So in a way we have true SubDs but not very smart ones.

Mylenium

hrgiger
11-21-2003, 06:28 AM
Hey I have a suggestion CIM. Why don't you just write the words. "Well, Maya and XSI is way better then Lightwave" in a text file. Then when you want to make a post to the board, you can just copy and paste the text and it will save you the trouble of typing. I'm not sure you've said anything else here on the forum so it should work for you everytime.

anieves
11-21-2003, 11:24 AM
Maybe the last version your teacher used was 5.6. At that time Layout didn't support modeler's SDS and in order to use your SDS object you had to freeze it and if the freezing operation wasn't dense enough for your final target output then you would see the poly edges in a close up.

LW has evolved quite a bit since 5.6 and I'm afraid that your teacher has outdated information because you know LW sucks:rolleyes:

Earl
11-21-2003, 01:01 PM
Originally posted by SplineGod
I think you should offer to tutor your instructor for a reasonable price. :)

I second that suggestion! :D

EyesClosed
11-21-2003, 02:23 PM
Well, I wouldn't say LW has no true SubDs. From a strictly technical point, even with the Pixar algorithm you are rendering polygons in the end.

Wrong. Pixar's subdivision surfaces are converted to curves at rendertime (in a RenderMan compliant renderer). Plus, they are resolution independent, meaning they are always rendered perfectly smooth.

LightWave, on the other hand, simply converts to polygons at rendertime (not even micropolygons). With LightWave, smoothness is based on the resolution, which often dramatically increases rendertimes depending on scene size/complexity and render resolution.

meshmaster
11-21-2003, 03:16 PM
thought I saw one a couple months back... and I think it was around the time that I downloaded bmrt... which is still available if you do a couple of google searches or click here... :) (http://www.cirkus.fr.st/CG/cg.html)

KillMe
11-21-2003, 03:34 PM
there are afew but lightman is the only oen aproching being useable most of the rest dont think any surface info with them or well anythign realy =(

DaveW
11-21-2003, 04:37 PM
Originally posted by jin choung

in fact, with higher order surfaces like nurbs and sds, you COULD not EVER turn into polys... simply RASTERIZE THE LIMIT SURFACE.... but i only know one app (REALSOFT 3D) that does that.... and i can't imagine that it's very fast.

messiah doesn't convert to polys either, and although it doesn't use SDS, Animation Master also renders curves directly rather then converting to polys.


Originally posted by EyesClosed
Pixar's subdivision surfaces are converted to curves at rendertime (in a RenderMan compliant renderer). Plus, they are resolution independent, meaning they are always rendered perfectly smooth.

When did they implement that? I read an article about the making of one of Pixars movies (I forget which movie it was about) and they said their SDS objects are converted to polygons. Whenever a poly is the size of a pixel, it is subdivided into 4 quads, thus insuring a smooth model. I know Renderman is always evolving, but I hadn't heard that it renders SDS curves directly.

takkun
11-21-2003, 05:25 PM
Animation Master also renders curves directly rather then converting to polys. Unless things have drastically changed, that's not true. Internally it does convert everything to polygons before rendering.

DaveW
11-21-2003, 06:01 PM
Originally posted by takkun
Unless things have drastically changed, that's not true. Internally it does convert everything to polygons before rendering.

Well they have touted their direct patch rendering technology for years, along with a "say no to polygons" campaign and bunch of marketing hype about polygonal renderers having polygon edge artifacts that don't happen with A:M's direct patch rendering.

takkun
11-21-2003, 06:17 PM
I used to read the Hash mailing list back in the day and remember hearing that fact. I did a quick search in their archives and found a post by Brian Prince, a very good AM and lightwave artist:


Up until version 4, A:M /did/ indeed render patches directly, but
since version 5 it has tessellated to polygons for final render.

Its generally very difficult to get A:M to actually generate a faceted
edge in a render, but if you jam two rounded shapes together with the
seam facing the camera, you can sometimes see polygons at the
intersection.

It does a good job of never letting you see polys.

Karmacop
11-21-2003, 07:05 PM
AFAIK every rendering technique tesselates their objects into polygons at render time (except voxels and stuff) as to directly render a curve is really hard (and PDI is the only people I've heard that can do this, but I don't think they do). So even though companies say they are rendering curved surfaces they are actually just subdividing the surface until edges aren't noticable. Renderman especially turns everything into polygons at rendertime.

hrgiger
11-21-2003, 07:28 PM
Yes, I know for a fact that A:M converts to polygons at render time because when I used A:M a few years back, I would always see a lot of users putting little signs in there work that said things like down with polygons and polygons suck. I took great pleasure in reminding them that A:M does indeed use polygons at rendertime.

DaveW
11-21-2003, 07:57 PM
Interesting. V5 was the last version I used :) Their website still says it renders patches directly though.

DaveW
11-21-2003, 08:17 PM
Originally posted by Karmacop
AFAIK every rendering technique tesselates their objects into polygons at render time (except voxels and stuff) as to directly render a curve is really hard (and PDI is the only people I've heard that can do this, but I don't think they do)..

Well PDI obviously aren't the only people who can do this, as it has been pointed out that A:M used to render patches without tesselating them and both messiah and Realsoft3D don't subdivide into polygons.

From Realsoft's website:
The Realsoft 3D ray tracing engine is a true NURBS renderer. This means that NURBS surfaces are not tessellated into polygons before rendering and consequently, the surface renders without any polygonal artifacts. Similar quality would require millions of polygons. This is also true for subdivision surfaces.

And from a post at CG Talk from Lyle Milton:

It's important to note, however, that with MetaNURBS the subdivision level is irrelevant for rendering. This is because messiah renders them directly so that your models have "infinite resolution"; i.e. no matter how close you get to the model's edge, it will always be smooth.

The only downside may be that the models may take longer to render. However, the major upside (in addition to being infinitely smooth) is that it is highly memory efficient because the model is never subdivided into polys like in most other renderers.

SplineGod
11-21-2003, 09:03 PM
Someone I know who worked on Geri's Game at Pixar said that most of the modeling for that short was done in LW. He said that LW worked very well because the results from LWs SubDs were very similar to the results they would get from their own SubD algorythm.
I could really care less if LWs SubDs are the real thing, a hybrid or tesselated into skunks at render time. The bottom line is that they work and pretty well I might add. :)

hrgiger
11-21-2003, 09:32 PM
Originally posted by SplineGod
I could really care less if LWs SubDs are the real thing, a hybrid or tesselated into skunks at render time. The bottom line is that they work and pretty well I might add. :)

That's pretty much how I feel about it.

SplineGod
11-21-2003, 10:37 PM
Originally posted by hrgiger
That's pretty much how I feel about it.
OK, MAYBE not skunks.. ;)

Exper
11-22-2003, 02:11 AM
Originally posted by DaveW
From Realsoft's website:
The Realsoft 3D ray tracing engine is a true NURBS renderer. ......A little out of topic... but... good old memories...
Realsoft's Real3D on Amiga: Spline Patches rendering without tasselation (many many years ago)! :rolleyes:

Bye.

jin choung
11-22-2003, 04:03 AM
ok, so to set the record straight-

1. renderman DOES subdivide all their primitives (except for perhaps simple polys) to MICROPOLYGONS which are quads. and this is often set at render time such that a single micropoly is less than the size of a pixel.

in effect this is better than equivalent to DIRECTLY RASTERIZING the higher order surface - but technically, it's NOT THE SAME THING.

2. it IS possible to render the limit surface. realsoft for certain. perhaps hash and messiah but unless they care about the issue deeply, they may be just semantically fudging the truth....

but whether that ends up being a memory savings, i wouldn't wager on it... what the hell do you do with lighting and texture coordinates on a surface that is completely devoid of polys and is being rasterized directly? especially if it is a non-parameterized surface like SDS?! i can't even fathom a guess.... i really would like to know how fast and mem intensive this technique is compared to a renderman or a tesselated render.
------------------------------------------------------------------------------------

and again, i think this is not so much an issue of how the type of surface is implemented in the app-

more an issue of how the renderer works.
------------------------------------------------------------------------------------

i don't think it's a big deal that we tesselate! hell, everybody does - except for a select handful. and probably most of what we've EVER seen on tv or film is either micropolys or triangles.

it is as possible to render facet free images in lw as it is in any other app, even with our current renderer.

and as for render resolution informed subdividing as in renderman or directly rasterizing the higher order surface, if that level of granularity is applied on the entire object, the software has to have one hell of an awesome CULLING STRATEGY to avoid not sending your rendertimes into kingdom come.

and of course, that kinda smart programming probably takes lots and lots of money.
------------------------------------------------------------------------------------

really just an issue of automation. you can get the same results by doing it manually or writing a script and breaking you scene apart....

jin

and yah, the teacher is somewhat of a boob and larry's definitely right in saying that this is an ACADEMIC issue....

having said that, i wish i could trust that newtek DOESN'T think that issues like this are just academic hoo-hah. users can and probably should. but the coders and designers should have their heads stuffed far and deep into the putrid, rich rectum of academia.

even with the sds uv issue, i often think that newtek ain't any more hip on solving the problem or the issues that surround it than i am... and as distressing as that is, unless they then hire me, we're in really incapable hands indeed.

Karmacop
11-22-2003, 06:52 AM
I wouldn't trust people that say they render things directly. Even when raytracing it's still a very intensive thing to render curves without tesselation. Many renderers will just use smart tesselation, either tesselating it alot or tesselating more on the silhouette of the object etc.

Adrian Lopez
11-22-2003, 09:33 AM
I don't understand why people think it's so difficult to render spline surfaces directly. If you know where vertices go when you're tesselating the surface then you can also tell where a ray intersects the original surface.

Karmacop
11-22-2003, 04:41 PM
Tesselating a surface uses different math to rendering it.

Adrian Lopez
11-22-2003, 10:46 PM
Originally posted by Karmacop
Tesselating a surface uses different math to rendering it. How do the differences make one more difficult than the other? If you can tesselate a surface to an arbitrary resolution then it means you know where that surface is defined. If you know where that surface is defined then conceivably you can find a point of intersection between a ray and the surface, which you use to draw a pixel. Am I wrong about this?

jin choung
11-23-2003, 12:58 AM
hey adrian,

well, from a completely layman's point of view, it makes it harder to FIND every point on the surface.

what i mean is this:

- if you TESSELATE into triangles first, then you have a vertex list of all the triangles and so you know where every VERTEX IS.

also, because every triangle denotes a PLANE it is mathematically SIMPLE to 'fill the triangle' - you know that any pixel that you draw for that triangle will lie on that triangle's plane - trigonometry....

BUT

- if you DO NOT TESSELATE, then the ONLY verts that you know are the CVs which probably do NOT even reside on the surface that you want to draw.

SO, to find any pixel on the surface, not only do you not have any explicit vertices to start off from (meaning, you have to calculate to even find just the EPs (edit points that lie on the surface), every pixel on that surface has to be calculated using MORE COMPLEX MATH - probably calculus and higher....

so yeah, absolutely, it's DO-ABLE and no one is arguing that it is TOO COMPLICATED TO DO.

BUT

just SIMPLY talking about the mathematics and number of operations, it IS PROBABLY MUCH MORE COMPLEX.
------------------------------------------------------------------------------------

so, i believe the breakdown is:

POLYS - much more data, less complex calculations

HIGHER ORDER SURFACES - much less data, much more complex calculations.

the first bit about DATA is evident to human modelers (creating a hi res model with a few points) but the whole of it is relevant to the renderer i suspect.

jin