-
Notifications
You must be signed in to change notification settings - Fork 125
Description
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.