Uploaded image for project: 'OpenVDB'
  1. OpenVDB
  2. OVDB-138

VDB Merge SOP

XMLWordPrintable

    • Icon: New Feature New Feature
    • Resolution: Unresolved
    • Icon: Medium Medium
    • None
    • None
    • Houdini
    • None

      I've mocked up a prototype of the UI for the VDB Merge SOP to give a better idea of how it might work. 

      If possible, I'd like to pursue creating a functional SOP independently of the effort to introduce new and faster APIs for merging grids. That way, I can more easily test the underlying APIs within Houdini with minimal migration pain if we deploy this to production during this phase. Here's the parameter pane:

      I've taken a different approach as to the VDB Combine SOP where the different modes are split out per grid class/type. This is primarily to keep the set of the options short and relevant (ie "SDF Union" does nothing for non-level set grids, "Maximum" is confusing for Vec3s grids, "Points" is specific to VDB Point grids, etc). It also has another design consideration which is to try and make it likely that the user not be required to change any options (compared with the default "Copy A" mode of the VDB Combine SOP). This makes it perform closer to the way the native Houdini merge SOP is used.

       

      There is also an option to use the activity of all grids regardless of their grid class/type for activity unions and activity intersections:

      As we discussed, collation options are provided for various scenarios - merging all fog volume "density" grids or all float fog volumes regardless of name or all "density" grids regardless of whether they are float or double:

      Resampling is similar to the options provided on the VDB Combine SOP:

      With the important caveat that these options apply to the collated VDBs - ie use the transform of the first "density" grid. There is an additional option to provide a "reference" VDB as the first VDB (meaning the first grid found as you read the inputs from left-to-right) that offers the transform for all the subsequent grids. This then wouldn't be used for any processing:

       Thoughts most welcome.

        1. vdbmerge.png
          vdbmerge.png
          45 kB
        2. vdbmergeactivitymodes.png
          vdbmergeactivitymodes.png
          7 kB
        3. vdbmergecollation.png
          vdbmergecollation.png
          13 kB
        4. vdbmergenode.png
          vdbmergenode.png
          6 kB
        5. vdbmergereference.png
          vdbmergereference.png
          8 kB
        6. vdbmergeresample.png
          vdbmergeresample.png
          14 kB
        7. vdbmergesdfoption.png
          vdbmergesdfoption.png
          13 kB
        8. vdbvectormerge.png
          vdbvectormerge.png
          17 kB

            danrbailey danrbailey
            danrbailey danrbailey
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: