Minutes from 107th OpenVDB TSC meeting, October 5th, 2021, (EDT)

Attendees: *Ken* M., *Jeff* L., *Andre* P, *Nick* A., *Dan* B.

Additional Attendees: JT Nelson (Blender), Richard Jones (DNeg),
Johannes Meng (Intel), Greg Hurst (United Therapeutics)

Regrets:

Agenda:

1) Confirm Quorum
2) Secretary
3) Google Forum
4) TSC Membership
5) NanoVDB
6) VDB Render + OpenEXR
7) Interrupters
8) Next meeting


1) Confirm Quorum

Quorum is present.

2) Secretary

Secretary is Dan Bailey.

3) Google Forum

Briefly discussed issue 1134. It is a known problem that the same stream cannot
be written to multiple times. It is desirable to fix this, but it's not clear
whether it is possible due to the nature of needing to write a header at the
front of the file.

4) TSC Membership

Unanimous vote that Richard Jones should join the TSC. Rich will now be added to
the mailing lists and given repo write access.

5) NanoVDB

Still working towards bringing NanoVDB into OpenVDB. The FindOpenVDB.cmake is
broken, but not deemed necessary to fix it. A CMake config would be better.

Nick points out that NanoVDB currently has three nested levels and that only two
would technically be required, Ken to look at addressing this in the PR.

Decision to create a v8.2 release branch and then make the master branch the
v9.0 candidate. v9.0 is the priority due to the hard release date.

6) VDB Render + OpenEXR

Nick has a PR incoming to make OpenEXR optional for the vdb_render binary. The
only remaining migration work for OpenEXR 3 is updating the internal version of
Half, however this is not required for a v9.0 release.

Brief discussion about switching on half runtime grids. Greg mentioned he has
tried this and it currently fails to compile. Likely won't make it into v9.
Greg also asked about whether there was any interest in adding support for
minifloat, an 8-bit floating point type. Not known among the TSC so something
to potentially be investigated.

7) Interrupters

Dan presented PR1193 where the interrupter methods are made into weak symbols
and overrided in the Houdini plugin. Motivation here is to reduce overall
instantiation cost and to allow the Houdini plugin to benefit from explicit
template instantiation. Jeff felt that it was potentially hard to debug if
something went wrong, particularly on different platforms and that using
polymorphism would be a better approach. Dan to revisit this implementation and
attempt this.

General discussion about the benefit of being able to compile out the
NullInterrupter in the core library. Dan's testing shows that there is
negigible performance to be gained in doing so unless the interrupter is polled
too frequently and in this case client code such as Houdini would suffer worse
performance. As a result, all agreed that for the benefit of improved
compilation times, this feature should be removed. Will need to continue to be
careful with how frequently interrupters are polled.

8) Next meeting

Next meeting is October 12th, 2021. 12pm-1pm EST (GMT-5). Greg Hurst to present.
