Skip to content

Construct a SceneInterface from arbitrary args #1124

@andrewkaufman

Description

@andrewkaufman

Summary

For some file formats, it would be beneficial to pass an arbitrary dict of arguments to the factory mechanisms (eg SceneInterface::create( args ) and SharedSceneInterfaces.get( args ).

User story

What

A user might want to control how the scene description is loaded from disk, either to load only part of the file, or to load some aspect of it differently. Examples that come to mind are:

  • SCC
    • Load certain Sets or Tags
  • LSCC
    • Expand or collapse Link locations
  • USD
    • Load certain variants
    • Opt-out of skinning on skeletons
    • Load a "collapsed" instancer vs expanding prototypes
  • VDB
    • Load particular grids or point groups

Example scenario(s)

In Gaffer, this could be accomplished with downstream context manipulation that the SceneReader responds to, only loading partial data from the source file, or loading the data in a different manner.

Implementation notes

It may be possible to do this without ABI breaks and get it out for 10.1.x, but if its cleaner to do with ABI breaks waiting for 10.2+ might be the way to go. We should spec out the API we actually want to end up with and then decide.

Metadata

Metadata

Assignees

No one assigned

    Labels

    sceneIssues with IECoreScene

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions