Join our discord community

Forum breadcrumbs - You are here:ForumPrism: GeneralPDG and TOPs
Please or Register to create posts and topics.

PDG and TOPs

I'm really excited about the 17.5 release, especially the new PDG system with the new TOPs context. (https://vimeo.com/322225534)

It seems like even artists like me can be able so set up a dependency graph to solve time consuming pipeline issues. One of the first things that comes to my mind is that it would quite easy to set up a graph that does the following (and these are just random ideas to prove the point):

 

  • Go through all Maya animation scenes in a given project and update all rigs to the latest version (just to be sure)
  • export all alembic cache states
  • for each lighting shots (houdini) update alembic cache to the new versions
  • re-cache all effects (since the animation might have changed)
  • re-cache all animation to bgeo and or rs_proxies (much faster to load and potential sop nodes don't have to cook)
  • render all render states with a given quality setting from the top node
  • convert all renders to mp4 with a given quality setting from a top node
  • combine all renders into a single mp4 (or update in nuke, premiere ....and render the whole film from there to get sound effects etc included)

And this easily be plugged in to the Prism folder structure and versioning system. So if everything is set up correctly you could update your whole project by the click of a button  - and I guess each studio could easily change the structure - say if like in our project it would be great to seperate the render outpud from the shared/local context, you would just have to change the path in a single node.

I'm probably just scratching the surface here - would love to hear what ideas you might have!

I haven't seen the official presentation yet, but I was thinking for a while already how PDG could be implemented into Prism (except from the usual ROP node support).

Unfortunately I don't have too many ideas at the moment. PDG can be extremely powerful in studio pipelines, whith many TDs and big projects with complex dependencies. I'm not sure if PDG will play a big role for the average Houdini artist, which might not have very technical knowledge.

Many Prism users don't have a commercial Houdini license, so they couldn't use Prism features, which rely on PDG.

Maybe the focus shouldn't be that Prism executes tasks with the helps of TOPs, but that you can use TOPs to execute custom Task, which interact with Prism.

You have some good ideas there. I'll play a bit with PDG to see what's required from Prism to do something like that.

I'd love to hear more ideas how Prism could make use of PDG. Maybe I get more inspired then.

Hi Richard,

Nice to hear your thoughts. Just so you know TOPs will be included in apprentice and Indie versions of Houdini, and a big part of the whole concept of PDG is to democratice the pipeline set-up. Basically allowing more people to set up dependency graphs. Big studios will certainly have a lot to gain from this, but from my point of view running a small studio, this might change everything. As late as yesterday I hired a pipeline programmer to solve some repetitive tasks - it's not cheap. From what I see from the presentation, this could have been quite straight forward to set up with TOPs.

I agree that Prism shouldn't rely on TOPs as that would exclude many studios on freelancers using Prism, but like you say, allowing tops nodes to execute prism tasks would be a great feature. So maybe a set of prism python TOPs nodes would be a great addition - for example being able to procedurally set up render states, imports, alembic exports etc. I think when you see the presentation it will make sense 🙂

I just watched the presentation, but I knew how PDG works already before, so it wasn't too much new stuff. Unfortunately you shouldn't expect PDG to be included in Houdini Apprentice.

Once all the TOPs exist, which you need for your project it can be really powerful. But for example to update your Maya scenes you would need to create your own TOPs for that.

I'll definitely experiment with creating Prism TOPs, but each project can have different requirements, so it's not easy to decide which would be the most important ones. However, querying all Prism shots and scenefiles and updating/executing states sounds like a good starting point.

Yeah, it probably won't be in apprentice, but SideFX have confirmed it for Indie at least.

What I'm hoping is that I can define a project in a speadsheet with seq, shots and set what assets go in the shot. Run that with TOPs which parse it to json and build all the scenes with all the correct prism imports etc. This would for example be the animation scene assembly, and it could do the same for the llight and render scene assembly. Lastly I can see good use to also go through the whole project and update all assets and all sims and make a render of the whole project at the current state. That is something that I spend a lot of my time doing manually, and I can't wait to speed that process up with PDG.

I see your point with making nodes, but I bet it's cheaper for my to hire someone to make the nodes that are not available in the ecosystem, than to have them build a custom pipeline from scratch - which also makes it so that the project will be heavily dependant on that one person - with PDG since its a familiar layout, anyone who knows houdini can in teory understand the graph flow and edit it.