seth_ro18 Posted March 3, 2010 Share Posted March 3, 2010 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 Quote Link to comment Share on other sites More sharing options...
phong Posted March 4, 2010 Share Posted March 4, 2010 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. Quote Link to comment Share on other sites More sharing options...
seth_ro18 Posted March 4, 2010 Author Share Posted March 4, 2010 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? Quote Link to comment Share on other sites More sharing options...
phong Posted March 4, 2010 Share Posted March 4, 2010 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 Quote Link to comment Share on other sites More sharing options...
phong Posted March 4, 2010 Share Posted March 4, 2010 (edited) 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 March 4, 2010 by phong Quote Link to comment Share on other sites More sharing options...
seth_ro18 Posted March 4, 2010 Author Share Posted March 4, 2010 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! Quote Link to comment Share on other sites More sharing options...
phong Posted March 5, 2010 Share Posted March 5, 2010 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 Quote Link to comment Share on other sites More sharing options...
seth_ro18 Posted March 6, 2010 Author Share Posted March 6, 2010 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. Quote Link to comment Share on other sites More sharing options...
phong Posted March 6, 2010 Share Posted March 6, 2010 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. Quote Link to comment Share on other sites More sharing options...
barad_dur Posted April 15, 2010 Share Posted April 15, 2010 (edited) 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 April 16, 2010 by barad_dur 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.