View Full Version : make SDS subdivide like METAFORM

jin choung
02-10-2004, 02:44 AM

well, i've said for a long time now that the subdivision that you get from METAFORM and METAFORM PLUS in much nicer than the real time lw SDS.

not only does the mesh result in less unpleasant pinching, the actual SHAPE of the resulting LIMIT SURFACE IS DIFFERENT!

but the thing is, the metaform versions look more like the subdivision of other apps and that of the catmull clark results.

further, as we've noted many times, metaform plus does indeed handle NGONS by turning ALL POLYS (whether triangles or greater than 4 vert polys) in quads in the first iteration.

(actually, i think i now realize WHY lw has not given us NGON sds... the problem is one of ITERATIONS! as i've just said, mfp turns all polys into quads on the first iteration.... and i think that the app has to be able to keep an ITERATION IN A STACK... sortof. but because lw objects are very very simple with very little overhead and absolutely no stack, it's not possible to handle ngons with acceptable results. this is also why instead of turning a triangle into multiple quads, lw's rt SDS turns triangles into smaller triangles. aha!)

well, i've noted that rt SDS is not as nice.

i'm now requesting that you make it as nice!



p.s. y'know, the more i think about lw's current architecture limitations, i think it really might be a better idea to move away from an idea of a robust SDS and instead approach it more like METAMATION. that may indeed have been a prescient way to deal with current architecture and subdividing meshes in lw.

so basically revert 'tab' to a modeling tool again. that might be the most self consistent way to deal with it... just make lw's poly stuff ultra robust.

we'll be an app that supports NOTHING BUT POLYS but that might not be that bad even from a pr standpoint if you can spin it well.

02-10-2004, 09:11 PM
That makes since Jin. Those tris are an issue.
I think the problem is because the realtime sds feature was added prior to the uv feature.
The uvs are quads, the last iteration should be quads. :confused: Just like when you freeze the mesh.

jin choung
02-10-2004, 09:28 PM
hail jacky, fellow SDS reformationist! :)

my take on it is that lw needs to be able to hold multiple iterations in memory.

that is:

1. base cage
2. first subdiv iteration. all ngons & tris turned into quads.
3. second iteration subdivides mesh from step 2
4. third iteration and every iteration after just subdivides mesh from previous step.

but lw can't do that i don't think. if you have, let's say, five iterations, lw does not STEP THROUGH the first four steps. instead, it just jumps somehow to the last step. and that's why it can't handly ngons. and tris are just further subdivided into tris. no CONVERSION is possible.

and alas, i don't think that's fixable!

but what i am not sure about and what i hope they end up doing is just make the TAB sds result in a surface as nice as metaform.


02-10-2004, 09:43 PM
How can you tell lw jumps to the last step?

jin choung
02-10-2004, 10:05 PM
well i don't know for sure.

but lw doesn't keep ANY kind of history on its objects (hell, in modeler, they're not even OBJECTS!) and progessing step by step would require some kinda history i would think.

it is speculation on my part but i'm actually reverse engineering a good deal about the lw architecture by doing just that!



02-10-2004, 10:51 PM
I remember Arnie explaining the distortion problem w/nurbs and uvs in the old forum. He explained that lw adds a single vertice to every poly, hence the pinches on the texture. Maybe this is why they're tris?

02-11-2004, 05:23 AM
Your requests and statements make really some sense, Jin!

I'd add 2 things however.

!) one friend of mine, realized a little plug, some time ago, to make Rt Lw Tab SDS smooth ngons.:) it worked quite well, but i dunno if it subdivided mesh just like metaform.

2) Lux- ahem- Modo will have rt SDS with ngons support. This means this technology IS possible.

I dunno if its possible in Lw current structure and environment though.

02-11-2004, 05:52 AM
I'm not sure it would need to hold multiple iterations in memory or have to base the next step of the previous one.

As you yourself suggested the first step takes care of all the tris and ngons, so all the following subd levels could just aswell use that first step directly as base to further subdivide. If we suppose that the current LW rtSDS algortihm always works of the cage, this new rtSDS algortihm would then only need to have that first pass included so it could work of it instead of the cage. There is then no need for a stack, which would be both resource intensive and dumb as every step after the first do nothing more than turn quads into smaller quads, they can do nothing more to help with tris and ngons-situation.

*edit - just fleshed it out abit.

02-11-2004, 11:11 AM
Why won't someone write a script to counteract the texture distortion? This is what my friend at his work said they did. I know someone at Newtek could do this.

02-11-2004, 02:17 PM
This would be great! :D