Skip to content

Commit 9dd8ac3

Browse files
authored
Merge pull request #1506 from apradhana/update_changes
Update changes
2 parents a19b08b + d147909 commit 9dd8ac3

File tree

155 files changed

+61595
-2117
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

155 files changed

+61595
-2117
lines changed

.github/workflows/docs.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,15 @@ jobs:
4040
container:
4141
# @note We can't update this as epydoc doesn't support python3. We'll
4242
# need to re-write the python docs to use sphinx
43-
image: aswf/ci-openvdb:2019
43+
image: aswf/ci-openvdb:2022
4444
steps:
4545
- uses: actions/checkout@v3
4646
- name: install_doxygen
4747
run: ./ci/install_doxygen.sh 1_8_11
48-
- name: install_epydoc
49-
run: pip install epydoc
48+
# - name: install_epydoc
49+
# run: pip install epydoc
5050
- name: install_latex
5151
run: yum -y install texlive-latex-bin texlive-dvips texlive-collection-fontsrecommended texlive-collection-latexrecommended
52-
- name: install_cmake
53-
run: ./ci/install_cmake.sh 3.18.0
5452
- name: build
5553
run: >
5654
./ci/build.sh -v
@@ -63,9 +61,9 @@ jobs:
6361
-DUSE_EXPLICIT_INSTANTIATION=OFF
6462
-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON
6563
\"
66-
- name: epydoc
67-
run: |
68-
epydoc --html -o /usr/local/share/doc/OpenVDB/html/python pyopenvdb
64+
# - name: epydoc
65+
# run: |
66+
# epydoc --html -o /usr/local/share/doc/OpenVDB/html/python pyopenvdb
6967
- name: pre_deploy
7068
# Overwrite global SSH configuration
7169
# https://github.com/peaceiris/actions-gh-pages/issues/719

.github/workflows/weekly.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -386,21 +386,21 @@ jobs:
386386
cd abi-compliance-checker && git checkout 7c175c45a8ba9ac41b8e47d8ebbab557b623b18e && cd -
387387
- name: build_latest
388388
run: >
389-
CXXFLAGS=-Og ./ci/build.sh -v
389+
sudo ./ci/build.sh -v
390390
--build-dir=build_latest
391391
--build-type=Debug
392392
--target=openvdb_shared
393393
--components=\"core\"
394-
--cargs=\'-DUSE_EXPLICIT_INSTANTIATION=OFF\'
394+
--cargs=\'-DUSE_EXPLICIT_INSTANTIATION=OFF -DDISABLE_DEPENDENCY_VERSION_CHECKS=ON\'
395395
- name: checkout_baseline
396396
run: git checkout v${VDB_MAJOR_VERSION}.0.0
397397
- name: build_baseline
398398
run: >
399-
CXXFLAGS=-Og ./ci/build.sh -v
399+
sudo ./ci/build.sh -v
400400
--build-type=Debug
401401
--target=openvdb_shared
402402
--components=\"core\"
403-
--cargs=\'-DUSE_EXPLICIT_INSTANTIATION=OFF\'
403+
--cargs=\'-DUSE_EXPLICIT_INSTANTIATION=OFF -DDISABLE_DEPENDENCY_VERSION_CHECKS=ON\'
404404
- name: abi_dump
405405
run: |
406406
abi-dumper/abi-dumper.pl build_latest/openvdb/openvdb/libopenvdb.so -o ABI-1.dump -lver 1

.github/workflows/whitespace.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ concurrency:
1717
cancel-in-progress: true
1818

