Skip to content

Consider adding time variable hierarchy to SceneInterface #237

Open

Description

@ldmoser

Our implementation of HoudiniScene (derived from SceneInterface) has an add-hoc method to specify the time in which we want to query the hierarchy that is coming out of the Houdini nodes.

Also, we are starting to consider implementing a GafferScene (also derived from SceneInterface) where the hierarchy is also dependent on time.

Let's discuss here what would be the advantages of doing this and also the challenges.

Activity

  1. ldmoser commented on Mar 7, 2014

    @ldmoser
    Author

    Our experience exporting a huge linked scene (with FX particles) was not good. As a result we have an internal file format based on PointsPrimitive, which scans all the particles across time and does a union and also sets a visibility attribute to simulate time-varying hierarchy.

    Should that be the behaviour in SceneCaches too?
    Or we would keep these formats only supporting constant hierarchies?

  2. added this to the Cortex 9 milestone on Mar 7, 2014
  3. johnhaddon commented on Mar 7, 2014

    @johnhaddon
    Member

    My gut feeling on this is that I'd really like to not complicate things any further in the SceneInterface - I like the simplicity of a hierarchy which is constant through time. I'd rather have a few special cases here and there for specific use cases in Houdini/Gaffer than I would have to make all code that ever deals with a SceneInterface able to cope with a time-varying hierarchy. If that number of special use cases grows then the balance changes and it might be preferable to deal with things everywhere, but I'm not convinced that we need to just yet.

    Perhaps our internal discussions about approaches to instancing should inform this decision too. If it turns out that we're going to procedurally instance onto them at render time (which I think makes sense), then we don't have so much need to store a time varying hierarchy on disk anyway?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions