Skip to content

Commit

Permalink
Merge pull request #1778 from sideeffects/sendupstream_tsc20240319
Browse files Browse the repository at this point in the history
Meeting notes of March 19th.
  • Loading branch information
jmlait authored Mar 26, 2024
2 parents c4b5143 + 266a0c0 commit 3331695
Showing 1 changed file with 80 additions and 0 deletions.
80 changes: 80 additions & 0 deletions tsc/meetings/2024-03-19.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
Minutes from OpenVDB TSC meeting, March 19th, 2024

Attendees: *Jeff* L., *Andre* P, *Dan* B., *Greg* H., *Rich* J.

Additional Attendees:
Dhruv Govil, Ivo Kondapaneni

Regrets: *Ken* M., *Nick* A.

Agenda:

1) Confirm quorum
2) Secretary
3) OpenVDB Half Grids
4) Load as Half Patch
5) Next meeting

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

1) Confirm quorum

Quorum is present.

2) Secretary

Secretary is Jeff Lait.

3) OpenVDB Half Grids

Support for half without a compute type is much slower and has
significant errors. Proposal is to add a Tree::ComputeType that is
identity with ValueType, but float for Half.

For many tools, like stencils or volumes, should they return Compute
Type? Does this break ABI? It shouldn't as the typedef should decay
to the base type for mangling? We could use an enable if to work
around if it somehow does mess up ABI.

What should be compute types?

Stencils have a value type that is there value type, different from
the tree's value type, so they can logically set this to the tree's
ComputeType.

How to get accessors or setters to use ComputeType? We could have
getComputeValue or getValue for the two types. But widening is free?

Should I be able to make stencils any compute type? With the tree's
compute type just the default? Eventually do we want float grids with
a compute type of double? Probably yes, but beyond this PR.

Import and export doesn't conflict with save float as half - they are
independent and this flag is ignored with half.

What half type do we use? All of our half types are the same
underlying bit pattern so it doesn't matter.

4) Arnold support for Half

How to load a float grid as a half grid. Add a scalarConversion type
for what the new grid's type should be.

We set that to the stream's metadata, and the grid descriptor uses
that. This creates a CreatingReaderFactory to read the source and
write out as the desired type.

Raw is.read() with reinterpret are replaced by the converting reader
that might do some casting internally.

seek should be seekElement() and take the count and position to make
it clear what it is doing.

Delayed loading will work as the stream has the converter attached to
it.

Will be made as a PR for further discussion.

5) Next meeting

Next meeting is on March 26th, 2024. 2pm-3pm EDT (GMT-4)

0 comments on commit 3331695

Please sign in to comment.