I see how it might be impossible to allow the glslAdvancedPOP to have multiple passes with all the features it has by now. But is there a clever way to make it execute multiple passes given the option that we already have?
Thanks,
Joseff
Looking at the experimental wiki again, you’re quite explicit about glslAdvancedPOP not having multi passes.
I’m working on simulations that require substeps per frame but also for points to read from adjacent vertex attributes.
Would it be an option to allow the regular glslPOP from other attribute classes via TDInAttributeClass_attributeName()?
Hey Josef, thanks for the follow up, I was going to ask what the use case was and which feature from the GLSL Advanced POP you needed for multi pass.
I think from what you said indeed the most straightforward would be to give read only access to other attribute class attributes in the GLSL POP with the existing GLSL Advanced POP syntax.
I’ll add it as a RFE.
Otherwise in the mean time, a replicator workflow which I think you’re familiar with, is the way to go.
Thanks for the reply and the RFE! For now, using a replicator workflow will use more memory, correct?
Correct! For the multiple passes, for each attribute modified there is at most one temp buffer per attribute , and reading and writing ping pongs between final output and temp, otherwise with the replicator each pass will make a copy of the modified attributes.
In GLSL POP read-only attributes from non selected attribute class accessible with the TDInPoint_ TDInVert_ TDInPrim_ syntax will be in next release (I’ll update the wiki when it’s out).