|
| 1 | +Minutes from OpenVDB TSC meeting, January 16th, 2024 |
| 2 | + |
| 3 | +Attendees: *Jeff* L., *Dan* B., *Ken* M., *Richard* J., *Andre* P., |
| 4 | + *Greg* H. |
| 5 | + |
| 6 | +Additional Attendees: Marten Bojsen-Hansen (Autodesk), |
| 7 | + Paul Mark di Francesco (SideFX), Phill Mayer (Autodesk), |
| 8 | + Yannick Pomerleau, Jonah Friedman |
| 9 | + |
| 10 | +Regrets: *Nick* A., |
| 11 | + |
| 12 | +Agenda: |
| 13 | + |
| 14 | +1) Confirm quorum |
| 15 | +2) Secretary |
| 16 | +3) Autodesk VTT |
| 17 | +4) Next meeting |
| 18 | + |
| 19 | +------------ |
| 20 | + |
| 21 | +1) Confirm quorum |
| 22 | + |
| 23 | +Quorum is present. |
| 24 | + |
| 25 | +2) Secretary |
| 26 | + |
| 27 | +Secretary is Andre Pradhana. |
| 28 | + |
| 29 | +3) Autodesk VTT |
| 30 | + |
| 31 | +The TSC likes the idea of incorporating VTT into the VDB project because VTT |
| 32 | +is an orthogonal and complementary data structure to a VDB. VDB is sparse |
| 33 | +(VDB has a notion of an activation) but non-adaptive. VTT is dense, but adaptive |
| 34 | +in values. Fundamentally, it covers two cases of adaptive versus sparse. |
| 35 | +It makes sense to have both in one system. |
| 36 | + |
| 37 | +TSC asks if the name VTT can be changed because it sounds too similar to VDB, |
| 38 | +which may cause confusion when discussing the data structure. It is good to |
| 39 | +highlight the feature of VTT being dense and adaptive. The Autodesk team is |
| 40 | +not married to the name VTT. |
| 41 | + |
| 42 | +Tile means different things in VDB and VTT. In VDB this means a constant value |
| 43 | +that covers an index space that is larger than one by one by one (used for |
| 44 | +example for the interior of a level-set). In VTT, a tile is a node. |
| 45 | + |
| 46 | +There is some concern about repeated implementations of algorithms that are |
| 47 | +subtly different for different cases. Perhaps VDB can break things down into |
| 48 | +more building blocks, which facilitates better integration with having an |
| 49 | +adaptive grid. One suggestion is to have a superclass of the BaseGrid that |
| 50 | +splits into a sparse grid versus an adaptive grid. Specific tools, such as |
| 51 | +convert to polygons, should accept either type and know how to switch itself. |
| 52 | + |
| 53 | +Autodesk is looking to open-source NanoVTT first. TSC reiterates that we are |
| 54 | +interested in the C++ implementation of VTT also. We should make sure that there |
| 55 | +is a way forward to incorporate VTT if NanoVTT is already incorporated into the |
| 56 | +VDB project. |
| 57 | + |
| 58 | +A lesson from the VDB project is that object-oriented nature of the data |
| 59 | +structure is limiting. We are trying to move away, e.g. by moving signed |
| 60 | +flood fill out of the leaf nodes or a tree into tools. |
| 61 | + |
| 62 | +VTT has a lossy conversion to VDB because the adaptive information is not |
| 63 | +supported in VDB. Needs more clarification on the conversion from a VDB to a |
| 64 | +NanoVTT and if this conversion requires the whole OpenVTT library. |
| 65 | + |
| 66 | +VTT is considering having two types of grids, one static and another dynamic. |
| 67 | +If a user needs to do modification (e.g. create a new grid), they can switch to |
| 68 | +switch to a dynamic grid. |
| 69 | + |
| 70 | +Right now, VTT has a general serialization format in Bifrost. The hope is to |
| 71 | +use .vdb format if it gets adopted. Autodesk has a conversion from VTT to a |
| 72 | +single VDB right now, but they can look into converting a VTT into a stack of |
| 73 | +VDBs. It is lossy. It uses Bifrost SDK. |
| 74 | + |
| 75 | +VTT doesn’t have a transform. It is usually handled by higher-level tools, |
| 76 | +such as Maya or Arnold. One possibility is to use a VDB-like transform in VTT, |
| 77 | +but more conversation is needed for a technical decision. The caveat is VDB has |
| 78 | +a frustum transform. There is a question about limiting the dense volume to a |
| 79 | +meter cubed, which works well with frustum transform. |
| 80 | + |
| 81 | +On frustum transform, Houdini can produce this. Dan Bailey added a feature for |
| 82 | +the frustum rasterizer. |
| 83 | + |
| 84 | +NanoVTT was first created to address the issue that software, other than Arnold, |
| 85 | +should be able to render VTT volumes and to move to converge to VDB. |
| 86 | + |
| 87 | +We need to focus on the Minimum Viable Product (MVP) and be pragmatic: |
| 88 | + - The conversion from VTT to VDB |
| 89 | + - Serialization to .vdb format |
| 90 | + - Sampling |
| 91 | + - Regrading aspect of it. Top up and bottom down regrading. |
| 92 | + (like a refinement and coarsening oracle on an adaptive tree). |
| 93 | + |
| 94 | +VTT team says that this is along the line of what they are thinking because |
| 95 | +Bifrost is a visual programming language. They are thinking about what |
| 96 | +traversals should be exposed to users to use the volumes in Bifrost. |
| 97 | + |
| 98 | +There is a VTT Cookbook example. |
| 99 | + |
| 100 | +Ideas to follow up on: create a super base class, more thoughts on transform. |
| 101 | +The main concern is that we do not want to fragment the VDB project. We need to |
| 102 | +follow up with a written feedback. |
| 103 | + |
| 104 | +4) Next meeting |
| 105 | + |
| 106 | +Next meeting is on January 23rd, 2024. 2pm-3pm EDT (GMT-4). |
0 commit comments