Polygon Interpolation

So, I'm working on a bit of what I hope to be useful software, when I realize that I haven't a clue as to how D|S & Poser decide just where the surface of an N-gon (N > 3, in this case) lies?There are at least 3 ways to calculate it for a convex quadralateral, and I don't know how many for a pentagon, and what about a convex structure?  And in 3D, you've got saddle shapes....(No wonder many of the earlier softs just went with triangles only....)

cool

 

Comments

  • Unless poser and DS are doing things very strangely they use triangles. By using very small triangles you can simulate any desired shape.

  • Richard HaseltineRichard Haseltine Posts: 96,863
    edited October 2019

    Unless poser and DS are doing things very strangely they use triangles. By using very small triangles you can simulate any desired shape.

    I think the question is how they triangulate. In DS it is possible to use the Geometry Editor to alter this (a feature added with dForce, snce having the traingulation go the wrong way will make for ugly folds). I assume it's based on vertex order in the polygon definition, but I don't think there's any documentation to say exactly how so a little experimentation may be required.

    By the way, DS dos not like concave n-gons at all - the triangulation often ends up filling in the concavity.

    Post edited by Richard Haseltine on
  • I think I can save you some trouble.

    Daz models are intended to render always with some kind of subdivision applied, even it is level 0. The base resolution model that actually has the vertices never represents where any final vertex is, but rather serves as the subd cage that subd algorithm works on. This took me a while to understand. Even at subd level 0, the surfaces are nothing like the base rez model, so it is unfortunate that Daz calls it a "base res model" instead of a "subd cage".

    So "where the pixels are" is not up to Daz, but rather the OpenSubD algo used.

    But you're in luck; it's not a Daz thing about which all of your questions will be ignored, but an open standard. I'm sure you could get the OSD reference implementation, write a basic OBJ reader, and investigate an exported Daz model to your heart's content to see what's going on at the vertex level.

    Good luck!

  • Seven193Seven193 Posts: 1,064

    Do you want to know how DS does triangulation or subdivision?  I think there was a thread about this already.  I'm sure the latest version of DS uses Pixar's OpenSubD library for subdivision.

  • Dave230 said:

    Do you want to know how DS does triangulation or subdivision?  I think there was a thread about this already.  I'm sure the latest version of DS uses Pixar's OpenSubD library for subdivision.

    Yes, that is right.

    I think I can save you some trouble.

    Daz models are intended to render always with some kind of subdivision applied, even it is level 0. The base resolution model that actually has the vertices never represents where any final vertex is, but rather serves as the subd cage that subd algorithm works on. This took me a while to understand. Even at subd level 0, the surfaces are nothing like the base rez model, so it is unfortunate that Daz calls it a "base res model" instead of a "subd cage".

    Which models? The Genesis figures are all set to use SubD but many other items are not. Base ressolution, picked from the pop-up list button, is just that, the cage with no SubD applied at all.

    So "where the pixels are" is not up to Daz, but rather the OpenSubD algo used.

    But you're in luck; it's not a Daz thing about which all of your questions will be ignored, but an open standard. I'm sure you could get the OSD reference implementation, write a basic OBJ reader, and investigate an exported Daz model to your heart's content to see what's going on at the vertex level.

    Good luck!

     

  • Which models? The Genesis figures are all set to use SubD but many other items are not. Base ressolution, picked from the pop-up list button, is just that, the cage with no SubD applied at all.

    Sorry, I did overlook that case. I just took a peek and there's lots of items with no subd at all. The majority, even.

    But I did think of something else that might be useful to pgf_666_d253f9e4bc: DzFacetMesh only supports tris and quads. i.e. no n-gons for N > 4. And in the SDK, I see lots of things that appear to have been done for speed, so I wouldn't be surprised if the algo for quads to tris was just vertices (0 1 3) and (1 2 3) or something equivalent.

Sign In or Register to comment.