forked from AcademySoftwareFoundation/openvdb
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Jeff Lait <jlait@andorra.sidefx.com>
- Loading branch information
Showing
1 changed file
with
80 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |