Jump to content

Rendering RIBs through the Alfred ROP


Recommended Posts

Hi, I am rendering through the Renderman ROP in Houdini, which works fine, but when I try to run the Renderman node through an Alfred ROP, Alfred opens up, but the job errors out with "Cannot open ribfile C:/Users/srh43/AppData/Local/Temp/apk1ds.tmp". I have set the Alfred node's Output Driver parameter to "/out/rib1" (my Renderman ROP) and left everything else as it was.

What do I need to do for it to look for my RIB instead of a .tmp file? Is there a way for me to tell it where I want the RIB file written out and where to find it?

Here are the contents of the Alfred command guts, which I'm guessing there should be a way to change the path to the file in the netrender line.

Commands:

#1 local Cmd

[Error]: netrender -progress %H C:/Users/srh43/AppData/Local/Temp/apk1ds.tmp

[keys]: pixarNRM|nrmservice

[tags]: prman

Thanks for any help!

Seth

Link to comment
Share on other sites

Have you tried to take a look into the .tmp file? It rather looks like Alfred is trying to render a spool file, which is usually created in a tmp directory.

I can't find that file, which explains why it's complaining. So, how do I tell it to look for the rib file instead (wherever it is)? And how do I tell it exactly where I want the RIB file put?

Link to comment
Share on other sites

There's a temporary directory parameter in the Alf ROP where you can define which temp directory to use. But this is actually not where the RIB gets saved. You can define the location of the RIB output in your Renderman ROP if you check the 'disk file' box, otherwise Alfred would start running prman (or whatever you have set in the command parameter).

Phong

Link to comment
Share on other sites

I tried to reconstruct your problem. That .tmp is a ribfile generated due to a python script which is the first task of your job queue. There's also a cleanup done right after the netrender command, so you'll unlikely get to see that .tmp file.

Edited by phong
Link to comment
Share on other sites

Thanks, that clarifies some things. Now my job is no longer erroring out. The next thing I think I need to figure out is how to customize the .alf file so that I can control my alfred jobs and render that rib. Is that necessary? Thanks!

Well the concept behind this is that the RIB file is generated only for the frame being rendered on the fly with a python script called AlfredRun.py. As you can see, the Alfred subtasks are generated while Alfred is running, because the tasks are created by that python script. The rib file gets deleted immediatly after the task is done, so you won't have any chance to change the scene definition at this stage, except you open up the AlfredRun.py file and change the file.write outputs, but that will be a lot of effort. If you want to distribute your renderings to Alfred with that level of control I'd recommend rendering ribs out of your Renderman ROP and write a little script which generates the alfspool file for you. That would be a lot easier than tweaking the python code.

Phong

Link to comment
Share on other sites

Thanks again for all the help! We now have it set up so that the Renderman ROP generates the RIBs, a Shell node calls netrender on those RIBs, then an Alfred node looks at the Shell node. We'll take a deeper look at the Alfred.py file to get some of the other control we need.

Link to comment
Share on other sites

Glad that I could help. My approach is pretty similar to yours, except that the shell node runs a python script to create the spool file and passes arbitrary renderoutput information as arguments to the .py file. That way, rendering can be deferred and job creation can be customized in a flexible manner.

Link to comment
Share on other sites

  • 1 month later...

Hi guys,

I know you guys have put this problem to bed but I am in the same boat and need some help. I have posted a video showing the problem in detail (Houdini 10, Alfred, RenderMan renderfarm and a WinXP environment). Could ya'll take a look at This Video and see if there is a way ya'll could help me out here? I have been chewing on this problem for 3 weeks now and it's starting to get to me.

Any help would be appreciated. Thank you

David

EDIT: I used the shell node as best I know how (which is not at all) and was able to get something going. Here is the Video.

Edited by barad_dur
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...