|
| 1 | +Minutes from 159th OpenVDB TSC meeting, January 17th, 2023 |
| 2 | + |
| 3 | +Attendees: *Jeff* L., *Andre* P, *Dan* B., *Ken* M., *Nick* A., *Greg* |
| 4 | +H., *Rich* J. |
| 5 | + |
| 6 | +Additional Attendees: Peyton Murray |
| 7 | + |
| 8 | +Agenda: |
| 9 | + |
| 10 | +1) Confirm quorum |
| 11 | +2) Secretary |
| 12 | +3) Forum |
| 13 | +4) Python Bindings |
| 14 | +5) Hollow VDB |
| 15 | +6) UUID Update |
| 16 | +7) ASWF Annual Meeting |
| 17 | +8) VDB Merge Max |
| 18 | +9) Next meeting |
| 19 | + |
| 20 | +------------ |
| 21 | + |
| 22 | +1) Confirm quorum |
| 23 | + |
| 24 | +Quorum is present. |
| 25 | + |
| 26 | +2) Secretary |
| 27 | + |
| 28 | +Secretary is Jeff Lait. |
| 29 | + |
| 30 | +3) Forum |
| 31 | + |
| 32 | +There is one question about the sharp edges reconstruction that exists |
| 33 | +in Houdini but not the core library. This has been discussed |
| 34 | +previously where we will be happy with someone porting the available |
| 35 | +code into the core library. |
| 36 | + |
| 37 | +4) Python Bindings |
| 38 | + |
| 39 | +Peyton added some automatons to cmake to support python. But |
| 40 | +pyopenvdb exists, so we can't publish. We need the owner's permission |
| 41 | +to take over, but have not been able to get consistent reply. So |
| 42 | +perhaps we should publish as openvdb bindings on PyPi. We have a PR |
| 43 | +to make all the python bindings pybind11. Changing the name to |
| 44 | +openvdb seems totally fine. Peyton will put it on hold until the |
| 45 | +pybind11 is done. Renaming the module is most useful if we changed |
| 46 | +the API. We could deprecate the old pyopenvdb vs openvdb? Maybe |
| 47 | +pybind11 could publish to openvdb and old one publishes to pyopenvdb? |
| 48 | + |
| 49 | +Conclusion: pybind11 will publish to openvdb and we do not have to overtake |
| 50 | +the pyopenvdb package. |
| 51 | + |
| 52 | +Peyton will summarize this on the existing automation PR. |
| 53 | + |
| 54 | +5) Hollow VDB |
| 55 | + |
| 56 | +Discussion of the problem with dual contouring not matching the |
| 57 | +interpolation. In magnification this can become quite severe so the |
| 58 | +oracle will set entire tiles to the wrong sign. However, |
| 59 | +mangnification is also the case where there is little need for the |
| 60 | +dual contouring other than avoiding building a fat band. The plan is |
| 61 | +to investigate resampling top-down a narrow band for the magnification |
| 62 | +case and see how well it works. |
| 63 | + |
| 64 | +This would be the rebuild changes behaviour depending on magnification |
| 65 | +vs minification. |
| 66 | + |
| 67 | + |
| 68 | +6) UUID Update |
| 69 | + |
| 70 | +Can the UUID in the file system be an arbitrary tag? It is just a |
| 71 | +random string. We can support blank strings to mean no uuid that |
| 72 | +always fails comparison checks. std::random_device can throw so we |
| 73 | +need a sensible action in that case. |
| 74 | + |
| 75 | +Why do we have UUID in vdb tools? It currently is only 32 bits of |
| 76 | +entropy, so has to be changed to cycle from std::random_device |
| 77 | +instead. |
| 78 | + |
| 79 | +7) ASWF Annual Meeting |
| 80 | + |
| 81 | +The meeting is on February 17th. TSC updates are now optional. We |
| 82 | +have to ask to present rather than mandatory presentation. There are |
| 83 | +10, 20, and 40 minutes timeslots. Do we have any updates? |
| 84 | + |
| 85 | +Conclusion: We will not have a presentation as our forward looking |
| 86 | +report hasn't changed overmuch. |
| 87 | + |
| 88 | +There is both a public part, and a governing board meeting that is |
| 89 | +closed. The second half requires a set of bullet points. |
| 90 | + |
| 91 | +Do we do a siggraph presentation? |
| 92 | + |
| 93 | +Bullet points are due January 19th. We should point out that the paid |
| 94 | +runners in github actions made a big improvement for our last release. |
| 95 | + |
| 96 | +We can commit to making Boost optional. |
| 97 | + |
| 98 | +We can list as likely having pybind11, hollow VDB, half support, and |
| 99 | +vdb blend-fillet. |
| 100 | + |
| 101 | +We should consider a siggraph course this year. Next meeting is to |
| 102 | +discuss farther. |
| 103 | + |
| 104 | +8) VDB Merge Max |
| 105 | + |
| 106 | +VDB Combine and Max produce different activation rules. Inactive |
| 107 | +non-background values in particular are causing issues. If an |
| 108 | +inactive voxel has the larger value, does it copy the inactivity? |
| 109 | + |
| 110 | +This seems to be something that should be an option? Should inactive |
| 111 | +voxels contribute at all? |
| 112 | + |
| 113 | +Max seems it should be order independent with the inactivity copying, |
| 114 | +which seems contrary to the usual symmetry for Max. |
| 115 | + |
| 116 | +How do we expose an option? Do we say Max with Active and Max |
| 117 | +without? Maybe a transfer active state toggle? |
| 118 | + |
| 119 | +Unioning the two active states seems best? Or still needs to be an |
| 120 | +option? Or do we just ignore inactive entirely? |
| 121 | + |
| 122 | +What is should an empty grid with background value of ten which you |
| 123 | +max with a grid with topology with values less than ten result in? Is |
| 124 | +it the same topology set to 10? Or is it blown away empty grid with |
| 125 | +background value of 10? |
| 126 | + |
| 127 | +VDB Combine explicitly sets a union topology. By definition, it |
| 128 | +unions topology and then applies the per-voxel operation. |
| 129 | + |
| 130 | +In general, we need a tool to set inactive values to background value. |
| 131 | + |
| 132 | +This ties back to inactive voxels containing non-background values. A |
| 133 | +lot of tools just use inactive as mask. And a lot of tools act as if |
| 134 | +inactive doesn't exist. |
| 135 | + |
| 136 | +So long as we document the choices we are okay with any particular |
| 137 | +answer to this. Outside that is undefined behavior. |
| 138 | + |
| 139 | +9) Next meeting |
| 140 | + |
| 141 | +Next meeting is on January 24th, 2023. 2pm-3pm EDT (GMT-4). |
0 commit comments