Jump to content

Subdivision Surfaces and Obtaining Best Render


Recommended Posts

In order to avoid slowdown with characters that, by necessity, are composed of dense polygon meshes, what would be the best procedure for creating a near real-time working environment, yet obtain a high resolution smooth output in Mantra for rendering. In other words, one could live with relative low resolution in the viewport while animating, but would need a smooth model when rendering. Is this controlled by upping the subdivision "depth" just prior to rendering, or through a setting in Mantra, itself?

Greg Smith

Link to comment
Share on other sites

Allow me to add a little to that....

Be careful when rendering subdivision surfaces since they don't handle raytracing terribly well. Specifically with regard to displacements and GI stuff.

If you find your renders taking forever then you may have to switch back to the Subdivide SOP method. To speed that up, you could set your display flag to the lowres model and the render flag on the high res subdivide SOP.

Hope this helps

Marc

Link to comment
Share on other sites

Marc:

Can you explain why subdivision surfaces don't render with the best integrity? I have no idea, being only a newcomer to Houdini thanks to the generosity of the inventors themselves, (through the experience of the Apprentice edition). Really, and sincerely, I have been trying to determine just which modeling paradigm to follow in Houdini: subdivision or NURBS. My intuition tells me that NURBS would yield the most clean and pure result, but the majority tells me that subdivision surfaces are King.

I really don't know on what to base my conclusions within the parameters set by the Houdind paradigm. I am sold, for sure, on the concept of using one application to do everything I need to produce a "film" or a "short". Houdini appeals to me from this angle, without mentioning the fact that it is the most generous offering for the impoverished individual producer on the market today. I am hoping that my investment in time learning this incredibly deep applicatiion will yield financial results, eventually, so I must cut to the chase whenever it is possible.

To make things clearer, I don't truly understand the implimentation fo NURBS according to Houdini, so I temporarily diverted to the use of subdivision surfaces, seeing that I was more familiar with that paradigm. However, I am more than willing to be instructed in the use of NURBS for, specifically, character construction and animation. It seems to me to be a more economically sound method than subdivisional modeling. I am all ears and eyes for an alternative solution.

Greg Smith

Link to comment
Share on other sites

Marc, I think Houdini 6.1 has improved subdivision surfaces rendering in mantra. You should try it again.

To me, the subd vs. nurbs debate has almost nothing to do with Houdini. Popular opinion favours subd's for character modelling. From what I gather, mostly to do with deformation problems around seams.

Marc's issue was with rendering polygons as subdivision surfaces at render time. If you're really afraid of these issues, then you can simply avoid them and use the subdivide sop to do your subdivision before rendering.

If you really want to cut to the chase then here's my unworthy opinion:

- use subd's for character modelling (ie. stuff that deforms)

- use NURBs and/or subd's for non-deforming geometry

Link to comment
Share on other sites

Cool... well if raytracing subd works better in 6.1 then I'm a happy man :)

- use subd's for character modelling (ie. stuff that deforms)

- use NURBs and/or subd's for non-deforming geometry

And this I agree with 100%.

Link to comment
Share on other sites

I think what Mark meant was that they are slow, not that they render ugly. I would say, your best bet is with polygons/subdivision surfaces. They are simply more straightforward to work with. If you look around on places like cgtalk, very very few people use NURBS to model characters. NURBS are best suited to things like modeling cars, or other surfaces which need very high accuracy. They require a bit more know-how to work with effectively too. Having learned NURBS with Rhinocerus I also find Houdini implementation and worklflow a bit weird.

Polys on the other hand are very simple. You make some splits, move some points, and every once in a while you delete some polys, or fuse some points together. And the good thing is that you can of course make mechanical things too, like cars, although not with the same exact precision as with NURBS. But the point in CG is to make it look good, not to get it right down to the centimeter.

To touch on what you asked earlier, subdivison-surfaces render fine. This is a model I'm working on. There is no Subdivide SOP in the network. Instead I went to the Object parameters for the model and in the 'Render' tab I set 'Polygons as Subdivision Surfaces'. That means it will render the model perfectly smooth, as if you had a Subdivide SOP with 'Depth' set to a 100 or some other crazy number. This work well for capturing all the detail of your displacement maps. With ambient occlusion, it took about 11min to render on a 800mhz P3. Without ambient occlusion it takes 4min. Although 11min might sound ok, the settings for the GI are only good for still frames. In an animation you would probably notice flickering from the GI noise (you can't really see it here because of the textures). You could turn up the quality to eliminate the flicker, but then render times would quickly shoot past 11min. Anyways, not sure if this was even related to your question, it was just to complement what Marc said.:)

post-15-1068964601.jpg

Link to comment
Share on other sites

DaJuice & Marc:

Thanks for all of the insight. That saves me a lot of trouble. One thing that interests me is the use of displacement maps at render time to obtain the level of detail in your example. Were these maps made in Houdini or did you unwrap the mesh and complete it with a paint app? And, how do you judge whether your map was created correctly? Must you do a lot of test renders while finalizing your displacement map. Having an interactive solution would absolutely be the best solution, seeing that most of everything else needed for a production can be done under Houdini's one roof.

Thanks again,

Greg Smith

Link to comment
Share on other sites

No prob:)

The maps were made in Photoshop. It does require a lot of adjusting, saving bitmaps, and re-rendering. If there were a way to use nothing but Houdini, I'd go for it.

Have you heard of ZBrush? With the new version (not sure if it's out yet), you can unwrap and give UV coordinates to your mesh in your fave 3d app, and import it into zbrush. Then you can interactively paint displacement onto the 3d model, and it will save the results as a normal or displacement map (not sure which) which you can then use in your 3d app again. At least I think that's how it works. It would be cool if something like that were available in Houdini.

Link to comment
Share on other sites

DaJuice:

Yes, I've been using Zbrush for most of my modeling and texturing for about 2 years now. I've seen those examples that some of the guys at WETA have been experimenting with, using the beta of the upcoming version. What the next version promises is the ability to create and model extremely hi-res geometry, either beginning in ZBrush, or your favorite 3D app, and, because of the extreme detail in the geometry itself, actual paint and mold the detail you would like to see in a displacement map, then, convert the model to the map itself, remap the displacements on a low res version of the same model and see, within Zbrush, an accurate representation of your displaced geometry. While you are in ZBrush, you might as well take advantage of the built in TextureMaster to add the textures there and then, interactively.

However, I'm really getting tired of moving back and forth among programs. That is what led me to Houdini, in the first place. In my case, I have to use ZBrush on my mac system, transfer the files to the pc, and import into Houdini. I assume that with the micro-polygon abilities in Houdini, utilizing a Zbrushed displacement map should work like a charm. But, it sure would be nice to use the "paint" abilities in Houdini to do a similar operation. Staying native makes everything so much more friendly and fast, don't you think. At this point, I think interactive texturing and displacing are the only things missing from the package. (both can probably be done with some clever custom op, but it's beyond my level of expertise). Ah, but I guess you can't have everything, no matter how much you want it. It all ends up being work, in the end, anyway.

Greg Smith

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...