magneto Posted January 19, 2013 Share Posted January 19, 2013 Hi, I see this in lots of places like Sphere, Torus, Grid, Revolve SOP, etc. I never seen anyone using it or talking about it. What's the significance of this primitive type? Thanks 1 Quote Link to comment Share on other sites More sharing options...
edward Posted January 19, 2013 Share Posted January 19, 2013 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. 1 Quote Link to comment Share on other sites More sharing options...
magneto Posted January 19, 2013 Author Share Posted January 19, 2013 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? Quote Link to comment Share on other sites More sharing options...
edward Posted January 19, 2013 Share Posted January 19, 2013 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. 2 Quote Link to comment Share on other sites More sharing options...
kgoossens Posted January 19, 2013 Share Posted January 19, 2013 Thanks for the question Ryan, I used them intuitively like Edward said but never paid it much attention. 1 Quote Link to comment Share on other sites More sharing options...
magneto Posted January 19, 2013 Author Share Posted January 19, 2013 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.