Just wanted to get people's thoughts on the best way to submit multiple passes to Husk/Render farm without unnecessary cooking of the scene. An example:
I have 3 passes. I switch between them via a Context Option called 'pass'. In order to submit each pass to the farm, the Context Option needs to be re-evaluated before each submission can happen. This means waiting for the lop graph to cook for each and every render pass. Pretty slow in heavy scenes.
I would assume the simple answer is:
-Cache the hip file to disk
-Open hip file in background process
-Change Context Option and submit per-render pass
Whilst this would mean the user's current session is not held up while submission happens, the amount of time to send to the farm is still kind of long due to cooking the lop graph for each pass.
Is there a way to defer or abstract the lop graph cooking to ensure the Husk job does all the cooking once submitted and not before submission?
Abstracting LOP graph cooking from farm submission
2394 6 1-
- Hamilton Meathouse
- Member
- 209 posts
- Joined: 11月 2013
- オフライン
-
- mtucker
- スタッフ
- 4559 posts
- Joined: 7月 2005
- オフライン
-
- tamte
- Member
- 9281 posts
- Joined: 7月 2007
- オフライン
should be pretty straightforward using TOPs
(haven't tried, just assuming should be something like this)
- Wedge TOP - create attribute (whatever name, let's say "pass_wedge" as your context option) holding your context option values (to essentially get workitem per your context option value)
- USD TOP - set up your filename based on @pass_wedge attruibute as well as use Context Options section to create te actual "pass" context option with the value from workitem attribute @pass_wedge
(as long as you don't have Edit Context Options LOP in your LOPs that would override it, if you do, then use @pass_wedge directly in your Edit Context Option LOP or bypass it to allow global context option to be used )
- USD Render TOP - to pick up the upstream USD file and render
(haven't tried, just assuming should be something like this)
- Wedge TOP - create attribute (whatever name, let's say "pass_wedge" as your context option) holding your context option values (to essentially get workitem per your context option value)
- USD TOP - set up your filename based on @pass_wedge attruibute as well as use Context Options section to create te actual "pass" context option with the value from workitem attribute @pass_wedge
(as long as you don't have Edit Context Options LOP in your LOPs that would override it, if you do, then use @pass_wedge directly in your Edit Context Option LOP or bypass it to allow global context option to be used )
- USD Render TOP - to pick up the upstream USD file and render
Edited by tamte - 2021年10月19日 23:36:39
Tomas Slancik
CG Supervisor
Framestore, NY
CG Supervisor
Framestore, NY
-
- tamte
- Member
- 9281 posts
- Joined: 7月 2007
- オフライン
alternatively if the difference among those 3 (or N) usd files is minor, you may also want to consider having pre-render script during Husk execution that would apply the modification to usd in memory and bypass all the need for context options and multiple usd generation beforehand
essentially having only a single USD file and render N-times with the applied modification, but obviously useful only for suitable cases
essentially having only a single USD file and render N-times with the applied modification, but obviously useful only for suitable cases
Edited by tamte - 2021年10月19日 23:31:10
Tomas Slancik
CG Supervisor
Framestore, NY
CG Supervisor
Framestore, NY
-
- Hamilton Meathouse
- Member
- 209 posts
- Joined: 11月 2013
- オフライン
-
- Hamilton Meathouse
- Member
- 209 posts
- Joined: 11月 2013
- オフライン
Tomas would you happen to have time to rough out an example hip file? Or know of any TOP tutorials for LOP graphs? I found this one as a start: https://vimeo.com/420540314 [vimeo.com]
I didn't find a USD Top as you wrote above - I assume you meant USD Import Top?
I didn't find a USD Top as you wrote above - I assume you meant USD Import Top?
-
- tamte
- Member
- 9281 posts
- Joined: 7月 2007
- オフライン
-
- Quick Links