1919
jobs:
20-
# Search the git repository for any trailing spaces excluding meeting notes
20+
# Search the git repository for any trailing spaces excluding meeting notes and auto-generated wlt files
2121
trailingspaces:
2222
runs-on: ubuntu-latest
2323
steps:
2424
- uses: actions/checkout@v3
2525
- name: test
2626
run: |
2727
set +e
28-
git grep -n -I -E '^.+[ ]+$' -- ':!tsc/meetings/*' ':!pendingchanges/*'
28+
git grep -n -I -E '^.+[ ]+$' -- ':!tsc/meetings/*' ':!pendingchanges/*' ':!*.wlt'
2929
test $? -eq 1
3030
3131
# Search for any tabs excluding meeting notes, image files and a few others
@@ -36,5 +36,5 @@ jobs:
3636
- name: test
3737
run: |
3838
set +e
39-
git grep -n " " -- ':!*/whitespace.yml' ':!tsc/meetings/*' ':!*.svg' ':!*.cmd' ':!*.png' ':!pendingchanges/*'
39+
git grep -n " " -- ':!*/whitespace.yml' ':!tsc/meetings/*' ':!*.svg' ':!*.cmd' ':!*.png' ':!pendingchanges/*' ':!*.wlt'
4040
test $? -eq 1

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
/build/*
2+
.DS_Store

CHANGES

Lines changed: 128 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,139 @@
11
OpenVDB Version History
22
=======================
33

4-
Version 9.1.1 - In development
4+
Version 10.0.0 - October 27, 2022
5+
6+
New Features:
7+
- Introducing OpenVDBLink, which provides a Mathematica interface to
8+
OpenVDB. This link ports over access to various grid containers including
9+
level sets, fog volumes, vector grids, integer grids, Boolean grids,
10+
and mask grids. Construction, modification, combinations, visualisations,
11+
queries, import, export, etc. can be achieved over grids too. Any
12+
Mathematica 3D region that's ConstantRegionQ and BoundedRegionQ can
13+
be represented as a level set grid, providing a more seamless integration
14+
with OpenVDB.
15+
- Introducing a new command-line tool, dubbed vdb_tool, that can combine any
16+
number of the of high-level tools available in openvdb/tools. For
17+
instance, it can convert a sequence of polygon meshes and particles to
18+
level sets, perform a large number of operations on these level set
19+
surfaces and export them as adaptive polyon meshes.
20+
- Added nanovdb::IndexGrid that allows for arbitrary voxel values and even
21+
multiple channels to be associated with NanoVDB grids. They are more
22+
flexible and memory efficient than regular grids at a small cost of
23+
random-access performance. IndexGrids are constructed with the new
24+
nanovdb::IndexGridBuilder and accessed with the new
25+
nanovdb::ChannelAccessor.
26+
- Added iterators to all tree node classes for visiting inactive, active, or
27+
all values and child nodes.
28+
- NanoVDB.h now includes standalone implementations of reading and writing
29+
uncompressed nanovdb grids buffers.
30+
- Added Stats::getExtrema, which computes the min/max values of all voxels
31+
in a NanoVDB grid that intersects with a user-defined bounding-box.
32+
- Added nanovdb::Mask::countOn(int) which is essential to the new
33+
nanovdb::IndexGrid.
34+
- Added RootNode::probeChild and InternalNode::probeChild.
35+
36+
Improvements:
37+
- Significantly improved the performance of all ValueAccessor methods which
38+
access LeafNode value buffer data. This improvement applies to any type
39+
which is delay load compatible (all default types except for bool and mask
40+
grids) and improves the performance of many OpenVDB tools.
41+
- Major updates to the command line interface of the vdb_ax binary, exposing
42+
more controls such as tile streaming, value iterator types and attribute
43+
bindings.
44+
- Improved the performance of volumeToMesh by 10-15%.
45+
- Added a new much improved nanovdb::NodeManager, that is both faster and
46+
more memory efficient, and that works on both the CPU and GPU. Note, it
47+
uses an handle for allocation (just like nanovdb::Grid) and replaces the
48+
old nanovdb::LeafManager which is now deprecated.
49+
- NanoToOpenVDB is extended to work with grids templated on Fp4, Fp8, Fp16,
50+
FpN, bool and ValueMask.
51+
- Rename RootNode::findTile to RootNode::probeTile and made it public.
52+
- Made Mask::getWord return both an const and non-const reference.
53+
- Improved unit-tests to use explicit 32B alignment (see aligment bug-fix
54+
below).
55+
- PNanoVDB.h (a C99 port of NanoVDB.h) has been updated.
556

657
Bug Fixes:
758
- Fixed an issue with tools::topologyToLevelSet which would previously
859
ignore active tiles in the input topology.
960
[Reported by Tobias Rittig]
61+
- Fixed a bug with ValueAccessor::addLeaf and ValueAccessor::addTile which
62+
wouldn't add the provided leaf nodes to the underlying tree. This bug did
63+
NOT affect the specialized accessors which are used by the default tree
64+
configuration.
65+
[Contributed by Andrey Zakirov]
66+
- Fixed a bug where ValueAccessor::probeNode<NodeT> and
67+
ValueAccessor:probeConstNode<NodeT> would return a nullptr if the NodeT
68+
type was not explicitly being cached by the accessor but the node existed
69+
in the tree.
70+
- Fixed a bug on Windows where math::Abs could truncate 64bit integer values.
71+
[Contributed by Edward Lam]
72+
- Fixed an occurance of undefined behaviour with math::floatToInt32 and
73+
math::doubleToInt64.
74+
[Reported by Vojtěch Bubník]
75+
- Fixed bugs in the sum merge that produced incorrect merged grids when
76+
deep-copying the input nodes or when non-zero background grids were being
77+
used.
78+
- Fixed a bug in FastSweeping where voxels/tiles are left with min/max float
79+
values.
80+
- Fixed a bug in math/Tuple.h that prevented compilation with VS2017.
81+
- Fixed a bug in nanovdb::HostBuffer that could produce crashes due to
82+
misaligned CPU memory allocations.
83+
- Fixed bug related to uninitialized memory in nanovdb::Grid which could
84+
confuse CRC32 checksum validation.
85+
- Fixed bugs related to the use of intrinsic functions for fast bit-counting
86+
in nanovdb.
87+
- Fixed a potential security vulnerability in NanoVDB.h related to buffer
88+
overflow exploits.
89+
90+
ABI changes:
91+
- ABI change to openvdb::RootNode, which now has a new member that defines
92+
the origin of the node. For now this origin is set to a default value of
93+
(0,0,0), but in the near future we will allow for offsets to improve
94+
access performance and reduce the memory footprints.
95+
- Removed deprecated virtual methods from AttributeArray.
96+
97+
API changes:
98+
- Removed PagedArray::push_back().
99+
- Removed Tree visitor methods from Tree, RootNode, InternalNode and
100+
LeafNode classes - visit(), visit2(), visitActiveBBox().
101+
- Removed LeafManager::getNodes().
102+
- Removed tools::dilateVoxels() and tools::erodeVoxels() in favor of
103+
tools::dilateActiveValues() and tools::erodeActiveValues().
104+
- Removed tools::FindActiveValues::any() and
105+
tools::FindActiveValues::none().
106+
- StringGrid and StringTrees have been removed.
107+
108+
Houdini:
109+
- Add convex hull activation for VDB Activate SOP (requires 19.5).
110+
- Improved SDF activation to use dynamic node manager.
111+
- Fixed a bug in VDB Visualize SOP where color values that exceed
112+
the range wrap around instead of being clamped.
113+
114+
Build:
115+
- Added OPENVDB_USE_DELAYED_LOAD flag that enables delayed loading and
116+
defaults to on.
117+
- Add a placeholder to inject the specific revision and URL used
118+
to build OpenVDB, useful for 3rd party build scripts to publish
119+
their exact versions.
120+
- Fixed an issue where OPENVDB_AX_DLL was not being defined on shared
121+
library builds of AX, resulting in symbols not being exported.
122+
[Reported by Ray Molenkamp]
123+
- Fixed an issue where setting Tbb_INCLUDE_DIR could cause CMake failures.
124+
- Updated FindTBB.cmake to support newer library ABI suffixing in
125+
TBB 2021.5.
126+
- Updated FindBlosc.cmake to better handle cases where blosc is built with
127+
external sources.
128+
- Resolved LLVM deprecation warnings in AX and added support for LLVM 14.
129+
- On Windows (MSVC), OpenVDB is now built with extra compiler options to
130+
ensure stricter C++ conformance: /permissive- /Zc:throwingNew /Zc:inline.
131+
- On Windows (MSVC), the _USE_MATH_DEFINES macro is no longer defined when
132+
including <openvdb/Platform.h> (or any dependent headers). If you were
133+
relying on this in your own project for M_PI, M_PI_2, etc. you can add
134+
-D_USE_MATH_DEFINES to your own project compiler options. See
135+
https://docs.microsoft.com/en-us/cpp/c-runtime-library/math-constants
136+
for more info.
10137

11138
Version 9.1.0 - June 9, 2022
12139

ci/build.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,8 @@ cmake \
189189
-DOPENVDB_USE_DEPRECATED_ABI_9=ON \
190190
-DOPENVDB_BUILD_VDB_PRINT=ON \
191191
-DOPENVDB_BUILD_VDB_LOD=ON \
192+
-DOPENVDB_BUILD_VDB_TOOL=ON \
193+
-DOPENVDB_TOOL_USE_NANO=OFF \
192194
-DOPENVDB_BUILD_PYTHON_UNITTESTS=ON \
193195
-DMSVC_MP_THREAD_COUNT=${PARMS[-j]} \
194196
"${CMAKE_EXTRA[@]}" \

cmake/FindOpenVDB.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,9 @@ foreach(COMPONENT ${OpenVDB_FIND_COMPONENTS})
394394
elseif(${COMPONENT} STREQUAL "openvdb_je")
395395
# alias to the result of openvdb which should be handled first
396396
set(OpenVDB_${COMPONENT}_LIBRARY ${OpenVDB_openvdb_LIBRARY})
397+
elseif(${COMPONENT} STREQUAL "nanovdb")
398+
# alias to the result of openvdb which should be handled first
399+
set(OpenVDB_${COMPONENT}_LIBRARY ${OpenVDB_openvdb_LIBRARY})
397400
else()
398401
find_library(OpenVDB_${COMPONENT}_LIBRARY ${LIB_NAME}
399402
${_FIND_OPENVDB_ADDITIONAL_OPTIONS}

0 commit comments

Comments
 (0)