renderkit / openvkl Goto Github PK
View Code? Open in Web Editor NEWIntel(R) Open Volume Kernel Library
License: Apache License 2.0
Intel(R) Open Volume Kernel Library
License: Apache License 2.0
I hope my nomenclature is correct....
I'm wondering if there will be support for sampling vec3f on an unstrctured volume similar to structured....
[I know this is may be hard]
i.e. vec3f v = VKLUnstructuredVolume_sample(...)
We could use this, for example, to sample a vector field, useful for particle advection in unstructured volumes...
Otherwise, it seems like we'd have to create a volume/sampler for each component... could be expensive for us memorywise...
I do see some internal use of with particle sampling but nothing exposed by the api... any hope?
Thanks in advance for help/suggestions, openvkl/ospray remains fairly essential for our group.
-Tim
// sample (multiple attributes)
unsigned int M = 3;
unsigned int attributeIndices[] = {0, 1, 2};
float samples[3];
vklComputeSampleM(&sampler, &coord, samples, M, attributeIndices, time);
printf("\tsampling (multiple attributes)\n");
printf("\t\tsamples = %f %f %f\n\n", samples[0], samples[1], samples[2]);
Please provide checksums for superbuild dependencies:
https://cmake.org/cmake/help/latest/module/ExternalProject.html
This makes building on systems without an Internet connection easier.
I now get a new error, when building the examples :
[ 53%] Linking CXX executable ../../vklExamples
cd /tmp/ebuser/avx2/OpenVKL/0.10.0/iccifort-2020.1.217/easybuild_obj/examples/interactive && /cvmfs/soft.computecanada.ca/gentoo/2020/usr/bin/cmake -E cmake_link_script CMakeFiles/vklExamples.dir/link.txt --verbose=1
/tmp/eb-gm8eeave/tmpgggvr06h/icpc -O2 -march=core-avx2 -axCore-AVX512 -ftz -fp-speculation=safe -fp-model source -no-ansi-alias -O3 -DNDEBUG -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/blosc/1.17.1/lib -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/openexr/2.5.2/lib64 -L/cvmfs/soft.computecanada.ca/easybuild/software/ 2020/avx2/Compiler/intel2020/openvdb/7.0.0/lib64 -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Compiler/intel2020/openvdb/7.0.0/lib -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/rkcommon/1.4.2/lib -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Compiler/intel2020/boost/1.72.0/lib -L/cvmfs/soft.computecanada.ca/ easybuild/software/2020/avx2/Compiler/intel2020/embree/3.11.0/lib64 -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/glfw/3.3.2/lib64 -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/tbb/2020.2/lib -L/cvmfs/restricted.computecanada.ca/easybuild/software/2020/Core/intel/2020.1.217/lib/intel64 -rdynamic CMakeFiles/vklExamples.dir/ window/ArcballCamera.cpp.o CMakeFiles/vklExamples.dir/window/VKLWindow.cpp.o CMakeFiles/vklExamples.dir/AppInit.cpp.o CMakeFiles/vklExamples.dir/vklExamples.cpp.o CMakeFiles/vklExamples.dir/imgui/imgui.cpp.o CMakeFiles/vklExamples.dir/imgui/imgui_draw.cpp.o CMakeFiles/vklExamples.dir/imgui/imgui_demo.cpp.o CMakeFiles/vklExamples.dir/window/GLFWVKLWindow.cpp.o CMakeFiles/vklExamples.dir/window/imgui_impl_glfw_gl3.cpp.o CMakeFiles/vklExamples.dir/window/TransferFunctionWidget.cpp.o -o ../../vklExamples -Wl,-rpath,/tmp/ebuser/avx2/OpenVKL/0.10.0/iccifort-2020.1.217/easybuild_obj: /cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/glfw/3.3.2/lib64/libglfw.so.3.3 ../../libvkl_example_renderers.a -lGL -lGLU /cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Compiler/intel2020/openvdb/7.0.0/lib/libopenvdb.so /cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Compiler/intel2020/boost/1.72.0/lib/libboost_iostreams-mt.so /cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Compiler/intel2020/boost/1.72.0/lib/libboost_regex-mt.so /cvmfs/soft. computecanada.ca/easybuild/software/2020/avx2/Compiler/intel2020/boost/1.72.0/lib/libboost_system-mt.so /cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/openexr/2.5.2/lib64/libHalf.so ../../libopenvkl.so.0.10.0 /cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/rkcommon/1.4.2/lib/librkcommon.so.1.4.2 -pthread -ltbb -ltbbmalloc -ldl
/cvmfs/soft.computecanada.ca/gentoo/2020/usr/x86_64-pc-linux-gnu/binutils-bin/2.33.1/ld: CMakeFiles/vklExamples.dir/vklExamples.cpp.o(.text+0x108a5): unresolvable R_X86_64_TPOFF32 relocation against symbol `_ZSt15__once_callable@@GLIBCXX_3.4.11'
/cvmfs/soft.computecanada.ca/gentoo/2020/usr/x86_64-pc-linux-gnu/binutils-bin/2.33.1/ld: final link failed: nonrepresentable section on output
make[2]: *** [examples/interactive/CMakeFiles/vklExamples.dir/build.make:235: vklExamples] Error 1
make[2]: Leaving directory '/tmp/ebuser/avx2/OpenVKL/0.10.0/iccifort-2020.1.217/easybuild_obj'
make[1]: *** [CMakeFiles/Makefile2:1271: examples/interactive/CMakeFiles/vklExamples.dir/all] Error 2
This sounds like there is a missing -fPIC
somewhere ?
I am getting this error when trying to build OpenVKL :
CMake Error at CMakeLists.txt:51 (find_package):
By not providing "Findrkcommon.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "rkcommon",
but CMake did not find one.
Could not find a package configuration file provided by "rkcommon"
(requested version 1.4.1) with any of the following names:
rkcommonConfig.cmake
rkcommon-config.cmake
Add the installation prefix of "rkcommon" to CMAKE_PREFIX_PATH or set
"rkcommon_DIR" to a directory containing one of the above files. If
"rkcommon" provides a separate development package or SDK, be sure it has
been installed.
what is rkcommon
? I could not find that online.
Having a hard time getting the interpolation right across the 'seam' where the data wraps in the azimuthal direction. What happens when a trilerp needs to access data on the other side of the azimuthal seam? Or is it assumed the data is replicated on the volume face where azi=360.?
I am trying to build and use openvkl on a windows system (forgive me father... ). I got the superbuild to complete but when I try to run one of the examples in the bin directory I get
C:\Users\Dave Semeraro>vklMinimal_03.exe
[openvkl] Load of openvkl_module_cpu_device_4 failed due to: 'could not open module lib >openvkl_module_cpu_device_4: The specified module could not be found.
'
[openvkl] Load of openvkl_module_cpu_device_8 failed due to: 'could not open module lib >openvkl_module_cpu_device_8: The specified module could not be found.
'
[openvkl] Load of openvkl_module_cpu_device_16 failed due to: 'could not open module lib >openvkl_module_cpu_device_16: The specified module could not be found.
'
[openvkl] INITIALIZATION ERROR: Could not find device of type: cpu_8. Make sure you have the >correct VKL libraries linked.
I have added the full path to the device dll files to my windows path environment but still no luck. Setting the Path works for the tbb and rkcommon dll files that are also needed by the openvkl examples but not for the cpu device itself. I am running on windows 11 with v msvc 2022 release. Any windows gurus out there?
This isnt really a bug but I didnt know where else to ask the question.
Would be nice to allow that. For now I guess I have to duplicate the volume.
The zlib dependency currently fails for the superbuild as the 1.2.11 version has moved on www.zlib.net. Maybe point at https://www.zlib.net/fossils/zlib-1.2.12.tar.gz so the dependency continues to work across zlib version updates.
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:77:12: note: candidate function
float &operator[](std::size_t index)
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:82:18: note: candidate function
const float &operator[](std::size_t index) const
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/Iterator.h:202:20: note: built-in candidate operator[](float *, int)
hit.epsilon[0] = hitW.epsilon[0];
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/Iterator.h:202:20: note: built-in candidate operator[](const float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/Iterator.h:202:20: note: built-in candidate operator[](volatile float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/Iterator.h:202:20: note: built-in candidate operator[](const volatile float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/Iterator.h:203:15: error: use of overloaded operator '[]' is ambiguous (with operand types 'vintn<1>' and 'int')
result[0] = resultW[0];
~~~~~~^~
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:36:10: note: candidate function
int &operator[](std::size_t index)
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:41:16: note: candidate function
const int &operator[](std::size_t index) const
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/Iterator.h:203:15: note: built-in candidate operator[](int *, int)
result[0] = resultW[0];
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/Iterator.h:203:15: note: built-in candidate operator[](const int *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/Iterator.h:203:15: note: built-in candidate operator[](volatile int *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/Iterator.h:203:15: note: built-in candidate operator[](const volatile int *, int)
In file included from /wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/DefaultIterator.cpp:7:
In file included from /wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/../volume/Volume.h:10:
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/../volume/../sampler/Sampler.h:184:14: error: use of overloaded operator '[]' is ambiguous (with operand types 'vfloatn<1>' and 'int')
samples[0] = samplesW[0];
~~~~~~~^~
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:77:12: note: candidate function
float &operator[](std::size_t index)
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:82:18: note: candidate function
const float &operator[](std::size_t index) const
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/../volume/../sampler/Sampler.h:184:14: note: built-in candidate operator[](float *, int)
samples[0] = samplesW[0];
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/../volume/../sampler/Sampler.h:184:14: note: built-in candidate operator[](const float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/../volume/../sampler/Sampler.h:184:14: note: built-in candidate operator[](volatile float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/../volume/../sampler/Sampler.h:184:14: note: built-in candidate operator[](const volatile float *, int)
In file included from /wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/DefaultIterator.cpp:4:
In file included from /wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/DefaultIterator.h:8:
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/../volume/../sampler/../iterator/Iterator.h:76:11: error: use of overloaded operator '[]' is ambiguous (with operand types 'vintn<16>' and 'int')
validW[i] = i == 0 ? -1 : 0;
^~~~~~ ~
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/DefaultIterator.cpp:49:20: note: in instantiation of member function 'openvkl::cpu_device::IntervalIterator<16>::initializeIntervalU' requested here
template class DefaultIntervalIterator<VKL_TARGET_WIDTH>;
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:36:10: note: candidate function
int &operator[](std::size_t index)
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:41:16: note: candidate function
const int &operator[](std::size_t index) const
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/../volume/../sampler/../iterator/Iterator.h:76:11: note: built-in candidate operator[](int *, int)
validW[i] = i == 0 ? -1 : 0;
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/../volume/../sampler/../iterator/Iterator.h:76:11: note: built-in candidate operator[](const int *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/../volume/../sampler/../iterator/Iterator.h:76:11: note: built-in candidate operator[](volatile int *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/../volume/../sampler/../iterator/Iterator.h:76:11: note: built-in candidate operator[](const volatile int *, int)
In file included from /wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/DefaultIterator.cpp:4:
In file included from /wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/DefaultIterator.h:8:
In file included from /wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/../volume/../sampler/../iterator/Iterator.h:7:
In file included from /wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/IteratorBase.h:6:
In file included from /wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/../api/Device.h:9:
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:212:9: error: use of overloaded operator '[]' is ambiguous (with operand types 'vfloatn<16>' and 'int')
newVec.x[i] = x[i];
^~~~~~~~ ~
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/../volume/../sampler/../iterator/Iterator.h:78:57: note: in instantiation of function template specialization 'openvkl::vvec3fn<1>::operator vvec3fn<16>' requested here
vvec3fn<W> originW = static_cast<vvec3fn<W>>(origin);
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/DefaultIterator.cpp:49:20: note: in instantiation of member function 'openvkl::cpu_device::IntervalIterator<16>::initializeIntervalU' requested here
template class DefaultIntervalIterator<VKL_TARGET_WIDTH>;
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:77:12: note: candidate function
float &operator[](std::size_t index)
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:82:18: note: candidate function
const float &operator[](std::size_t index) const
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:212:9: note: built-in candidate operator[](float *, int)
newVec.x[i] = x[i];
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:212:9: note: built-in candidate operator[](const float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:212:9: note: built-in candidate operator[](volatile float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:212:9: note: built-in candidate operator[](const volatile float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:213:9: error: use of overloaded operator '[]' is ambiguous (with operand types 'vfloatn<16>' and 'int')
newVec.y[i] = y[i];
^~~~~~~~ ~
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:77:12: note: candidate function
float &operator[](std::size_t index)
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:82:18: note: candidate function
const float &operator[](std::size_t index) const
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:213:9: note: built-in candidate operator[](float *, int)
newVec.y[i] = y[i];
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:213:9: note: built-in candidate operator[](const float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:213:9: note: built-in candidate operator[](volatile float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:213:9: note: built-in candidate operator[](const volatile float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:214:9: error: use of overloaded operator '[]' is ambiguous (with operand types 'vfloatn<16>' and 'int')
newVec.z[i] = z[i];
^~~~~~~~ ~
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:77:12: note: candidate function
float &operator[](std::size_t index)
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:82:18: note: candidate function
const float &operator[](std::size_t index) const
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:214:9: note: built-in candidate operator[](float *, int)
newVec.z[i] = z[i];
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:214:9: note: built-in candidate operator[](const float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:214:9: note: built-in candidate operator[](volatile float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:214:9: note: built-in candidate operator[](const volatile float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:100:16: error: use of overloaded operator '[]' is ambiguous (with operand types 'const vfloatn<16>' and 'int')
v[i] = o[i];
^ ~
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:189:39: note: in instantiation of member function 'openvkl::vfloatn<16>::vfloatn' requested here
vvec3fn<W>(const vvec3fn<W> &v) : x(v.x), y(v.y), z(v.z) {}
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/../volume/../sampler/../iterator/Iterator.h:78:33: note: in instantiation of member function 'openvkl::vvec3fn<16>::vvec3fn' requested here
vvec3fn<W> originW = static_cast<vvec3fn<W>>(origin);
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/DefaultIterator.cpp:49:20: note: in instantiation of member function 'openvkl::cpu_device::IntervalIterator<16>::initializeIntervalU' requested here
template class DefaultIntervalIterator<VKL_TARGET_WIDTH>;
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:82:18: note: candidate function
const float &operator[](std::size_t index) const
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:100:16: note: built-in candidate operator[](const float *, int)
v[i] = o[i];
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:100:16: note: built-in candidate operator[](const volatile float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:172:9: error: use of overloaded operator '[]' is ambiguous (with operand types 'vfloatn<16>' and 'int')
newRange.lower[i] = lower[i];
^~~~~~~~~~~~~~ ~
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/../volume/../sampler/../iterator/Iterator.h:80:59: note: in instantiation of function template specialization 'openvkl::vrange1fn<1>::operator vrange1fn<16>' requested here
vrange1fn<W> tRangeW = static_cast<vrange1fn<W>>(tRange);
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/DefaultIterator.cpp:49:20: note: in instantiation of member function 'openvkl::cpu_device::IntervalIterator<16>::initializeIntervalU' requested here
template class DefaultIntervalIterator<VKL_TARGET_WIDTH>;
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:77:12: note: candidate function
float &operator[](std::size_t index)
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:82:18: note: candidate function
const float &operator[](std::size_t index) const
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:172:9: note: built-in candidate operator[](float *, int)
newRange.lower[i] = lower[i];
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:172:9: note: built-in candidate operator[](const float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:172:9: note: built-in candidate operator[](volatile float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:172:9: note: built-in candidate operator[](const volatile float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:173:9: error: use of overloaded operator '[]' is ambiguous (with operand types 'vfloatn<16>' and 'int')
newRange.upper[i] = upper[i];
^~~~~~~~~~~~~~ ~
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:77:12: note: candidate function
float &operator[](std::size_t index)
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:82:18: note: candidate function
const float &operator[](std::size_t index) const
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:173:9: note: built-in candidate operator[](float *, int)
newRange.upper[i] = upper[i];
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:173:9: note: built-in candidate operator[](const float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:173:9: note: built-in candidate operator[](volatile float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:173:9: note: built-in candidate operator[](const volatile float *, int)
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:162:43: error: no matching constructor for initialization of 'vfloatn<16>'
vrange1fn<W>(const vrange1fn<W> &v) : lower(v.lower), upper(v.upper) {}
^ ~~~~~~~
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/../volume/../sampler/../iterator/Iterator.h:80:33: note: in instantiation of member function 'openvkl::vrange1fn<16>::vrange1fn' requested here
vrange1fn<W> tRangeW = static_cast<vrange1fn<W>>(tRange);
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/devices/cpu/iterator/DefaultIterator.cpp:49:20: note: in instantiation of member function 'openvkl::cpu_device::IntervalIterator<16>::initializeIntervalU' requested here
template class DefaultIntervalIterator<VKL_TARGET_WIDTH>;
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:71:5: note: candidate constructor not viable: no known conversion from 'const vfloatn<16>' to 'float' for 1st argument
vfloatn<W>(float _v)
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:69:5: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
vfloatn<W>() = default;
^
/wrkdirs/usr/ports/graphics/openvkl/work/openvkl-1.1.0/openvkl/include/../common/simd.h:104:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
vfloatn<W>(const float *o, int oW)
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
Full log (IPv6 URL).
Version: 1.1.0
half.hpp should be updated to include this change:
https://sourceforge.net/p/half/code/415/
Otherwise, when -march is passed to gcc, it results in errors:
openvkl/0.13.0-r0/git/testing/volume/../external/half.hpp:911:62: error: '_MM_FROUND_TO_NEAREST_INT' was not declared in this scope
911 | (R==std::round_to_nearest) ? _MM_FROUND_TO_NEAREST_INT :
| ^~~~~~~~~~~~~~~~~~~~~~~~~
openvkl/0.13.0-r0/git/testing/volume/../external/half.hpp:912:63: error: '_MM_FROUND_TO_ZERO' was not declared in this scope
912 | (R==std::round_toward_zero) ? _MM_FROUND_TO_ZERO :
| ^~~~~~~~~~~~~~~~~~
openvkl/0.13.0-r0/git/testing/volume/../external/half.hpp:913:67: error: '_MM_FROUND_TO_POS_INF' was not declared in this scope
913 | (R==std::round_toward_infinity) ? _MM_FROUND_TO_POS_INF :
| ^~~~~~~~~~~~~~~~~~~~~
openvkl/0.13.0-r0/git/testing/volume/../external/half.hpp:914:71: error: '_MM_FROUND_TO_NEG_INF' was not declared in this scope
914 | (R==std::round_toward_neg_infinity) ? _MM_FROUND_TO_NEG_INF :
| ^~~~~~~~~~~~~~~~~~~~~
openvkl/0.13.0-r0/git/testing/volume/../external/half.hpp:915:33: error: '_MM_FROUND_CUR_DIRECTION' was not declared in this scope
Hello,
Is possible that We provide volume data and provide multiple transparency ranges in transfer function?
e.g. Below are 4 transparency ranges with separate min-max domain values associating different transparency.
Purpose of this is to highlight specific range of values and hide some.
Index MinValue MaxValue MinOpacity MaxOpacity
1 0 1 0.1 0.3
2 1 2 0.3 0.4
3 2 3 0.2 0.7
4 3 5 0.3 0.9
Same with RenderKit/ospray#384
The artifacts were fixed by changing the CELL_WIDTH_BITCOUNT to larger value bigger than the volume dimensions.
I'm looking at using openVKL to handle AMR volumes in my app. I've got a little test case which creates an AMR dataset consisting of three levels, each containing a constant value pi + level#. It then uses the iteration API to blast a ray though it. It outer loops through vklIterateInterval and inner loops through the interval's time range using its nominalDeltaT. It gets the right answers where it samples, demonstrating that its traversing the AMR , but I was expecting a smaller nominalDeltaT where the interval crosses a finer resolution grid. I had thought this mechanism would enable me to adjust my sampling rate along the ray; as it is, I have no way of discovering what an appropriate sampling rate is. Shouldn't it be determined by the cellWidth for the current level?
Hi,
I have OpenVDB installed, but CMake won't find it :
CMake Warning at vdb_util/CMakeLists.txt:41 (find_package):
By not providing "FindOpenVDB.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "OpenVDB", but
CMake did not find one.
Could not find a package configuration file provided by "OpenVDB"
(requested version 7.0.0) with any of the following names:
OpenVDBConfig.cmake
openvdb-config.cmake
Add the installation prefix of "OpenVDB" to CMAKE_PREFIX_PATH or set
"OpenVDB_DIR" to a directory containing one of the above files. If
"OpenVDB" provides a separate development package or SDK, be sure it has
been installed.
-- Failed to find OpenVDB at OpenVDB_ROOT (/home/mboisson/.local/easybuild/software/2020/avx2/Compiler/gcc9/openvdb/7.0.0).
[mboisson@build-node OpenVKL]$ ls /home/mboisson/.local/easybuild/software/2020/avx2/Compiler/gcc9/openvdb/7.0.0/*
/home/mboisson/.local/easybuild/software/2020/avx2/Compiler/gcc9/openvdb/7.0.0/bin:
vdb_print
/home/mboisson/.local/easybuild/software/2020/avx2/Compiler/gcc9/openvdb/7.0.0/easybuild:
avx2-Compiler-gcc9-openvdb-7.0.0-easybuild-devel easybuild-OpenVDB-7.0.0-20200722.170738.log easybuild-OpenVDB-7.0.0-20200722.170738_test_report.md OpenVDB-7.0.0-GCC-9.3.0.eb reprod
/home/mboisson/.local/easybuild/software/2020/avx2/Compiler/gcc9/openvdb/7.0.0/include:
openvdb
/home/mboisson/.local/easybuild/software/2020/avx2/Compiler/gcc9/openvdb/7.0.0/lib64:
cmake libopenvdb.a libopenvdb.so libopenvdb.so.7.0 libopenvdb.so.7.0.0
What do I need to give as argument for CMake to find it ?
Hello,
I am attempting to render an isosurface in a 5120^3 structuredRegular volume on OSPRay. The volume has a scalar field where the data are provided by floats (doing the math, that's half a terabyte of data). I use mmap since I do not have half a terabyte of CPU memory. When I render I see artifacts where it appears blocks are missing or are rendered differently at the high end of the X and Y dimensions (the more rapidly changing dimensions in my data object). Is there an upper bound on how large the dimensions can be in a structuredRegular volume? I could not find such a bound in the OpenVKL or OSPRay docs.
The attached image is from an early time step in the simulation. The isosurface should have a relatively uniform texture across the domain in X and Y. If I down sample the data to 1024^3 and render that I do get a relatively uniform isosurface.
Thanks,
Although volumes can support multiple attributes, the current implementation appears to limit the get value range function to returning results for the first attribute associated with the volume.
vkl_range1f vklGetValueRange(VKLVolume volume);
It would be useful to support get value range for multiple attributes - perhaps by index - in order to support development of multivariate data visualization algorithms.
While updating from OpenVKL 1.3.0 to 1.3.2, I stumbled upon an issue when trying to install it to a custom location. When installation starts, I get the following message on console:
Install the project...
-- Install configuration: "Release"
CMake Error at cmake_install.cmake:49 (file):
file cannot create directory: /openvkl. Maybe need administrative
privileges.
Following the trace to the file and line, the error came from here:
file(INSTALL DESTINATION "/openvkl" TYPE FILE FILES "/home/nadir/Programs/OSPRAY_2_11/src_dir/openvkl/build/openvkl/include/openvkl/version.h")
Checking on the main CMakeLists.txt, I can see that CMAKE_INSTALL_INCLUDEDIR
has been used before including the GNUInstallDirs
:
Manually setting CMAKE_INSTALL_INCLUDEDIR
to include
(The default value provided by GNUInstallDirs
) solves the issue for 1.3.8. Moving up the include of GNUInstallDirs
would be the best way to fix it, unless this behaviour is on purpose.
I couldn't find support for polyhedral cell types in OpenVKL. Is there any way I could use polyhedral cells data? Is there any plan for supporting it in future?
I have cells of tetrahedron, hexahedron, wedge, pyramid, polyhedral and mixed. Hence polyhedral seems to be important to have support in openVKL. I currently using unstructured type to have support for other 4 cell types.
Hi,
Does the "particles" volumes support Multi-attributes ? If yes, are the attributes interpolated using the radial basis functions ?
I need an additional parameter to color the particles. I am using vklSetData( myVolume, "data", attributesData ) and I am trying to sample it with vklComputeSampleM but it doesn't work.
Thanks.
Can we have some way to access the cell itself when sampling? I'm trying to use an unstructured volume with an attribute that isn't supposed to be linearly interpolated.
Or some interface for customized interpolation function?
When loading openvkl with rkcommon and ospray, I have the following issue:
[openvkl] INITIALIZATION ERROR: could not open module lib openvkl_module_cpu_device: libopenvkl_module_cpu_device_4.so.1: cannot open shared object file: No such file or directory
[openvkl] WARNING: unrecognized device type 'cpu_8'.
[openvkl] INITIALIZATION ERROR: Could not find device of type: cpu_8. Make sure you have the correct VKL libraries linked.
Setting LD_LIBRARY_PATH to libopenvkl_module_cpu_device_4.so location fixes the issue but it should not be needed.
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.