Search - User list
Full Version: Can't figure out how to use TOPS with caching preroll and rendering a smaller shot range.
Root » PDG/TOPs » Can't figure out how to use TOPS with caching preroll and rendering a smaller shot range.
Andrew Graham
If anyone has a solution to this in TOPS, I'd love to see an example to #help me work it out- I cant get a subset frame range to work downstream which is super needed. If I generate a cache and sim with preroll (eg 900-1100), I can't set up per frame depends with a mantra rop/opengl rop to render to create a smaller shot range (1000-1100). I've tried map by range, partition by range. none of them seem to get me there with per frame dependencies. I can create a whole task dependency, but this is not fast enough.
Andrew Graham
edit: a part of the solution may be with partition by expression -

set partition expression to
@pdg_index

Set filter work items to @pdg_frame >= 1001

but this really doesn't help with downstream sims.
Andrew Graham
oh but what still sucks is items down stream can't use batch mode. they still attempt to use the full original range if batch mode is on. is there a solution for that?
tpetrick
You can use an Attribute Create to set the frame range attribute on the work items, before the node that creates the batches. When operating in batch mode, the ROP Fetch nodes use the incoming work item's frame and frame range to figure out how big the batch should be.

This is maybe something that should be configurable on the node - we'll look into that on our end.
Andrew Graham
I couldn't see the @frame_range attribute in the docs. is there a way to query all available arttributes? is it an int vector 2?
Andrew Graham
ok the attribute is ‘range’ and is a float 3 I think. seems to work, but I couldn't see it in the docs.

chipping away at this problem. the next part is, for running preroll, you may want to see interactive cooking playback in the tops context from 950 onwards, but you dont need to write the data out to disk until say frame 1000. we can potentially use a python node to force a cook of a dopnet and write out empty frames until frame 1000, but this has been temperamental last I tried it. Is there a better way to do it with tops?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB