Skip to content

Commit 3331695

Browse files
authored
Merge pull request #1778 from sideeffects/sendupstream_tsc20240319
Meeting notes of March 19th.
2 parents c4b5143 + 266a0c0 commit 3331695

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed

tsc/meetings/2024-03-19.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
Minutes from OpenVDB TSC meeting, March 19th, 2024
2+
3+
Attendees: *Jeff* L., *Andre* P, *Dan* B., *Greg* H., *Rich* J.
4+
5+
Additional Attendees:
6+
Dhruv Govil, Ivo Kondapaneni
7+
8+
Regrets: *Ken* M., *Nick* A.
9+
10+
Agenda:
11+
12+
1) Confirm quorum
13+
2) Secretary
14+
3) OpenVDB Half Grids
15+
4) Load as Half Patch
16+
5) Next meeting
17+
18+
------------
19+
20+
1) Confirm quorum
21+
22+
Quorum is present.
23+
24+
2) Secretary
25+
26+
Secretary is Jeff Lait.
27+
28+
3) OpenVDB Half Grids
29+
30+
Support for half without a compute type is much slower and has
31+
significant errors. Proposal is to add a Tree::ComputeType that is
32+
identity with ValueType, but float for Half.
33+
34+
For many tools, like stencils or volumes, should they return Compute
35+
Type? Does this break ABI? It shouldn't as the typedef should decay
36+
to the base type for mangling? We could use an enable if to work
37+
around if it somehow does mess up ABI.
38+
39+
What should be compute types?
40+
41+
Stencils have a value type that is there value type, different from
42+
the tree's value type, so they can logically set this to the tree's
43+
ComputeType.
44+
45+
How to get accessors or setters to use ComputeType? We could have
46+
getComputeValue or getValue for the two types. But widening is free?
47+
48+
Should I be able to make stencils any compute type? With the tree's
49+
compute type just the default? Eventually do we want float grids with
50+
a compute type of double? Probably yes, but beyond this PR.
51+
52+
Import and export doesn't conflict with save float as half - they are
53+
independent and this flag is ignored with half.
54+
55+
What half type do we use? All of our half types are the same
56+
underlying bit pattern so it doesn't matter.
57+
58+
4) Arnold support for Half
59+
60+
How to load a float grid as a half grid. Add a scalarConversion type
61+
for what the new grid's type should be.
62+
63+
We set that to the stream's metadata, and the grid descriptor uses
64+
that. This creates a CreatingReaderFactory to read the source and
65+
write out as the desired type.
66+
67+
Raw is.read() with reinterpret are replaced by the converting reader
68+
that might do some casting internally.
69+
70+
seek should be seekElement() and take the count and position to make
71+
it clear what it is doing.
72+
73+
Delayed loading will work as the stream has the converter attached to
74+
it.
75+
76+
Will be made as a PR for further discussion.
77+
78+
5) Next meeting
79+
80+
Next meeting is on March 26th, 2024. 2pm-3pm EDT (GMT-4)

0 commit comments

Comments
 (0)