-
Notifications
You must be signed in to change notification settings - Fork 666
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NanoVDB v32.7.0 #1807
NanoVDB v32.7.0 #1807
Conversation
Signed-off-by: Ken Museth <[email protected]>
Signed-off-by: Ken Museth <[email protected]>
Signed-off-by: Ken Museth <[email protected]>
Signed-off-by: Ken Museth <[email protected]>
doc/nanovdb/SourceTree.md
Outdated
* [GridHandle.h](https://github.com/AcademySoftwareFoundation/openvdb/blob/master/nanovdb/nanovdb/GridHandle.h) defines a handler for the memory allocated to a NanoVDB grid. | ||
* [io/IO.h](https://github.com/AcademySoftwareFoundation/openvdb/blob/master/nanovdb/nanovdb/io/IO.h) implements I/O support. | ||
* [tools/CreateNanoGrid.h](https://github.com/AcademySoftwareFoundation/openvdb/blob/master/nanovdb/nanovdb/tools/CreateNanoGrid.h) defines the converter from OpenVDB to NanoVDB and obviously depends on the OpenVDB library (as the only header file). | ||
* [util/Ray.h](https://github.com/AcademySoftwareFoundation/openvdb/blob/master/nanovdb/nanovdb/util/Ray.h) Ray class. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be math/Ray.h
and https://github.com/AcademySoftwareFoundation/openvdb/blob/master/nanovdb/nanovdb/math/Ray.h
.
doc/nanovdb/SourceTree.md
Outdated
* [io/IO.h](https://github.com/AcademySoftwareFoundation/openvdb/blob/master/nanovdb/nanovdb/io/IO.h) implements I/O support. | ||
* [tools/CreateNanoGrid.h](https://github.com/AcademySoftwareFoundation/openvdb/blob/master/nanovdb/nanovdb/tools/CreateNanoGrid.h) defines the converter from OpenVDB to NanoVDB and obviously depends on the OpenVDB library (as the only header file). | ||
* [util/Ray.h](https://github.com/AcademySoftwareFoundation/openvdb/blob/master/nanovdb/nanovdb/util/Ray.h) Ray class. | ||
* [util/HDDA.h](https://github.com/AcademySoftwareFoundation/openvdb/blob/master/nanovdb/nanovdb/util/HDDA.h) HDDA related. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be math.HDDA.h
and https://github.com/AcademySoftwareFoundation/openvdb/blob/master/nanovdb/nanovdb/math/HDDA.h
.
doc/nanovdb/SourceTree.md
Outdated
* [tools/CreateNanoGrid.h](https://github.com/AcademySoftwareFoundation/openvdb/blob/master/nanovdb/nanovdb/tools/CreateNanoGrid.h) defines the converter from OpenVDB to NanoVDB and obviously depends on the OpenVDB library (as the only header file). | ||
* [util/Ray.h](https://github.com/AcademySoftwareFoundation/openvdb/blob/master/nanovdb/nanovdb/util/Ray.h) Ray class. | ||
* [util/HDDA.h](https://github.com/AcademySoftwareFoundation/openvdb/blob/master/nanovdb/nanovdb/util/HDDA.h) HDDA related. | ||
* [util/SampleFromVoxels.h](https://github.com/AcademySoftwareFoundation/openvdb/blob/master/nanovdb/nanovdb/util/SampleFromVoxels.h) interpolation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be math/SampleFromVoxels.h
and https://github.com/AcademySoftwareFoundation/openvdb/blob/master/nanovdb/nanovdb/math/SampleFromVoxels.h
.
│ └── validate | ||
│ └── nanovdb_validate.cc | ||
├── CNanoVDB.h | ||
├── cuda |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good call.
├── docs | ||
│ ├── CMakeLists.txt | ||
│ ├── codingstyle.txt | ||
│ └── doxygen-config | ||
├── examples | ||
│ ├── benchmark |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I forgot that we took away the benchmarks.
@@ -0,0 +1,100 @@ | |||
#!/bin/bash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We probably need a similar file that runs on Windows.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes good idea but I have no idea how to do scripting with string replacements in Windows
Signed-off-by: Ken Museth <[email protected]>
Signed-off-by: Ken Museth <[email protected]>
/// @details This function allows for generic programming by converting GridData | ||
/// to a NanoGrid of the type encoded in GridData::mGridType. | ||
template<typename OpT, typename GridDataT, typename... ArgsT> | ||
auto callNanoGrid(GridDataT *gridData, ArgsT&&... args) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it make sense to change the name of this function from callNanoGrid
to processTypedGrid
? The argument for changing the name to processTypedGrid
is that it provides a similar functionality as the one in openvdb, cf. this documentation. The argument against changing the name is because it expects a different 'signature' on the operator that a user needs to pass.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved!
@apradhana - so other than the fact that the CI is broken you're fine if I merge this into master? |
Hi, @kmuseth, yes, you can merge it to master. These are my reasons:
One thing to note after this change is that we need to keep in mind that |
For completeness, I tested the NanoVDB version that comes from this PR along with the CI work that is currently in progress here and it shows that the failing CIs are the windows-static builds. |
Maybe fix the CI first if you're doing that anyway |
NanoVDB 32.7. Signed-off-by: apradhana <[email protected]>
94da828
to
569eda1
Compare
aea0f0e
into
AcademySoftwareFoundation:master
Introducing NanoVDB v32.7.0, which is a major refactoring of v32.6, primarily related to the introduction of new namespaces and an accompanying restructuring of the directory layout of header files. This will likely require changes to client code! To this end I have included a shell script (
cmd/updateFiles.sh
) that will scan files and make (most) of the required changes.The motivation for there these changes is twofold: First we want to use the same practice in terms of name spaces as OpenVDB and second the old version (32.6) was getting cluttered and messy. Specifically the main changes are:
nanovdb
as a namespacemath
,tools
,cuda
,io
Here are some examples of changes: