SceneHook Pipeline meanings?



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 09/07/2012 at 09:28, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   11.5 
    Platform:   Windows  ; Mac  ;  Mac OSX  ; 
    Language(s) :     C++  ;

    ---------
    Hi support,

    there are pipeline priority flags passed to the SceneHookData::Execute() function. Could you please explain which point in the pipeline they indeed define and what needs to be taken into account?

    For example these two:
    EXECUTION_DYNAMICS and EXECUTION_GENERATORS

    Basically I understand that Execute is called during the dynamics calculation stage and the Generators execution stage respectively.

    My questions are:
    1. when exactly are they called?
    Are the dynamics already calculated (e.g. all C4D bullet dynamics) or are they about to be calculated in EXECUTION_DYNAMICS. Same for generators, were they already executed (so were their GetVirtualObjects() functions called)?
    2. What information can be considered available or probably easier to answer, what information are not available?

    I would really like to know as there is literally no information about it in the docs (or I couldn't find them).

    Thanks in advance



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 13/07/2012 at 11:18, xxxxxxxx wrote:

    Anybody? It shouldn't be too hard to answer (I mean it must be known right? to any of the coders...).

    Thanks



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 13/07/2012 at 11:42, xxxxxxxx wrote:

    I don't have much info and I'm inferring from ObjectData (which might not be valid, of course). But what I found was that if the priority in AddToExecution is set to EXECUTIONPRIORITY_DYNAMICS, then Execute() is called before GetVirtualObjects. So when Execute is called, nothing has been generated at that point.

    If the priority is set to EXECUTIONPRIORITY_GENERATOR, then Execute() is called *after* GVO. So by that time objects have been generated.

    This implies that if priority is set to dynamics, when Execute is called the dynamics calculations are complete. But - in the SDK it says '(R11.5)' against EXECUTIONPRIORITY_DYNAMICS. It may be then that this does not apply to R12+ bullet dynamics.

    Don't know if that's any help, it's about all I've got.

    Steve



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 13/07/2012 at 12:24, xxxxxxxx wrote:

    Hi Steve,

    thanks first of all. Yes, I was aware that dynamics were calculated before the generators GVO. The issue is more that _GENERATOR is never called for a scenehook though the flag is specified in the Register function. So it's hard to figure out when, why and what is available (and the follow-up question would then have been why it's not called for a scenehook). Otherwise it would have been easy to test but till now I cannot get a full picture of the pipeline specifics.

    Anyway, it's good to know that GENERATOR (at least for objectdata) is a pipeline point after GVO, so thanks for that.

    But the support should know actually or be able to provide the necessary information. Someone of the MAXON developers must know. It's just "hey look at this question. what are the specs?", answer "yeah, this this and this is the pipeline", "oh ok, thanks I pass it on". Really, I don't see why this takes 4 days without an answer. I wish there was paid support as an alternative sometimes...


Log in to reply