Skip to content

Commit

Permalink
Merge branch 'AcademySoftwareFoundation:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
saurabh1002 authored Apr 12, 2024
2 parents 4e2f0f0 + 45d2ce4 commit 4b342ad
Show file tree
Hide file tree
Showing 2 changed files with 156 additions and 0 deletions.
76 changes: 76 additions & 0 deletions tsc/meetings/2024-03-12.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
Minutes from OpenVDB TSC meeting, March 12th, 2024

Attendees: *Ken* M., *Jeff* L., *Andre* P, *Dan* B., *Greg* H., *Richard* J.

Additional Attendees: Ivo (Autodesk), John Mertic (Linux Foundation), Dhruv Govil (Apple)

Regrets: *Nick* A.

Agenda:

1) Confirm quorum
2) Secretary
3) Moving to Apache 2.0 License
4) PR-1760
5) Half-Grid Support Presentation by Greg
6) Next meeting

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

1) Confirm quorum

Quorum is present.

2) Secretary

Secretary is Andre Pradhana.

3) Moving to Apache 2.0 License

We decided to try to move from Mozilla Public License to Apache 2.

The key part of the process is that you cannot change the entire license until
every contributor is on board.

The reason we are moving to Apache 2 are: (1) many other ASWF projects are using
it, (2) it protects the project from patents disputes. The disadvantages of MPL
are: (1) any contributor can pull out their contributor and (2) the difficulty to
reliable proof that what is in the system comes from a particular source code.

Ken will share a google doc with a summary on why we are moving to Apache 2.0.
We will use this draft to communicate to contributors to sign their approval for
moving to Apache 2.0.

John Mertic will contact DreamWorks to inform them of this decision and to
follow through with the proces.

It is noted that what we need are contributors after the year 2018, since the
previous contributors are covered by DreamWorks.

4) PR-1760
Dan talks about Initial Adaptive Grid Prototype (PR-1760).

Dan tried to use the Point Advection class and go through the interpolation
through a different type of Grid. To make it work, Dan needs to modify the use of
Value Accessor, which was designed for Sparse Grid. He changed it to use an
Accessor from the Tree class itself. Essentially, this is pushing the creation of
an Accessor down into the Tree.

All the unit tests pass.

Dan asks for people to look at the PR and to provide feedback. He will try to
fix the Windows build problem. He suggests that we notify AutoDesk of this PR.

5) Half-Grid Support Presentation by Greg

Greg extended the support of HalfGrid to other tools, such as
CreateLevelSetSphere, FastSweeping, LevelSetFilter, LevelSetMeasure,
LevelSetMorph, LevelSetSphere, LevelSetTracker, LevelSetUtil, MeshToVolume,
RayIntersector, RayTracer, SignedFloodFill. He experiments with LevelSetFilter.

We discuss ValueType and ComputeType, which is similar to StoreType and
ReturnType.

6) Next meeting

Next meeting is on March 19th, 2024. 2pm-3pm EST (GMT-5).
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 4b342ad

Please sign in to comment.