Evaluate ops at rendertime?

   4387   7   1
User Avatar
Member
175 posts
Joined: July 2005
Offline
Hi,

Is there a possibility to make certain operators evaluate at rendertime?
For example I have subdivide operator and don't want it to slow my viewport or just switch it on before rendering and off after.
Do I need a prerender and postrender script to do it?
It would be logical to be able to set rendertime evaluation, since some things
can really slow work down.

Thanks

Peter
User Avatar
Member
4140 posts
Joined: July 2005
Offline
Unless I'm misunderstanding your question, this is accomplished by using the Display and Render buttons on the majority of OPs. Blue “display” is what you see in the viewport, the orange “render” is what is used for rendertime. There are some OPs, however, where this sort of paradigm doesn't really make sense, but certainly SOPs are designed that way.

Cheers,

J.C.
John Coldrick
User Avatar
Member
175 posts
Joined: July 2005
Offline
Hmm… I'll try to be more specific… let's say I have some rough geometry, than I apply subdivide sop and after that a few other sops working on subdivided geometry, The viewports are very lazy so I'd like to work on subdivided geometry not having to display it. Is it possible or is there a workaround?
For example I have a grid, subdivide it, paint on a refined surface and wrap it on a sphere, And I don't want to display such a dense mesh all the time, nor unchecking pass through each time I render.

Thanks

Peter
User Avatar
Member
4140 posts
Joined: July 2005
Offline
OK, I get you now. Not *really*, no, because of course you're applying some sort of point-specific alteration to something that's subdivided, you still want that information to be seen, but without all that data that is obviously needed to be interpreted by the Paint SOP. It's a bit of a Catch-22.

However, it's not simply a write-off. Part of getting more experienced with Houdini is learning just how this flow works, and optimizing things. Same as any package, really, except that Houdini is true proceduralism all the way down the line, unlike the rest, which offer partial proceduralism at best(Alias' “delete history” comes to mind. ).

So, for example, perhaps not in this specific case, but you could paint the lower res geo instead and it's transferred to the higher end with the subdivide - display the former, render the latter. In this case you might need the subdivide before painting because you need the detail for this operation, but hopefully you get my point. Alternatively, there's all sorts of ways to structure networks to have very clever display options vs rendertime nodes. Sometimes it takes splitting out flows of data - having nodes performing mirrored operations on high/low data streams(using Reference SOPs so you're not always chasing after alterations). This might seem inefficient, but actually in most cases it's not since the highres data stream is only referenced when you hit the render button. It really depends on how much time you think you need to spend working interactively with that particular data. If you're doing it once, maybe expecting to come back one more time to tweak, then obviously it won't be worth it, but if this is something that's got to be animated, with lots of client tweaks, then the extra few minutes to setup are worth it.

Things tend to become more complicated when you're doing point-specific operations, however, like painting. Sometimes trimming data from these sorts of flows, using SOPs like PolyReduce after the fact on data that's been written out and re-read can work too.

Lots of ways, each one sorta job-specific, alas.

Cheers,

J.C.
John Coldrick
User Avatar
Member
175 posts
Joined: July 2005
Offline
Thanks a lot for your help!
I thougt there is some standard fast solution I just don't know.
I'm a beginner so I have many questions, but I'm absolutely fascinated with this software.
I tried many others but houdini is probably the only software for thinking people. I can't get why there is so little interest in small companies/individual level.

cheers

Peter
User Avatar
Member
12446 posts
Joined: July 2005
Offline
Houdini supports hiding primitives in the viewport - if you hit “s” in the viewport, select most of the polys then look at the top of the viewport - you can “Hide Selected Primitives in 3D”. This will allow you to continue working at a higher speed in the viewport and it does not (destructively) modify your geometry. I believe you can still render the entire surface when some of the prims are hidden. This is all managed for you through “Visibility SOPs” that the UI will create and destroy for you.

Try it out - it might let you work at interactive speeds on high-res meshes - well, at least see what you're doing especially if you're working on the nooks and crannies of a large, detailed model.

Hope this help you out,
Jason
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
User Avatar
Member
276 posts
Joined: July 2005
Offline
Another thing you may want to try is the Interactivity option in the Display Options dialog. Hit ‘d’ in the viewport to bring it up, then go to Optimization and then Interactivity. Enable ‘Interactive Mode’ and set the Render Time to a small value… that way anytime it takes Houdini longer than that many milliseconds, it will draw the slow object in the Interactive Mode (set it to Wireframe Bounding Box for quickest drawing). This will only work while tumbling around, but may be handy for you.

Take care,
George.
User Avatar
Member
175 posts
Joined: July 2005
Offline
Thank you for a quick and extensive response

cheers

Peter
  • Quick Links