Volumes

  • The key difference: Grids can be grouped together with meaning even when they have no topological similarity
  • Key point Geometry shouldn't be the only way to have data-flow in Blender
    • This design transcends geometry nodes in that way
    • Similar data types
      • Grids
      • Images
      • Lists
  • Capturing a field into a grid using an existing topology of a volume is a nice way to use existing concepts
  • For performance, it's important that grids have the same transform
  • Moving the UX to align more directly to the internal data makes more sense for volumes since it's so performance sensitive
    • Separating references from storage is more confusing when the data is actually completely independent
  • A grid with transforms/resolution is similar to a canvas in the compositor
    • Each image has its own location and rotation
    • Without grids, the analagous concept is geometry instead of grids
  • Geometry is data with meaning attached
    • Comparison to lists and point clouds: "List is to point cloud as grid is to volue"
      • Grease Pencil = Curves + more attributes
      • Point Cloud = List + Material
      • Volume = Grid + "How to render the grid"
    • Though, grids are closer to "geometry" than lists since they already have more meaning attached
  • Having a "data socket" would be a first step to integrating the node systems
  • Geometries are used to affect more than one grid at a time
  • A list of grids is also similar to a volume. Nodes could process "for each item in list" implicitly like some other node systems
  • If a volume guaranteed that its grids had the same transform, that would give them more shared meaning and possibly a more compelling reason to be able to separate them
  • Sparsity is just a performance consideration, not a key design point

Questions/To-Do

  • Could the Grid socket also process volumes, similar to how the curve nodes process GP data?
  • If "Blur Attribute" can be a field, why can't volume operations be a field as well?
  • Can there be implicit conversions from grids to volumes?
  • Need a list of pros and cons
  • Using the new data-flow concept just for volumes might not be compelling enough
  • Does the fields concept still work for volumes? If no, why not?
  • How often do we use multiple grids at the same time?
  • Is there a way to make dealing with multiple grids more convenient?
  • Would it make sense to somehow introduce both methods at the same time so people have the choice?