Page 1 of 3 123 LastLast
Results 1 to 15 of 34

Thread: re: SDS attn: NEWTEK PROGRAMMERS sub: NO EXCUSES!

  1. #1

    re: SDS attn: NEWTEK PROGRAMMERS sub: NO EXCUSES!

    howdy,

    well, been doing a lot of research on the web lately on subdivision surfaces/edge weights/texturing, not just in regards to lw but other apps and with an eye on a RENDERMAN destination.

    first thing i noticed is how stunningly little notice is given to subdivision uv mapping distortion! whether you're in maya or xsi or wherever, NOBODY talks about it!

    there IS an article inside of maya on-line docs that tells you how to get around the problem but it involves their hierarchical SDS which ends up being painfully slow in maya proper and not supported in renderman at all.

    anyhoo, i found THE BIBLE on what this implementation should be and dang it if it ain't from the dudes who created the whole thing in the first place.

    http://www.cs.rutgers.edu/~decarlo/r...s/derose98.pdf (with purty pictures)

    http://66.102.7.104/search?q=cache:Z...hl=en&ie=UTF-8 (google's html version)

    anyhoo, all the math is here... all the logic is here... only thing not here is line by line code... pick up any monkey from a computer science department if you need an extra hand and you're golden.

    but basically, you guys find out if this is patented. i don't think it is but you guys should probably have your lawyers do a once over.

    if it's not patented...

    DO IT! This. Exactly. Don't have to even fuss n' muss with r&d... just do this and we're good.

    ok?

    aqsis is a free renderman renderer... you can check that badboy so that the final implementation can export nicely to RM.
    ------------------------------------------------------------------------------------

    FYI, the current real time (tab) sds that we have seems not to be catmull-clark. it keeps triangles as triangles and results in pinching and seaming that is not evident in catmull clark. in contrast, metaform and the legacy metaform plus implementations of subdivision DO seem to quad everything in the first iteration just like C-C.

    jin

  2. #2
    re: subdivision surface uv mapping....

    the concept of edge boundaries being assumed as being infinitely sharp and the notion of 'SCALAR FIELDS' seems to be the essence of the solution to distortion.

    not sure if i understand that the infinitely sharp boundaries for 'pieces' in uvspace can solve the problem but i can at least get my head around the general notion.

    have no idea what the hell scalar fields refers to. did some googling and it turns out that it can be related to the notion of a 'marching cubes' algorithm and it seems that it plays a large part in a great deal of interpolated surfaces.... but then what specifically it is supposed to do to alleviate the problem in uv space escapes me.

    interesting.

    jin

  3. #3
    HI Jin,

    you seem to be very aware of Catmull Clark algorithms and the like...i'm far from having so many answer to your investigations that i find very inetersting...about the triangulating thing just 2 ideas come to me since i am both a LW and Maya modeler....in Maya i use very often the Nurbs surfaces tools and just as a brainstomr there are a couple of things that comes to me that could help you (or not)

    first of all as you might know Nurbs surfaces come with their UV sets...second is that there is a shift between the hulls (cv's) and the isoparms on the surface...reminds me of the shift between the poly cage and the subdivided mesh...the big differnece is that when you are working on Nurbs what you see is what you get since you are not editing the cage (like in dubdivs) but editing the surface and then the hulls are shifted to match the edition (we could say that is the exact opposite of the subdiv workflow and this is why it is prefered for accurate modeling since you donc have to guess what you will have once smoothed)

    about the pinches on the subdivision cages it really reminds me of a 5 patches Nurbs stitching problem (5edges coming to 1 point also know as extraordinary vertices in subdiv) ...where instead of having a C2 (curvature) continuity you optain "only" a C 1 tangency continuity....

    i think that Catmull Clark algorithm is a kind of reverse Nurbs ...the only problem (that doesn't exist in real Nurbs) is that the subdivision process takes every point in consideration instead of having what in Nurbs would be a multiknots (2 points in the same place) that keeps the boundary from shrinking (here also comes the UV distortion) .... in the other hand having 2 points in the same place (wich we do commonly by spliting or bandsawing close to the boundaries to stop shrinking) will be not compatible with other poly operation (merge) that allows us to obtain a seamless mesh ,wich is needed for other operations like skinning (reason why Nurbs are a pain in the *** to deform corrcetly.

    Nurbs are not designed to be stitched...not even attached really...the only thing that counts is curvature or tangency continuity...the amazing thing with this is that Nurbs allow differnet resolutions at different places instead of keeping all stitched

    as a conclusion i do think that LW subdivs are Catmull Clark (i cant see what else it could be) but there is certainly a trick in the way those are calculated (that allowed the phantom points for example) this "special" implementation explains (i dont know why or how) teh fact that tris are kept as tris ...btw notice that in Maya we still have to use a cage in subdivs to add geometry (trinagulate; split etc) we cant extrude the subdivs cage per se but we have to switch to poly mode to add geometry...wich is not the case in LW where we can extrude directly faces while in subdiv mode btw all this implementations are what makes LW subdivs so cool to use
    Last edited by sailor; 03-20-2004 at 06:20 AM.

  4. #4
    A while ago i started a thread about UV-s and Projections.
    There i explained what i expect.
    Unfortunately there was not much welcome from other users.

    But still i believe this could be an universal solution in many
    cases.

    Actually i faked a orthogonal camera at the end by setting
    camera distance very far away and zoom factor the same number.

    By rendering such cameras with light incidence to get the alpha
    channels i discovered this a VERY useful method of analysis.

    You see at the spot where are the shortcomings with your
    model.

    Maybe you guys have some solution to this: how to stick
    the info to polys that comes from light incidence. The specific
    is that light incidence angle determines wich side the polygon
    normal is facing. So elliminating backside projection.

    This method (True Cubic Mapping) elliminates also every problem
    the UV-s and subdividings have, because it is straightforward.
    Play with Me

  5. #5

  6. #6
    I am Jack's cold sweat Karmacop's Avatar
    Join Date
    Feb 2003
    Location
    Bathurst, NSW, Australia
    Posts
    2,117
    Lightwave does use catmull-clark sub-d surfaces.

    I'm not sure why lightwave doesn't split up n-gons ... maybe they didn't think of it ... maybe they were worried about it not working in every case ... I'm not sure. It was Fori that did it, so Maybe he could tell you why ... or maybe it's something with lightwave that is the problem (though i don't know what :\ )

    The texture map thing is basically saying you subdivide the texture map the same way you subdivide the object. I think you don't subdivide the edges of your uv map though because that creates the distortions.

    Arnie did all the uv map stuff in lightwave 6. There was originally alot of distortion between a subd uv map and a polygon subd map. He changed something in 6.5 or 7 to remove some of this distortion .. I forget exactly what it was though. He said that subd'ing the uv map map would be stupid though (or something like that). Maybe his fix was to subdivide the uv map but he didn't keep the edges sharp .. that would explain still having distortions. After seeing what he did with uv maps in lw 6 I have a feeling he didn't read the documents on how things work or didn't test what he'd done ...

    Anyway, remember alot of Geri was modeled with Lightwave, so it can't be that bad

  7. #7
    Addicted since vers. 5.5 JDaniel's Avatar
    Join Date
    Feb 2003
    Location
    Tampa Bay - Orlando
    Posts
    296
    Ahhh, my fav. topic. Jin, why not email Newtek tech. about that. I bet they've seen it before.
    Check out this cool fix. http://www.cs.utah.edu/gdc/publicati...johnson99a.pdf

    Allan, i also thought that. It would be great if there was a normal mapping option that adjusted the angle of the pixels projected to that of each pol's normal direction, there by eliminating the stretching on the angles. Then have it stick, and rotate it. Like a 3d paint viewport.
    distortion free uv's for Subd. models-
    www.jackydaniel.com/pages/Tutorial.htm

  8. #8
    I am Jack's cold sweat Karmacop's Avatar
    Join Date
    Feb 2003
    Location
    Bathurst, NSW, Australia
    Posts
    2,117
    JDaniel ... I'm sort of confused about what you're saying. If you want to stick a planer projection on and object and you want the polys to stick to each polys normal projection ... well the way I think you're thinking of that is impossible, and how they map now is the polys being applied to each polys normal.

    If you mean you want what allankiipli described but from as many angles as you want, I think Animation master has something like that, and it'd be a nice addition to lightwave. I don't think it'd be too hard to set up a mapping type like this. allankiipli's idea introduces alot of distortion for even mildly complex objects however and it wont map as well as you think.

  9. #9
    Addicted since vers. 5.5 JDaniel's Avatar
    Join Date
    Feb 2003
    Location
    Tampa Bay - Orlando
    Posts
    296
    If you can download the divx. The video shows you what I'm talking about. http://www.cs.princeton.edu/gfx/proj/wnpr/
    The artist chooses a brush, then draws strokes over the model from one or more viewports. When the system renders the scene from any new viewpoint, it adapts the number and placement of the strokes appropriately to maintain the original look.
    The video shows stylized strokes but you can imagine how you could use.
    distortion free uv's for Subd. models-
    www.jackydaniel.com/pages/Tutorial.htm

  10. #10
    I am Jack's cold sweat Karmacop's Avatar
    Join Date
    Feb 2003
    Location
    Bathurst, NSW, Australia
    Posts
    2,117
    Ahh jot. I'm not 100% sure but something like shown in that video would only work well with npr stuff. It'd still work with realistic stuff but I think it'd cause problems.

  11. #11
    hi guys,

    first of all:

    No, i don't think lw uses catmull-clark. as i said, catmull clark becomes a mesh of ALL QUADS on the first iteration. and the final subdivided surface consists of only quads.

    you get this with metaform and metaform plus AND the results are the same as pixar examples.

    but with lw's sds, quad parts of the cage are resolved into quads... triangles are subdivided into MORE TRIANGLES.

    there are MANY MANY MANY different subdivision algorithms. DOO-SABIN is another, BUTTERFLY is yet another. catmull-clark is not at all the only possibility. my guess is that lw's is a homebrewed variation. and i would bet that this is the case for C4D as well and any other app that does not explicitly advertise C-C or 'pixar subdivision surfaces'.

    it may be SIMILAR but let's not confuse that by saying that it's the same thing already - we're talking about technicalities so let us be precise eh? the RESULTS ARE DIFFERENT.

    for doubters, TAB and freeze a mesh composed of quads AND tris. then take the same base cage and metaform it. NOT THE SAME RESULTS.

    alan,

    this is just my opinion so take it for what it's worth, but i'm not gonna sugar coat this - i don't think yours is a good idea and i'll tell you why:

    no other software uses that method. and perhaps more importantly, RENDERMAN doesn't use that method.

    as it pertains to the merits of your solution, as MK3, told you in the other thread, it's ALREADY POSSIBLE if you use lw's legacy projections on your model... it will project your texture using an 'orthographic' projection. and again, as MK3 said, you can blend between the projections with 'ALPHA MAPS'.

    this is ALREADY a method to avoid the distortion. but the problem is that such a method does not give you an easily generated PAINTING TEMPLATE and nobody else uses this method to texture SDS.

    and further, the IDEAL solution for this is NOT just a method that works well inside of lw and for lw but conforms to STANDARDS such that it is easy to go back and forth between different modeling/animating/rendering applications.

    and inasmuch as interfacing with RENDERMAN is a big part of most professional film work (hence, THE STANDARD), we should aim towards making such an interface seamless.

    DIFFERENT WITHOUT BEING MARKEDLY BETTER IS NOT BETTER.

    hey, and i'm not saying i'm a rocket scientist either. i'm just pointing to this paper that basically tells you EXACTLY HOW THEY DO IT with all the math and academics explained by the people who CAME UP WITH ALL OF THIS IN THE FIRST PLACE.

    i'm saying, if anyone should know, THEY WOULD. and further, the information is freely available. IF IT IS NOT PATENTED OR RESTRICTED, LET'S JUST COPY THAT!

    and sailor,

    yah, i'm familiar with NURBS... they're great for non deforming, ID kinda forms where need multiple curving shapes that flow together but don't want their CONTROL CAGES to interfere with each other. i think car chassis are IDEAL for NURBS.

    but i can't imagine why in the world anyone would choose to make CHARACTERS with nurbs... that's just insanity in my book.

    jdaniels,

    yep, our favorite topic... surprised how little this is discussed in other circles!

    jin

  12. #12
    hey jdaniels,

    also, re: the pdf link, that article seems to talk about haptic interface for painting textures but that's hella overkill!

    actually, even with just 3d painting - anything where you paint directly on the mesh - you get the same kinda thing... that is, no matter how messed up your uv map is, everything will be 'counter distorted' to match what you're drawing on the mesh.

    jin

  13. #13
    I am Jack's cold sweat Karmacop's Avatar
    Join Date
    Feb 2003
    Location
    Bathurst, NSW, Australia
    Posts
    2,117
    Jin choung, Catmull-Clark isn't exact, there's no specific way to do it, it's just a method of subdividing a mesh, and lightwaves subd surfaces do the same thing. However, as the C-C method in the pdf has an exception for non-quads, as does lightwaves, they are just different. You could argue that metform isn't C-C too as it doesn't make polygons with 5or more sides into quads, but it's still using the C-C method.

    Also, the difference between how Jot does it's painting and how 3d paint programs work is with juot you're just drawing a line, so it'll never get distorted. The problem with this however is that when you use more strokes the rendering gets very slow.

  14. #14
    The only thing i want is a little checkbox nearby to tell Lightwave
    to stick lightderived incidence to the polys the same way the
    projection becomes sticked.

    Or even better: To have checkbox to tell: Project only facing
    polygons.

    Thats all i want.
    Play with Me

  15. #15
    I am Jack's cold sweat Karmacop's Avatar
    Join Date
    Feb 2003
    Location
    Bathurst, NSW, Australia
    Posts
    2,117
    Once you've finished texturing, create a uv map .. atlas would be best for you as it's automatic. Then add the surface baker plugin and bake your textures to the uv map.

Page 1 of 3 123 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •