Jump to content

What's the use of the Mesh primitive type?


magneto

Recommended Posts

I'm pretty sure we've talked about it before. Perhaps just not often enough. :)

I personally think of it as a linear-interpolating NURBS patch. It has a quad topology just like NURBS (and all the usual modeling limitations) except that there's only linear (ie. "straight") interpolation between the CVs.

I suspect it was originally conceived as a light weight alternative (in terms of memory usage) to polygons. For a polygon primitive that is a quad, then it needs to store 4 point indices. So if you had a 3x3 grid as 4 (quad) polygons, you need memory for 4*4=16 point indices. If you represented that 3x3 grid as a "mesh" primitive instead, then you only need to store 3x3=9 point indices.

  • Like 1
Link to comment
Share on other sites

Thanks Edward, perhaps I have seen it but thought it meant mesh as in model, but not the Mesh type (unless it was capitalized or emphasized). But I have never seen in a video tutorial where they said "Now switch to Mesh type" :)

That's a pretty amazing observation, thinking of them like that actually makes sense. I just checked the memory usage of 100x100 grid and Polygon was 1.38MB, Mesh and NURBS was about 400KB, so 3.5x smaller.

But in that case, why not use NURBS because they both take about the same size in memory and you can actually use NURBS tools on NURBS like Project, Trim, etc, which doesn't work on Mesh. Also you can change the order if you need linear, cubic or higher.

Is there a practical use for this in 2013 or is it a sort of an obsolete type as you suspected? :)

Link to comment
Share on other sites

I think NURBS primitives still take up a little bit more memory because it still needs to store extra information in order to give you that added flexibility. We're likely stuck with it forever given this point. As soon as we remove it, someone will come up with a use-case where they have trillions of grids or something like that. :)

Interesting side story on the origin of some of these memory decisions. Just recently, someone found a limit on some SOP which would generate an error to the effect of "parameters too large". Upon investigation, it turned out that there was a hard coded limit within the algorithm that would prevent the data structure it created to be larger than ~40 MB. We had a good laugh as he found this on a machine with 12 GB of RAM. However, back in the day, it was probably done with good reason to avoid some SGI machine wtih 64 MB of RAM to completely crash and lose the user's work. :)

  • Like 2
Link to comment
Share on other sites

Thanks alot guys, great info :)

@Edward, on a 100x100 grid Mesh uses only 2KB less than NURBS :)

Good story on memory decisions. Max had similar issues about intentionally limited parameters on primitive objects, like you couldn't go above 200 segments on a sphere, because it was too much and you would never need more than that.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...