mitsuba-renderer / mitsuba2-vdb-converter Goto Github PK
View Code? Open in Web Editor NEWA small utility to convert OpenVDB files to the Mitsuba 2 volume format
License: BSD 3-Clause "New" or "Revised" License
A small utility to convert OpenVDB files to the Mitsuba 2 volume format
License: BSD 3-Clause "New" or "Revised" License
I'm trying to install convertvdb. The cmake build was successful, but when the install fails right at the end with a clang linker error.
When I run cmake I get ...
-- The C compiler identification is Clang 9.0.1
-- The CXX compiler identification is Clang 9.0.1
-- Check for working C compiler: /usr/bin/clang-9
-- Check for working C compiler: /usr/bin/clang-9 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/clang++-9
-- Check for working CXX compiler: /usr/bin/clang++-9 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test HAS_CPP14_FLAG
-- Performing Test HAS_CPP14_FLAG - Success
-- Performing Test HAS_CPP11_FLAG
-- Performing Test HAS_CPP11_FLAG - Success
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of off64_t
-- Check size of off64_t - done
-- Looking for fseeko
-- Looking for fseeko - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Setting build type to 'Release' as none was specified.
-- Found ZLIB: zlibstatic (found version "1.2.8")
-- Performing Test HAVE_GCC_INLINE_ASM_AVX
-- Performing Test HAVE_GCC_INLINE_ASM_AVX - Success
-- Performing Test HAVE_SYSCONF_NPROCESSORS_ONLN
-- Performing Test HAVE_SYSCONF_NPROCESSORS_ONLN - Success
-- TBB: using libc++.
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Using X11 for window creation
-- Found X11: /usr/include
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
Configuring for Blosc version: 1.17.2.dev
-- Using LZ4 internal sources.
-- Using Snappy internal sources.
-- Using zlib internal sources.
-- Using ZSTD internal sources.
-- Building for system processor x86_64
-- Detected that BLOSC is used a subproject.
-- Adding run-time support for SSE2
-- Adding run-time support for AVX2
-- CMake Build Type: Release
-- Configuring for OpenVDB Version 7.0.0
-- Configuring for OpenVDB ABI Version 7
-- ------------- Configuring OpenVDBCore --------------
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found suitable version "1.71.0", minimum required is "1.61") found components: iostreams system
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
-- Could NOT find Jemalloc (missing: Jemalloc_LIBRARY)
CMake Warning at ext/openvdb/openvdb/CMakeLists.txt:143 (message):
Unable to find Jemalloc, attempting to fall back to TBB malloc.
It is recommended to use Jemalloc for optimum performance.
-- Found TBB: /usr/include (found suitable version "2020.1", minimum required is "2017.0") found components: tbbmalloc tbbmalloc_proxy
-- ----------- Configuring OpenVDBBinaries ------------
-- Configuring done
-- Generating done
-- Build files have been written to: /home/vbundu/mitsuba2-vdb-converter/build
When I run make -j, I get this error ....
[100%] Linking CXX executable vdb_print
/usr/bin/ld: ../libopenvdb.so.7.0.0: undefined reference to std::exception_ptr::exception_ptr(std::exception_ptr const&)' /usr/bin/ld: ../libopenvdb.so.7.0.0: undefined reference to
std::exception_ptr::~exception_ptr()'
/usr/bin/ld: ../libopenvdb.so.7.0.0: undefined reference to std::bad_alloc::bad_alloc()' /usr/bin/ld: ../libopenvdb.so.7.0.0: undefined reference to
std::bad_alloc::bad_alloc()'
/usr/bin/ld: ../libopenvdb.so.7.0.0: undefined reference to `std::rethrow_exception(std::exception_ptr)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [ext_build/openvdb/openvdb/cmd/CMakeFiles/vdb_print.dir/build.make:93: ext_build/openvdb/openvdb/cmd/vdb_print] Error 1
make[1]: *** [CMakeFiles/Makefile2:1171: ext_build/openvdb/openvdb/cmd/CMakeFiles/vdb_print.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
I also get this one as well ....
/usr/bin/ld: ext_build/openvdb/ext_build/tbb/libtbb_static.a(tbb_misc.cpp.o): in function tbb::bad_last_alloc::bad_last_alloc()': tbb_misc.cpp:(.text._ZN3tbb14bad_last_allocC2Ev[_ZN3tbb14bad_last_allocC2Ev]+0x5): undefined reference to
std::bad_alloc::bad_alloc()'
/usr/bin/ld: ext_build/openvdb/ext_build/tbb/libtbb_static.a(arena.cpp.o): in function tbb::interface7::internal::task_arena_base::internal_execute(tbb::interface7::internal::delegate_base&) const': arena.cpp:(.text+0x1ce3): undefined reference to
std::exception_ptr::exception_ptr(std::exception_ptr const&)'
/usr/bin/ld: arena.cpp:(.text+0x1ceb): undefined reference to std::rethrow_exception(std::exception_ptr)' /usr/bin/ld: arena.cpp:(.text+0x1cf8): undefined reference to
std::exception_ptr::~exception_ptr()'
/usr/bin/ld: arena.cpp:(.text+0x1f16): undefined reference to std::exception_ptr::exception_ptr(std::exception_ptr const&)' /usr/bin/ld: arena.cpp:(.text+0x1f1e): undefined reference to
std::rethrow_exception(std::exception_ptr)'
/usr/bin/ld: arena.cpp:(.text+0x1f32): undefined reference to `std::exception_ptr::~exception_ptr()'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [CMakeFiles/convertvdb.dir/build.make:93: convertvdb] Error 1
make[1]: *** [CMakeFiles/Makefile2:496: CMakeFiles/convertvdb.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Do you what may be the problem?
Hi, on line 58, the bound's dimension is not the true bound in index space , because the bound is not always begin at (0,0,0). I think it should be changed like this.
auto bbox_dim = grid->evalActiveVoxelDim();
auto bbox = grid->evalActiveVoxelBoundingBox();
auto ws_min = grid->indexToWorld(bbox.min());
auto ws_max = grid->indexToWorld(bbox.max() - openvdb::Vec3R(1,1,1));
for (int k = bbox.min().z(); k < bbox.max().z(); ++k) {
for (int j = bbox.min().y(); j < bbox.max().y(); ++j) {
for (int i = bbox.min().x(); i < bbox.max().x(); ++i) {
...
}
}
}
write(output_file, (int32_t)1); // type
write(output_file, (int32_t)bbox_dim.x() - 1);
write(output_file, (int32_t)bbox_dim.y() - 1);
write(output_file, (int32_t)bbox_dim.z() - 1);
write(output_file, (int32_t)1); // #n channels
For example, in the disney cloud dataset, the wdas_cloud_sixteenth.vdb,
bbox_dim = [126, 86, 154]
bbox.min() = [-66, -21, -90]
bbox.max() = [59, 64, 63]
If you think it's ok, I can make a PR for you.
Hi Delio,
Is there a license for this repository? Thanks!
Best,
Xianyao
Hello,
Writing here with an installation issue when running make -j
to build the utility.
Greetings,
I was wondering if there is a maximum file size limit for the vdbconvert executable? I ask because it seems I can't use the executable on vdb files that are larger than 200 KB; Past that, I get a bad alloc error.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.