Minutes from 122-nd OpenVDB TSC meeting, February 22nd, 2022, (EDT)

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

Additional Attendees: Sebastian Gaida, Xavier Martin Ramirez (ILM),
Greg Hurst (United Therapeutics), Kyle Wardlow (United Therapeutics),
Bruce Cherniak (Intel)
.
Regrets: None

Agenda:

1) Confirm quorum
2) Secretary
3) Forum
4) Rasterizing VDB from Particles
5) Next Meeting

--------------------

1) Confirm quorum

Quorum is present.

2) Secretary

Secretary is Andre Pradhana.

3) Forum

a) Google Forum v.s. Github Discussion

Ken will post on the Google Forum to encourage people to embrace Github
Discussion. Dan will post on the Github Discussion to say that you should also
see the Google Forum.

b) Blosc

There are two issues related to Blosc. Nick will take a look at it.

c) VDB Print and VDB memusage

Someone uses VDB Print and sees a discrepancy between the expected VDB memory
value with the one printed. This shows that delayed loading is working. Ken thinks
that we should just provide "(out-of-core)" printing. All you need to know is the
number of leaf nodes and the type of data to know what is the in-core memory usage.
Providing these numbers without loading the VDB is useful.

d) NanoVDB (Github Discussion 1307)

This question is from Sebastian Gaida.

4) Rasterizing VDB from Particles

Dan and Xavier Martin Ramirez did a presentation on rasterizing VDB from
particles. Several points:
 - This is different from Nick's work on particle rasterizer. This seems to
   have more applications in rendering, e.g. in the context of volumetric
   motion blur. Nick's work is in the context of particle-skinning and creating
   a level set from points.
 - This tool is to rasterize attributes to VDBs, e.g. in the context of
   rasterizing camera motion blur particles. It can rasterize density, mask,
   integer, float, and vector. It does clipping based on frustum.
 - Unique to this tool is rasterization to frustum grid.
 - Xavier shows that their approach to associate a voxel with a pixel on
   the screen will keep rendering the VDB to more efficient than rendering
   points. Memory usage is lower because we have fewer voxels than particle
   numbers. The output from volume and particle renderings look identical.
   The timing to finish a volume render using this approach is also faster
   compared to particle based rendering.
 - Nick is interested in a graph that demonstrates performance over time
   in relation to underlying resolution.
 - Dan talks about the different modes it supports: accumulators, max, and
   average.
 - It supports the use of mask.
 - This is based on scatter method. Nick's implementation is based on gather
   because he targets level sets applications, SIMD optimization, and
   prioritizing thread synchronization.
 - It targets different use cases as Nick's point rasterization, so both
   methods should coexist in OpenVDB.
 - Nick will talk about his point rasterization PR the next time.

5) Next Meeting

Next meeting is in one week, March 1st, 2022. 1pm-2pm EST (GMT-5).
