Giter Site home page Giter Site logo

mitsuba-renderer / mitsuba2 Goto Github PK

View Code? Open in Web Editor NEW
2.0K 2.0K 267.0 7.38 MB

Mitsuba 2: A Retargetable Forward and Inverse Renderer

License: Other

CMake 1.61% C++ 82.92% C 0.87% Shell 0.07% Makefile 0.01% Cuda 0.87% Batchfile 0.01% Python 13.63% PowerShell 0.01%

mitsuba2's People

Contributors

4str0m avatar acrlakshman avatar alhirzel avatar andipotal avatar arpit15 avatar aspurdy avatar bathal1 avatar belcour avatar diiigle avatar dnakath avatar dvicini avatar fritschy avatar jammm avatar jczh98 avatar kopetri avatar leroyvn avatar loubetg avatar matthewpurri avatar mehrab2603 avatar merlinnd avatar nathan96g avatar njroussel avatar omegazhou avatar pidgeybe avatar pjessesco avatar schunkes avatar sergeyreznik avatar speierers avatar tizian avatar wjakob avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mitsuba2's Issues

Python binbings crash while printing differatiable parameters

I following scene scene:

<?xml version="1.0" ?><scene version="0.6.0">
	<integrator type="direct"/>
  <texture type="bitmap" id="skinTexture">
    <string name="filename" value="MikeAlger_Texture.jpeg"/>
    <transform name="to_uv">
      <scale x="1"/>
    </transform>
  </texture>
	<shape id="main" type="serialized">
		<transform name="to_world">
			<rotate angle="-11.486546301783648" y="1"/>
            <translate x="-64.92164437446417" y="0" z="0.0"/>
		</transform>
		<string name="filename" value="pose_0_2.serialized"/>
		<integer name="shapeIndex" value="0"/>

		<bsdf type="diffuse">
			<ref id="skinTexture" name="reflectance"/>
		</bsdf>
	</shape>
  <emitter type="constant">
    <spectrum name="radiance" value="1.0"/>
  </emitter>
	<sensor type="perspective">
		<float name="far_clip" value="2500.0"/>
		<float name="fov" value="45"/>
		<string name="fov_axis" value="y"/>
		<float name="near_clip" value="2.0"/>
		<transform name="to_world">
			<lookat origin="-4.21425, 105.008, 327.119" target="-4.1969, 104.951, 326.12" up="0.0, 1.0, 0.0"/>
		</transform>

		<sampler type="independent">
			<integer name="sampleCount" value="32"/>
		</sampler>

		<film type="hdrfilm">
			<rfilter type="box"/>
      <integer name="width" value="432"/>
      <integer name="height" value="368"/>
		</film>
	</sensor>
</scene>

from which I want to print the differentiable parameters using the following python code:

Thread.thread().file_resolver().append('pose_scene')
scene = load_file('pose_scene/scene.xml')

# Find differentiable scene parameters
params = traverse(scene)
print(params)

However, this seems to crash the python bindings see screenshot:
Selection_064

Compilation issues [Clang-9 Mint 19.3/Ubuntu 18.04 Nvidia 440.64 Cuda 10.2]

I have compilation issues with the GPU variants. Everything compiles fine without the gpu_* variants.

My system:

  • Mint 19.3 (Ubuntu 18.04)
  • clang 9.0.0-2 (tags/RELEASE_900/final)
  • cmake 3.10.2
  • ninja 1.8.2
  • OptiX 6.5
  • Nvidia driver 440.64.00

The cmake output:

-- The C compiler identification is Clang 9.0.0
-- The CXX compiler identification is Clang 9.0.0
-- 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
-- Found PythonInterp: /home/ugo/anaconda3/bin/python3.7 (found version "3.7.4") 
-- Found PythonLibs: /home/ugo/anaconda3/lib/libpython3.7m.so
-- Building the following variants of Mitsuba:
--  * scalar_rgb
--  * scalar_spectral
--  * packet_rgb
--  * packet_spectral
--  * gpu_rgb
--  * gpu_spectral
--  * gpu_autodiff_rgb
--  * gpu_autodiff_spectral
-- Setting build type to 'Release' as none was specified.
-- Mitsuba: using libc++.
-- Mitsuba: building the Python plugin.
-- The CUDA compiler identification is NVIDIA 10.2.89
-- Check for working CUDA compiler: /usr/local/cuda-10.2/bin/nvcc
-- Check for working CUDA compiler: /usr/local/cuda-10.2/bin/nvcc -- works
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Enoki: building the CUDA backend.
-- Enoki: building the autodiff backend.
-- Enoki: building the Python plugin.
-- pybind11 v2.4.dev4
-- LTO disabled (not supported by the compiler and/or linker)
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") 
-- Found PNG: /usr/lib/x86_64-linux-gnu/libpng.so (found version "1.6.34") 
-- Found JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so  
-- TBB: using libc++.
-- Mitsuba: using builtin implementation for CPU ray tracing.
-- Mitsuba: using OptiX for GPU ray tracing.
-- Mitsuba: LTO not supported by the compiler.
-- Check if the system is big endian
-- Searching 16 bit integer
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Mitsuba: sampling profiler enabled.
-- Found Sphinx: /home/ugo/anaconda3/bin/sphinx-build  
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ugo/work/mitsuba2/build

results in the following compilation error(s):

[4/883] Building CUDA object ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/common.cu.o
FAILED: ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/common.cu.o 
/usr/local/cuda-10.2/bin/nvcc  -DENOKI_AUTODIFF=1 -DENOKI_BUILD=1 -DENOKI_CUDA=1 -DENOKI_CUDA_COMPUTE_CAPABILITY=61 -Denoki_cuda_EXPORTS -I/usr/include/libcxxabi -I../ext/enoki/include -I../ext/enoki/ext/cub -DNDEBUG -O3 -DNDEBUG -Xcompiler=-fPIC -x cu -c ../ext/enoki/src/cuda/common.cu -o ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/common.cu.o && /usr/local/cuda-10.2/bin/nvcc  -DENOKI_AUTODIFF=1 -DENOKI_BUILD=1 -DENOKI_CUDA=1 -DENOKI_CUDA_COMPUTE_CAPABILITY=61 -Denoki_cuda_EXPORTS -I/usr/include/libcxxabi -I../ext/enoki/include -I../ext/enoki/ext/cub -DNDEBUG -O3 -DNDEBUG -Xcompiler=-fPIC -x cu -M ../ext/enoki/src/cuda/common.cu -MT ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/common.cu.o -o ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/common.cu.o.d
../ext/enoki/src/cuda/common.cuh(74): error: namespace "std" has no member "hash"

../ext/enoki/src/cuda/common.cuh(74): error: type name is not allowed

../ext/enoki/src/cuda/common.cuh(74): error: expected an expression

../ext/enoki/src/cuda/common.cu(252): error: identifier "nullptr" is undefined

4 errors detected in the compilation of "/tmp/tmpxft_000024a2_00000000-6_common.cpp1.ii".
[13/883] Building CXX object ext_build/enoki/CMakeFiles/enoki-python-dynamic.dir/src/python/dynamic_matrix.cpp.o
ninja: build stopped: subcommand failed.

The internet suggested to set the --std=c++11 (and later --std=c++14) flag in nvcc, but this results in other errors I will provide if desired.

mtsgui not working

Unable to render or load a scene in the mtsgui

Steps to reproduce

  • ./dist/mtsgui
  • Click on any button. For ex: Open button

Are there any directions which are missing, on how to use mitsuba GUI?

How to use it within python after compilation

Dear developers,

compilation was done without any error. Still, I am not able to correctly import mitsuba as module in python. After compilation of the repository, I copied the mitsuba and enoki folder from the dist folder to the site-packages of the python environment.

However the import fails with the following error:

C:\Users\nik\AppData\Local\Programs\Python\Python38\python.exe C:/Users/nik/PycharmProjects/diff_render/tutorial.py
Traceback (most recent call last):
  File "C:\Users\nik\AppData\Local\Programs\Python\Python38\lib\site-packages\mitsuba\__init__.py", line 12, in <module>
    _import('mitsuba.core_ext')
  File "C:\Users\nik\AppData\Local\Programs\Python\Python38\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 657, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 556, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 1101, in create_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: DLL load failed while importing core_ext: Das angegebene Modul wurde nicht gefunden.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:/Users/nik/PycharmProjects/diff_render/tutorial.py", line 1, in <module>
    import mitsuba
  File "C:\Users\nik\AppData\Local\Programs\Python\Python38\lib\site-packages\mitsuba\__init__.py", line 33, in <module>
    raise exc
ImportError: The 'mitsuba' native modules could not be imported.

As a sidenote - tutorial.py contains the following

import mitsuba
mitsuba.set_variant('gpu_autodiff_rgb')

Do you have any suggestion how to fix this behavior?

However if I use mitsuba2/dist as project root that includes enoki and mitsuba i am able to import mitsuba. While still a similar error occurs but at least the mitsuba.core_ext could be imported.

Traceback (most recent call last):
  File "C:\Users\nik\PycharmProjects\mitsuba2\dist\python\mitsuba\__init__.py", line 13, in <module>
    _import('mitsuba.render_ext')
  File "C:\Users\nik\AppData\Local\Programs\Python\Python37\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 670, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 583, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 1043, in create_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:/Users/nik/PycharmProjects/mitsuba2/dist/tut.py", line 1, in <module>
    import mitsuba
  File "C:\Users\nik\PycharmProjects\mitsuba2\dist\python\mitsuba\__init__.py", line 33, in <module>
    raise exc
ImportError: The 'mitsuba' native modules could not be imported. 

So if I change mitsuba init.py to:

if sys.version_info < (3, 6):
    raise ImportError("Mitsuba requires Python 3.6 or greater.")

try:
    _import('mitsuba.core_ext')
    # _import('mitsuba.render_ext')
    _tls = threading.local()

I can at least import mitsuba without errors. However I do not understand why the other import fails.

Compile error for custom member function `sample_ray_differential` in `emitter.h`

I have a compile error when implementing my own sample_ray_differential function in emitter.h, which looks like this:

... // (original code)

template <typename Float, typename Spectrum>
class MTS_EXPORT_RENDER Emitter : public Endpoint<Float, Spectrum> {
public:
    MTS_IMPORT_TYPES() // my code
    MTS_IMPORT_BASE(Endpoint, sample_ray, m_needs_sample_3) // my code
    
    ... // (original code)
    
    // my function
    std::pair<RayDifferential3f, Spectrum>
    sample_ray_differential(Float time, Float sample1, const Point2f &sample2,
                            const Point2f &sample3, Mask active = true) const {
        auto [ray_, spec] = sample_ray(time, sample1, sample2, sample3, active);
        auto ray(ray_);
        return { ray, spec };
    };

    ... // (original code)
    ENOKI_CALL_SUPPORT_TEMPLATE_BEGIN(mitsuba::Emitter)
        ... // (original code)
        ENOKI_CALL_SUPPORT_METHOD(sample_ray_differential) // my code
        ENOKI_CALL_SUPPORT_GETTER(flags, m_flags) // (original code)
    ENOKI_CALL_SUPPORT_TEMPLATE_END(mitsuba::Emitter)
}

The only difference compared to the original code is std::pair<RayDifferential3f, Spectrum> as return type (For std::pair<Ray3f, Spectrum>, there were no errors). With varaints scalar_spectral and gpu_autodiff_spectral, the compile error is:

../ext/enoki/include/enoki/array_masked.h:86:51: error: no viable conversion from 'const enoki::PacketMask<const mitsuba::Emitter<Packet<float>, Spectrum<Packet<float>, 4> > *, 8>' to 'bool'
        return struct_support_t<T>::masked(value, mask);
                                                  ^~~~
../include/mitsuba/core/ray.h:143:1: note: in instantiation of function template specialization 'enoki::masked<bool, enoki::PacketMask<const mitsuba::Emitter<Packet<float>, Spectrum<Packet<float>, 4> > *, 8> >' requested here
ENOKI_STRUCT_SUPPORT(mitsuba::RayDifferential, o, d, d_rcp, mint, maxt,
^
../ext/enoki/include/enoki/array_macro.h:347:51: note: expanded from macro 'ENOKI_STRUCT_SUPPORT'
            return Value(ENOKI_MAP_EXPR_F2(enoki::masked,                      \
                                                  ^
../ext/enoki/include/enoki/array_masked.h:86:37: note: in instantiation of function template specialization 'enoki::struct_support<mitsuba::RayDifferential<mitsuba::Point<enoki::Packet<float, 8>, 3>, mitsuba::Spectrum<enoki::Packet<float, 8>, 4> >, int>::masked<mitsuba::RayDifferential<mitsuba::Point<enoki::Packet<float, 8>, 3>, mitsuba::Spectrum<enoki::Packet<float, 8>, 4> >, enoki::PacketMask<const mitsuba::Emitter<Packet<float>, Spectrum<Packet<float>, 4> > *, 8> >' requested here
        return struct_support_t<T>::masked(value, mask);
                                    ^
../ext/enoki/include/enoki/stl.h:69:42: note: in instantiation of function template specialization 'enoki::masked<mitsuba::RayDifferential<mitsuba::Point<enoki::Packet<float, 8>, 3>, mitsuba::Spectrum<enoki::Packet<float, 8>, 4> >, enoki::PacketMask<const mitsuba::Emitter<Packet<float>, Spectrum<Packet<float>, 4> > *, 8> >' requested here
        return std::pair<decltype(enoki::masked(value.first, mask)),
                                         ^
../ext/enoki/include/enoki/array_masked.h:86:37: note: in instantiation of function template specialization 'enoki::struct_support<std::__1::pair<mitsuba::RayDifferential<mitsuba::Point<enoki::Packet<float, 8>, 3>, mitsuba::Spectrum<enoki::Packet<float, 8>, 4> >, mitsuba::Spectrum<enoki::Packet<float, 8>, 4> >, int>::masked<std::__1::pair<mitsuba::RayDifferential<mitsuba::Point<enoki::Packet<float, 8>, 3>, mitsuba::Spectrum<enoki::Packet<float, 8>, 4> >, mitsuba::Spectrum<enoki::Packet<float, 8>, 4> > &, enoki::PacketMask<const mitsuba::Emitter<Packet<float>, Spectrum<Packet<float>, 4> > *, 8> >' requested here
        return struct_support_t<T>::masked(value, mask);
                                    ^
../ext/enoki/include/enoki/array_call.h:145:21: note: in instantiation of function template specialization 'enoki::masked<std::__1::pair<mitsuba::RayDifferential<mitsuba::Point<enoki::Packet<float, 8>, 3>, mitsuba::Spectrum<enoki::Packet<float, 8>, 4> >, mitsuba::Spectrum<enoki::Packet<float, 8>, 4> >, enoki::PacketMask<const mitsuba::Emitter<Packet<float>, Spectrum<Packet<float>, 4> > *, 8> >' requested here
                    masked(result, active) = func(value, active, std::get<Indices>(tuple)...);
                    ^
../include/mitsuba/render/emitter.h:112:5: note: in instantiation of function template specialization 'enoki::detail::call_support_base<enoki::Packet<const mitsuba::Emitter<Packet<float>, Spectrum<Packet<float>, 4> > *, 8> >::dispatch<(lambda at ../include/mitsuba/render/emitter.h:112:5), enoki::PacketMask<float, 8>, std::__1::tuple<float &, enoki::Packet<float, 8> &, mitsuba::Point<enoki::Packet<float, 8>, 2> &, mitsuba::Point<enoki::Packet<float, 8>, 2> &, enoki::PacketMask<float, 8> &>, 0, 1, 2, 3>' requested here
    ENOKI_CALL_SUPPORT_METHOD(sample_ray_differential)
    ^
../ext/enoki/include/enoki/array_call.h:259:26: note: expanded from macro 'ENOKI_CALL_SUPPORT_METHOD'
            return Base::dispatch(                                             \
                         ^

I must miss something. Could you shed some lights upon me please? Great thanks!

Compilation issues GPU variants [Clang-9/Kubuntu18.04, Nvidia 440.64,Cuda10.01, cmake 3.17]

I am again having problems compiling the gpu-variants - compiling

  • "scalar_rgb",
  • "scalar_spectral"

works well. I did a git pullall and now have the following top-level commit: bfa4b17

On the following machine:

  • Kubuntu 18.04 (Ubuntu 18.04)
  • clang version 9.0.0-2~ubuntu18.04.2 (tags/RELEASE_900/final)
  • cmake version 3.17.0
  • ninja version: 1.8.2
  • Nvidia driver version: 440.64
  • Cuda Version: 10.1
  • OptiX version : 6.5
  • NVCC: V10.1.243

cmake fails with the following issue, when I enable one of the gpu-variants:

cmake -GNinja -DMTS_OPTIX_PATH="/media/dna/dataONE/software_sources/nvidia/NVIDIA-OptiX-SDK-6.5.0-linux64" ..

-- Building the following variants of Mitsuba:
--  * scalar_rgb
--  * scalar_spectral
--  * gpu_rgb
-- Mitsuba: using libc++.
-- Mitsuba: building the Python plugin.
-- The CUDA compiler identification is NVIDIA 10.1.243
-- Check for working CUDA compiler: /usr/local/cuda-10.1/bin/nvcc
-- Check for working CUDA compiler: /usr/local/cuda-10.1/bin/nvcc - broken
CMake Error at /usr/share/cmake-3.17/Modules/CMakeTestCUDACompiler.cmake:46 (message):
  The CUDA compiler

    "/usr/local/cuda-10.1/bin/nvcc"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: /media/dna/dataONE/repositories/mitsuba2/build/CMakeFiles/CMakeTmp
    
    Run Build Command(s):/usr/bin/ninja cmTC_ce998 && [1/2] Building CUDA object CMakeFiles/cmTC_ce998.dir/main.cu.o
    [2/2] Linking CUDA executable cmTC_ce998
    FAILED: cmTC_ce998 
    : && /usr/bin/g++  CMakeFiles/cmTC_ce998.dir/main.cu.o -o cmTC_ce998  -lcudadevrt  -lcudart_static -L"/usr/local/cuda-10.1/targets/x86_64-linux/lib/stubs" -L"/usr/local/cuda-10.1/targets/x86_64-linux/lib" -lcudadevrt -lcudart && :
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::globalState::initializeDriverEntrypoints()':
    (.text+0x10230): undefined reference to `dlsym'
    (.text+0x1025a): undefined reference to `dlsym'
    (.text+0x10286): undefined reference to `dlsym'
    (.text+0x102b2): undefined reference to `dlsym'
    (.text+0x102de): undefined reference to `dlsym'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o):(.text+0x1030a): more undefined references to `dlsym' follow
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::globalState::loadDriverInternal()':
    (.text+0x13412): undefined reference to `dlopen'
    (.text+0x13444): undefined reference to `dlclose'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::globalState::initializeDriverInternal()':
    (.text+0x15715): undefined reference to `dlclose'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosSemaphoreSignal(sem_t*)':
    (.text+0x4d025): undefined reference to `sem_post'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosSemaphoreWait(sem_t*, unsigned int)':
    (.text+0x4d055): undefined reference to `sem_trywait'
    (.text+0x4d06a): undefined reference to `sem_wait'
    (.text+0x4d12c): undefined reference to `sem_timedwait'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosSemaphoreDestroy(sem_t*)':
    (.text+0x4d165): undefined reference to `sem_destroy'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosSemaphoreCreate(sem_t*, int)':
    (.text+0x4d189): undefined reference to `sem_init'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `__tcf_4':
    cuosLinux.cpp:(.text+0x4e2f1): undefined reference to `dlclose'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `__tcf_0':
    cuosLinux.cpp:(.text+0x4e321): undefined reference to `dlclose'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `__tcf_1':
    cuosLinux.cpp:(.text+0x4e351): undefined reference to `dlclose'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `__tcf_2':
    cuosLinux.cpp:(.text+0x4e381): undefined reference to `dlclose'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `__tcf_3':
    cuosLinux.cpp:(.text+0x4e3b1): undefined reference to `dlclose'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosInit()':
    (.text+0x4ed1c): undefined reference to `dlerror'
    (.text+0x4ed28): undefined reference to `dlopen'
    (.text+0x4ed43): undefined reference to `dlsym'
    (.text+0x4ed4f): undefined reference to `dlerror'
    (.text+0x4ed65): undefined reference to `dlclose'
    (.text+0x4edb4): undefined reference to `dlerror'
    (.text+0x4edc0): undefined reference to `dlopen'
    (.text+0x4eddb): undefined reference to `dlsym'
    (.text+0x4ede7): undefined reference to `dlerror'
    (.text+0x4edfd): undefined reference to `dlclose'
    (.text+0x4ee4c): undefined reference to `dlerror'
    (.text+0x4ee58): undefined reference to `dlopen'
    (.text+0x4ee73): undefined reference to `dlsym'
    (.text+0x4ee7f): undefined reference to `dlerror'
    (.text+0x4ee95): undefined reference to `dlclose'
    (.text+0x4eee4): undefined reference to `dlerror'
    (.text+0x4eef0): undefined reference to `dlopen'
    (.text+0x4ef0b): undefined reference to `dlsym'
    (.text+0x4ef17): undefined reference to `dlerror'
    (.text+0x4ef2d): undefined reference to `dlclose'
    (.text+0x4ef74): undefined reference to `dlerror'
    (.text+0x4ef80): undefined reference to `dlopen'
    (.text+0x4ef9b): undefined reference to `dlsym'
    (.text+0x4efa7): undefined reference to `dlerror'
    (.text+0x4efbd): undefined reference to `dlclose'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosHasThreadExited(cudart::CUOSthread_st*)':
    (.text+0x50bfb): undefined reference to `pthread_kill'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosThreadDetach(cudart::CUOSthread_st*)':
    (.text+0x50c19): undefined reference to `pthread_detach'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosThreadCreateWithName(cudart::CUOSthread_st**, int (*)(void*), void*, char const*)':
    (.text+0x50cd6): undefined reference to `pthread_create'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosCondCreateWithSharedFlag(pthread_cond_t*, int)':
    (.text+0x50f55): undefined reference to `pthread_condattr_setpshared'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosOnce(int*, void (*)())':
    (.text+0x50f75): undefined reference to `pthread_once'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosTryAcquireWriterLock(void**)':
    (.text+0x50fb8): undefined reference to `pthread_rwlock_trywrlock'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosTryAcquireReaderLock(void**)':
    (.text+0x50fe8): undefined reference to `pthread_rwlock_tryrdlock'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosInitRWLockEx(void**, void*, unsigned long)':
    (.text+0x51069): undefined reference to `pthread_rwlockattr_init'
    (.text+0x5107a): undefined reference to `pthread_rwlockattr_setpshared'
    (.text+0x51089): undefined reference to `pthread_rwlock_init'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosTryEnterCriticalSection(pthread_mutex_t*)':
    (.text+0x510b5): undefined reference to `pthread_mutex_trylock'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosInitializeCriticalSectionWithSharedFlag(pthread_mutex_t*, int)':
    (.text+0x5111c): undefined reference to `pthread_mutexattr_init'
    (.text+0x51141): undefined reference to `pthread_mutexattr_settype'
    (.text+0x5114f): undefined reference to `pthread_mutexattr_setpshared'
    (.text+0x5116a): undefined reference to `pthread_mutexattr_destroy'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosTlsSetValue(unsigned int, void*)':
    (.text+0x51238): undefined reference to `pthread_setspecific'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosTlsAlloc(void (*)(void*))':
    (.text+0x51280): undefined reference to `pthread_key_create'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosFreeLibrary(void*)':
    (.text+0x513a5): undefined reference to `dlclose'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosLoadLibrary(char const*)':
    (.text+0x513c5): undefined reference to `dlerror'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosPosixInit()':
    (.text+0x515cc): undefined reference to `dlerror'
    (.text+0x515d8): undefined reference to `dlopen'
    (.text+0x515f3): undefined reference to `dlsym'
    (.text+0x515ff): undefined reference to `dlerror'
    (.text+0x51615): undefined reference to `dlclose'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `__tcf_0':
    cuos_common_posix.cpp:(.text+0x519b1): undefined reference to `dlclose'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosDestroyRWLock(void**)':
    (.text+0x519d8): undefined reference to `pthread_rwlock_destroy'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosLoadLibraryUnsafe(char const*)':
    (.text+0x51a15): undefined reference to `dlerror'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosInitRWLock(void**)':
    (.text+0x51a61): undefined reference to `pthread_rwlockattr_init'
    (.text+0x51a99): undefined reference to `pthread_rwlockattr_setpshared'
    (.text+0x51aa8): undefined reference to `pthread_rwlock_init'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosThreadJoin(cudart::CUOSthread_st*, int*)':
    (.text+0x51adf): undefined reference to `pthread_join'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosCondCreateShared(pthread_cond_t*)':
    (.text+0x521ec): undefined reference to `pthread_condattr_setpshared'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosCondCreate(pthread_cond_t*)':
    (.text+0x52249): undefined reference to `pthread_condattr_setpshared'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosShmCloseEx(cudart::cuosShmInfoEx_st*, unsigned int, unsigned int)':
    (.text+0x522f6): undefined reference to `shm_unlink'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosShmOpenNamedEx(void*, char const*, unsigned long, cudart::cuosShmInfoEx_st**)':
    (.text+0x523c1): undefined reference to `shm_open'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosShmCreateNamedEx(void*, char const*, unsigned long, cudart::cuosShmInfoEx_st**)':
    (.text+0x525df): undefined reference to `shm_open'
    (.text+0x525f9): undefined reference to `shm_unlink'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosVirtualReserveInRange(unsigned long, void*, void*, unsigned long)':
    (.text+0x52841): undefined reference to `pthread_once'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosDestroyRWLockEx(void**)':
    (.text+0x50f94): undefined reference to `pthread_rwlock_destroy'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosReleaseReaderLock(void**)':
    (.text+0x50fa4): undefined reference to `pthread_rwlock_unlock'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosAcquireWriterLock(void**)':
    (.text+0x51014): undefined reference to `pthread_rwlock_wrlock'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosAcquireReaderLock(void**)':
    (.text+0x51024): undefined reference to `pthread_rwlock_rdlock'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosTlsGetValue(unsigned int)':
    (.text+0x51254): undefined reference to `pthread_getspecific'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosTlsFree(unsigned int)':
    (.text+0x51264): undefined reference to `pthread_key_delete'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosGetProcAddress(void*, char const*)':
    (.text+0x51391): undefined reference to `dlsym'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosLoadLibrary(char const*)':
    (.text+0x513d3): undefined reference to `dlopen'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosReleaseWriterLock(void**)':
    (.text+0x51854): undefined reference to `pthread_rwlock_unlock'
    /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudart_static.a(libcudart_static.a.o): In function `cudart::cuosLoadLibraryUnsafe(char const*)':
    (.text+0x51a23): undefined reference to `dlopen'
    collect2: error: ld returned 1 exit status
    ninja: build stopped: subcommand failed.
    
    

  

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  ext/enoki/CMakeLists.txt:20 (enable_language)


-- Configuring incomplete, errors occurred!
See also "/media/dna/dataONE/repositories/mitsuba2/build/CMakeFiles/CMakeOutput.log".
See also "/media/dna/dataONE/repositories/mitsuba2/build/CMakeFiles/CMakeError.log".

Thank you for you help in advance!

Spherical Camera Implementation

Many thanks for Mitsuba 2, I'm loving it so far!

Are there any hopes for a spherical camera sensor like in Mitsuba 1?

Having this would help with viewing rendered images in VR.

Compilation issue [Ubuntu 16.04, Clang 9, Optix 6.5, Cuda 10.0, NVIDIA-SMI 410.48]

Thank you for this really cool release of Mitsuba. I have been waiting for this release for more than a year.

I am encountering an error when compiling the software.

My system specs are:
Ubuntu 16.04, Clang 9, Python 3.7, Optix 6.5, Cuda 10.0, NVIDIA-SMI driver: 410.48, Ninja 1.9,

My Cmake output:

$ cmake -GNinja 
-- Building the following variants of Mitsuba:
--  * scalar_rgb
--  * scalar_spectral
--  * gpu_autodiff_spectral
-- Mitsuba: using libc++.
-- Mitsuba: building the Python plugin.
-- Enoki: building the CUDA backend.
-- Enoki: building the autodiff backend.
-- Enoki: building the Python plugin.
-- pybind11 v2.4.dev4
-- TBB: using libc++.
-- Mitsuba: using Embree for CPU ray tracing.
-- Mitsuba: using OptiX for GPU ray tracing.
-- Mitsuba: LTO support enabled.
-- Mitsuba: sampling profiler enabled.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/abhinav/mitsuba2/build

And the compilation errors are:

[7/288] Building CXX object src/librender/CMakeFiles/mitsuba-render-obj.dir/shape.cpp.o
FAILED: src/librender/CMakeFiles/mitsuba-render-obj.dir/shape.cpp.o 
/usr/bin/clang++-9  -DLITTLE_ENDIAN -DMTS_BUILD_MODULE=MTS_MODULE_RENDER -DMTS_ENABLE_EMBREE=1 -DMTS_ENABLE_OPTIX=1 -DMTS_ENABLE_PROFILER -D__LINUX__ -I/usr/include/libcxxabi -I../include -I../ext/tinyformat -I../ext/enoki/include -I../ext/tbb/include -I../ext/embree/include -I../ext/pybind11/include -I/home/abhinav/anaconda3/include/python3.7m -Isrc/librender -I../ext/rgb2spec -I/home/abhinav/Downloads/NVIDIA-OptiX-SDK-6.5.0-linux64/include -flto=thin  -stdlib=libc++ -D_LIBCPP_VERSION -std=gnu++17 -fcolor-diagnostics -O3 -DNDEBUG -fPIC   -fno-stack-protector -fomit-frame-pointer -fno-math-errno -ffp-contract=fast -march=native -Wall -Wextra -Wno-unused-local-typedefs -fvisibility=hidden -Wdouble-promotion -MD -MT src/librender/CMakeFiles/mitsuba-render-obj.dir/shape.cpp.o -MF src/librender/CMakeFiles/mitsuba-render-obj.dir/shape.cpp.o.d -o src/librender/CMakeFiles/mitsuba-render-obj.dir/shape.cpp.o -c ../src/librender/shape.cpp
In file included from ../src/librender/shape.cpp:1:
In file included from ../include/mitsuba/render/kdtree.h:4:
In file included from ../include/mitsuba/core/bbox.h:3:
In file included from ../include/mitsuba/core/vector.h:4:
In file included from ../include/mitsuba/core/simd.h:4:
In file included from ../ext/enoki/include/enoki/array.h:30:
In file included from ../ext/enoki/include/enoki/array_generic.h:14:
In file included from ../ext/enoki/include/enoki/array_static.h:3:
In file included from ../ext/enoki/include/enoki/array_base.h:14:
../ext/enoki/include/enoki/array_router.h:794:19: error: no member named 'load_' in 'enoki::DiffArray<enoki::CUDAArray<int> >'
        return T::load_(mem);
               ~~~^
../src/librender/shape.cpp:148:23: note: in instantiation of function template specialization 'enoki::load<enoki::DiffArray<enoki::CUDAArray<int> > >' requested here
    Mask active = neq(load<Int>(valid), 0);
                      ^
../src/librender/shape.cpp:185:9: note: in instantiation of function template specialization 'mitsuba::embree_intersect_packet<enoki::DiffArray<CUDAArray<float> >, mitsuba::Spectrum<enoki::DiffArray<CUDAArray<float> >, 4> >' requested here
        embree_intersect_packet<Float, Spectrum>(args->valid, args->geometryUserPtr, args->geomID,
        ^
../src/librender/shape.cpp:206:43: note: in instantiation of function template specialization 'mitsuba::embree_intersect<enoki::DiffArray<CUDAArray<float> >, mitsuba::Spectrum<enoki::DiffArray<CUDAArray<float> >, 4> >' requested here
    rtcSetGeometryIntersectFunction(geom, embree_intersect<Float, Spectrum>);
                                          ^
In file included from ../src/librender/shape.cpp:1:
In file included from ../include/mitsuba/render/kdtree.h:4:
In file included from ../include/mitsuba/core/bbox.h:3:
In file included from ../include/mitsuba/core/vector.h:4:
In file included from ../include/mitsuba/core/simd.h:4:
In file included from ../ext/enoki/include/enoki/array.h:30:
In file included from ../ext/enoki/include/enoki/array_generic.h:14:
In file included from ../ext/enoki/include/enoki/array_static.h:3:
In file included from ../ext/enoki/include/enoki/array_base.h:14:
../ext/enoki/include/enoki/array_router.h:794:19: error: no member named 'load_' in 'enoki::DiffArray<CUDAArray<float> >'
        return T::load_(mem);
               ~~~^
../src/librender/shape.cpp:154:17: note: in instantiation of function template specialization 'enoki::load<enoki::DiffArray<CUDAArray<float> > >' requested here
    ray.o.x() = load<Float>(rays->org_x);
                ^
../src/librender/shape.cpp:185:9: note: in instantiation of function template specialization 'mitsuba::embree_intersect_packet<enoki::DiffArray<CUDAArray<float> >, mitsuba::Spectrum<enoki::DiffArray<CUDAArray<float> >, 4> >' requested here
        embree_intersect_packet<Float, Spectrum>(args->valid, args->geometryUserPtr, args->geomID,
        ^
../src/librender/shape.cpp:206:43: note: in instantiation of function template specialization 'mitsuba::embree_intersect<enoki::DiffArray<CUDAArray<float> >, mitsuba::Spectrum<enoki::DiffArray<CUDAArray<float> >, 4> >' requested here
    rtcSetGeometryIntersectFunction(geom, embree_intersect<Float, Spectrum>);
                                          ^
In file included from ../src/librender/shape.cpp:1:
In file included from ../include/mitsuba/render/kdtree.h:4:
In file included from ../include/mitsuba/core/bbox.h:3:
In file included from ../include/mitsuba/core/vector.h:4:
In file included from ../include/mitsuba/core/simd.h:4:
In file included from ../ext/enoki/include/enoki/array.h:30:
In file included from ../ext/enoki/include/enoki/array_generic.h:14:
In file included from ../ext/enoki/include/enoki/array_static.h:3:
In file included from ../ext/enoki/include/enoki/array_base.h:14:
../ext/enoki/include/enoki/array_router.h:844:15: error: no member named 'store_' in 'enoki::DiffArray<CUDAArray<float> >'
        value.store_(mem, mask);
        ~~~~~ ^
../src/librender/shape.cpp:169:9: note: in instantiation of function template specialization 'enoki::store<enoki::DiffArray<CUDAArray<float> > >' requested here
        store(rays->tfar, tt, active);
        ^
../src/librender/shape.cpp:185:9: note: in instantiation of function template specialization 'mitsuba::embree_intersect_packet<enoki::DiffArray<CUDAArray<float> >, mitsuba::Spectrum<enoki::DiffArray<CUDAArray<float> >, 4> >' requested here
        embree_intersect_packet<Float, Spectrum>(args->valid, args->geometryUserPtr, args->geomID,
        ^
../src/librender/shape.cpp:206:43: note: in instantiation of function template specialization 'mitsuba::embree_intersect<enoki::DiffArray<CUDAArray<float> >, mitsuba::Spectrum<enoki::DiffArray<CUDAArray<float> >, 4> >' requested here
    rtcSetGeometryIntersectFunction(geom, embree_intersect<Float, Spectrum>);
                                          ^
In file included from ../src/librender/shape.cpp:1:
In file included from ../include/mitsuba/render/kdtree.h:4:
In file included from ../include/mitsuba/core/bbox.h:3:
In file included from ../include/mitsuba/core/vector.h:4:
In file included from ../include/mitsuba/core/simd.h:4:
In file included from ../ext/enoki/include/enoki/array.h:30:
In file included from ../ext/enoki/include/enoki/array_generic.h:14:
In file included from ../ext/enoki/include/enoki/array_static.h:3:
In file included from ../ext/enoki/include/enoki/array_base.h:14:
../ext/enoki/include/enoki/array_router.h:844:15: error: no member named 'store_' in 'enoki::DiffArray<enoki::CUDAArray<int> >'
        value.store_(mem, mask);
        ~~~~~ ^
../src/librender/shape.cpp:170:9: note: in instantiation of function template specialization 'enoki::store<enoki::DiffArray<enoki::CUDAArray<int> > >' requested here
        store(hits->geomID, Int(geomID), active);
        ^
../src/librender/shape.cpp:185:9: note: in instantiation of function template specialization 'mitsuba::embree_intersect_packet<enoki::DiffArray<CUDAArray<float> >, mitsuba::Spectrum<enoki::DiffArray<CUDAArray<float> >, 4> >' requested here
        embree_intersect_packet<Float, Spectrum>(args->valid, args->geometryUserPtr, args->geomID,
        ^
../src/librender/shape.cpp:206:43: note: in instantiation of function template specialization 'mitsuba::embree_intersect<enoki::DiffArray<CUDAArray<float> >, mitsuba::Spectrum<enoki::DiffArray<CUDAArray<float> >, 4> >' requested here
    rtcSetGeometryIntersectFunction(geom, embree_intersect<Float, Spectrum>);
                                          ^
4 errors generated.
[20/288] Linking CXX shared library src/libcore/python/core_gpu_autodiff_spectral_ext.cpython-37m-x86_64-linux-gnu.so
ninja: build stopped: subcommand failed.

I had one issue while fetching the dependencies as mentioned in the Installation docs. I couldn't install python3-distutils. I was able to install all other dependencies though. I tried debugging to see how to install it, but without any success. This is the output when I tried to install python3-distutils.

$sudo apt install -y python3-distutils
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package python3-distutils

I also encountered the same error when installing python3-sphinxcontrib.bibtex (but I figured, it isn't essential for compiling the renderer). I wanted to mention that, in any case.

Not sure what is going wrong. Any help would be much appreciated! Thanks in advance!

Cannot switch variants on macOS

Using the latest master, switching variants has become impossible.

System configuration

Platform: macOS 10.15.4
Compiler: Apple clang version 11.0.0 (clang-1100.0.33.17)
Python version: Python 3.7.5 :: Anaconda, Inc.
Mitsuba 2 version: e8b5971 with patch to compile with packet variant (leroyvn/mitsuba2@a1aac2f)
Compiled variants: "scalar_mono", "scalar_mono_polarized", "scalar_rgb", "scalar_spectral", "packet_rgb"

Problem

I cannot switch variants anymore without unloading Mitsuba first.

Steps to reproduce

  1. Build the code with the aforementioned settings.

  2. Run pytest. At this stage, a suspiciously large number of tests is skipped.

    Click to see pytest log
       Running the full test suite. To skip slow tests, please run 'pytest -m 'not slow'
    ============================= test session starts ==============================
    platform darwin -- Python 3.7.7, pytest-5.4.1, py-1.8.1, pluggy-0.13.1
    rootdir: /Users/vincent/Documents/src/thirdparty/mitsuba2, inifile: setup.cfg
    plugins: xdist-1.30.0, forked-1.1.3
    collected 989 items
    
    src/bsdfs/tests/test_blendbsdf.py .....                                  [  0%]
    src/bsdfs/tests/test_conductor.py sss                                    [  0%]
    src/bsdfs/tests/test_dielectric.py .....                                 [  1%]
    src/bsdfs/tests/test_diffuse.py ..s                                      [  1%]
    src/bsdfs/tests/test_polarizer.py sssss                                  [  2%]
    src/bsdfs/tests/test_retarder.py sssssss                                 [  2%]
    src/bsdfs/tests/test_rough_conductor.py sssss                            [  3%]
    src/bsdfs/tests/test_rough_dielectric.py sssssssssss                     [  4%]
    src/bsdfs/tests/test_rough_plastic.py ss                                 [  4%]
    src/bsdfs/tests/test_twosided.py ...                                     [  4%]
    src/emitters/tests/test_area.py .ssssss                                  [  5%]
    src/emitters/tests/test_constant.py sssss                                [  6%]
    src/emitters/tests/test_point.py ssssss                                  [  6%]
    src/films/tests/test_hdrfilm.py .....                                    [  7%]
    src/libcore/tests/test_argparser.py .....                                [  7%]
    src/libcore/tests/test_atomic.py .                                       [  7%]
    src/libcore/tests/test_bbox.py ...                                       [  8%]
    src/libcore/tests/test_bitmap.py ............                            [  9%]
    src/libcore/tests/test_bsphere.py .                                      [  9%]
    src/libcore/tests/test_distr_1d.py ssssssssssssssssss                    [ 11%]
    src/libcore/tests/test_distr_2d.py ..............................sssssss [ 15%]
    ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 22%]
    sssssssssssssssssssssssssssssssssssssssss                                [ 26%]
    src/libcore/tests/test_filesystem.py .............                       [ 27%]
    src/libcore/tests/test_frame.py ...                                      [ 28%]
    src/libcore/tests/test_logger.py .                                       [ 28%]
    src/libcore/tests/test_math.py ..s.....                                  [ 29%]
    src/libcore/tests/test_mmap.py ....                                      [ 29%]
    src/libcore/tests/test_properties.py .......s                            [ 30%]
    src/libcore/tests/test_qmc.py ...s                                       [ 30%]
    src/libcore/tests/test_quad.py ....                                      [ 31%]
    src/libcore/tests/test_random.py ..s                                     [ 31%]
    src/libcore/tests/test_spline.py ....s.s......                           [ 32%]
    src/libcore/tests/test_stream.py ............................            [ 35%]
    src/libcore/tests/test_struct.py ....................................... [ 39%]
    ........................................................................ [ 46%]
    ........................................................................ [ 53%]
    .............                                                            [ 55%]
    src/libcore/tests/test_transform.py ......                               [ 55%]
    src/libcore/tests/test_util.py ..                                        [ 56%]
    src/libcore/tests/test_vector.py .                                       [ 56%]
    src/libcore/tests/test_warp.py sss..sssssss....                          [ 57%]
    src/libcore/tests/test_xml.py .....................                      [ 59%]
    src/librender/tests/test_bsdf.py ..                                      [ 60%]
    src/librender/tests/test_fresnel.py ..sss..                              [ 60%]
    src/librender/tests/test_imageblock.py ...sss                            [ 61%]
    src/librender/tests/test_integrator.py ...ssssss...ssssss...ssssss...sss [ 64%]
    sss...ssssss...sss                                                       [ 66%]
    src/librender/tests/test_interaction.py ..s                              [ 66%]
    src/librender/tests/test_kdtrees.py ..s                                  [ 67%]
    src/librender/tests/test_mesh.py .......................                 [ 69%]
    src/librender/tests/test_microfacet.py .sssssssssssssssssssssssssssss    [ 72%]
    src/librender/tests/test_mueller.py ........                             [ 73%]
    src/librender/tests/test_records.py .ss.s                                [ 73%]
    src/librender/tests/test_renders.py ssssssssssssssssssssssssssssssssssss [ 77%]
    ..................ssssssssssssssssssssssssssssssssssss                   [ 83%]
    src/librender/tests/test_scene.py .                                      [ 83%]
    src/librender/tests/test_spectra.py .sssss                               [ 83%]
    src/librender/tests/test_spiral.py ...                                   [ 84%]
    src/phase/tests/test_hg.py .s                                            [ 84%]
    src/phase/tests/test_isotropic.py ..s                                    [ 84%]
    src/phase/tests/test_trampoline.py ..                                    [ 84%]
    src/rfilters/tests/test_rfilter.py .........                             [ 85%]
    src/samplers/tests/test_independent.py ...s                              [ 86%]
    src/sensors/tests/test_perspective.py ................ssssssssssss       [ 88%]
    src/sensors/tests/test_thinlens.py ................sssssssssssssssssssss [ 92%]
    sssssssssssssssssssssssssssssssssssssssssssssssssssssss                  [ 98%]
    src/shapes/tests/test_cylinder.py ...                                    [ 98%]
    src/shapes/tests/test_disk.py ...                                        [ 98%]
    src/shapes/tests/test_rectangle.py ..s                                   [ 99%]
    src/shapes/tests/test_sphere.py ....                                     [ 99%]
    src/spectra/tests/test_d65.py s                                          [ 99%]
    src/spectra/tests/test_irregular.py ss                                   [ 99%]
    src/spectra/tests/test_regular.py ss                                     [100%]
    
    =========================== short test summary info ============================
    SKIPPED [16] /Users/vincent/Documents/src/thirdparty/mitsuba2/src/conftest.py:42: Mitsuba variant "scalar_mono_polarized" is not enabled!
    SKIPPED [198] /Users/vincent/Documents/src/thirdparty/mitsuba2/src/conftest.py:42: Mitsuba variant "packet_rgb" is not enabled!
    SKIPPED [104] /Users/vincent/Documents/src/thirdparty/mitsuba2/src/conftest.py:42: Mitsuba variant "packet_spectral" is not enabled!
    SKIPPED [12] /Users/vincent/Documents/src/thirdparty/mitsuba2/src/conftest.py:42: Mitsuba variant "scalar_spectral" is not enabled!
    SKIPPED [1] /Users/vincent/Documents/src/thirdparty/mitsuba2/src/libcore/tests/test_math.py:41: packet_rgb mode not enabled
    SKIPPED [1] src/libcore/tests/test_properties.py:149: TODO fix AnimatedTransform
    SKIPPED [1] src/libcore/tests/test_qmc.py:100: RadicalInverse has no vectorized bindings
    SKIPPED [10] /Users/vincent/Documents/src/thirdparty/mitsuba2/src/libcore/tests/test_warp.py:23: packet_rgb mode not enabled
    SKIPPED [1] /Users/vincent/Documents/src/thirdparty/mitsuba2/src/librender/tests/test_imageblock.py:111: packet_rgb mode not enabled
    SKIPPED [1] /Users/vincent/Documents/src/thirdparty/mitsuba2/src/librender/tests/test_imageblock.py:160: packet_rgb mode not enabled
    SKIPPED [15] /Users/vincent/Documents/src/thirdparty/mitsuba2/src/conftest.py:79: Mitsuba variant "packet_rgb" is not enabled!
    SKIPPED [15] /Users/vincent/Documents/src/thirdparty/mitsuba2/src/conftest.py:79: Mitsuba variant "gpu_rgb" is not enabled!
    SKIPPED [3] /Users/vincent/Documents/src/thirdparty/mitsuba2/src/conftest.py:69: Mitsuba variant "packet_rgb" is not enabled!
    SKIPPED [18] /Users/vincent/Documents/src/thirdparty/mitsuba2/src/librender/tests/test_renders.py:17: scalar_mono mode not enabled
    SKIPPED [18] /Users/vincent/Documents/src/thirdparty/mitsuba2/src/librender/tests/test_renders.py:17: scalar_mono_polarized mode not enabled
    SKIPPED [18] /Users/vincent/Documents/src/thirdparty/mitsuba2/src/librender/tests/test_renders.py:17: scalar_spectral mode not enabled
    SKIPPED [18] /Users/vincent/Documents/src/thirdparty/mitsuba2/src/librender/tests/test_renders.py:17: packet_rgb mode not enabled
    SKIPPED [1] /Users/vincent/Documents/src/thirdparty/mitsuba2/src/samplers/tests/test_independent.py:53: packet_rgb mode not enabled
    SKIPPED [1] /Users/vincent/Documents/src/thirdparty/mitsuba2/src/shapes/tests/test_rectangle.py:89: packet_rgb mode not enabled
    ================= 537 passed, 452 skipped in 115.41s (0:01:55) =================
    
  3. Import test: one variant at a time is fine.

    $ python -c "import mitsuba; mitsuba.set_variant('scalar_rgb')"
    $ python -c "import mitsuba; mitsuba.set_variant('packet_rgb')"
    
  4. Import test: load a variant then switch raises.

    $ python -c "import mitsuba; mitsuba.set_variant('scalar_rgb'); mitsuba.set_variant('packet_rgb')"
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/Users/vincent/Documents/src/thirdparty/mitsuba2/build/dist/python/mitsuba/__init__.py", line 162, in set_variant
        _import('mitsuba.core_' + value + '_ext')),
      File "/Users/vincent/miniconda3/envs/mitsuba2/lib/python3.7/importlib/__init__.py", line 127, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
      File "<frozen importlib._bootstrap>", line 983, in _find_and_load
      File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 670, in _load_unlocked
      File "<frozen importlib._bootstrap>", line 583, in module_from_spec
      File "<frozen importlib._bootstrap_external>", line 1043, in create_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
    ImportError: generic_type: type "Properties" is already registered!
    

Could this have something to do with my build setup?

Geometric differentiation does not yet work

In Inverse rendering example invert_cbox.py and invert_bunny.py, if I change the differentiated parameters to vertex_positions ( which have asterisk (*) on the left ), I receive the following error:

RuntimeError: set_gradient(): no gradients are associated with this variable (a prior call to requires_gradient() is required.)

I wonder why no gradients when they are differentiable? How should I differentiate with them?
Thanks!

Resolution in mitsuba.python.autodiff.write_bitmap / crop_size is transpose

Hi,
This is a very minor issue. I have a simple scene that the output is rectangular, not square. If I use the following code to render the image and save to file

image_ref = render(scene, spp=16)
crop_size = scene.sensors()[0].film().crop_size()
write_bitmap('out_ref.png', image_ref, crop_size)

The result would be incorrect. The correct usage has to be

image_ref = render(scene, spp=16)
crop_size = scene.sensors()[0].film().crop_size()
write_bitmap('out_ref.png', image_ref, (crop_size[1], crop_size[0]))

This is not a big issue. However, if one read examples in the documents, they would assume that the above one is the correct one. So, I think either change the behavior in the crop_size, write_bitmap, or the document would be an appropriate things.

Best Regards,

OpenEXR dwaLookups gets Segmentation fault: 11 [OSX Catalina - 10.15]

Hello,

Building on OSX, I get stuck on the OpenEXR execution of dwaLookups. Here's the output when I rerun ninja after the first crash (hence why I only have 202 goals left instead of the original 700+):

$ ninja
[2/202] Generating dwaLookups.h
FAILED: ext_build/openexr/OpenEXR/IlmImf/dwaLookups.h
cd /Users/guy4261/mitsuba2/build/ext_build/openexr/OpenEXR/IlmImf && /Users/guy4261/mitsuba2/build/ext_build/openexr/OpenEXR/IlmImf/./dwaLookups > /Users/guy4261/mitsuba2/build/ext_build/openexr/OpenEXR/IlmImf/dwaLookups.h
/bin/sh: line 1: 62275 Segmentation fault: 11  /Users/guy4261/mitsuba2/build/ext_build/openexr/OpenEXR/IlmImf/./dwaLookups > /Users/guy4261/mitsuba2/build/ext_build/openexr/OpenEXR/IlmImf/dwaLookups.h

The dwaLookups binary runs, but segfaults. Here's what I get when I run on the shell:

$ ext_build/openexr/OpenEXR/IlmImf/./dwaLookups
#include <cstddef>



const unsigned short dwaCompressorNoOp[] =
{
    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
...
    0xffe0, 0xffe1, 0xffe2, 0xffe3, 0xffe4, 0xffe5, 0xffe6, 0xffe7,
    0xffe8, 0xffe9, 0xffea, 0xffeb, 0xffec, 0xffed, 0xffee, 0xffef,
    0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7,
    0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc, 0xfffd, 0xfffe, 0xffff,
};



Segmentation fault: 11

My enabled modes in mitsuba_conf are:

    "enabled": [
        "scalar_rgb",
        "scalar_spectral",
        "packet_rgb"
    ],

and notice that the problem is with the OpenEXR under ext_build, so I assume this does not arise from the OpenEXR that I may already have on my system.

Compilation issues [Clang-9 Ubuntu 18.04 Nvidia 440.64 Cuda 10.2]

Hello, I would like to ask for some help

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.64       Driver Version: 440.64       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Quadro P4000        Off  | 00000000:00:05.0  On |                  N/A |
| 46%   32C    P8     7W / 105W |    283MiB /  8119MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1480      G   /usr/lib/xorg/Xorg                           143MiB |
|    0      1950      G   /usr/bin/gnome-shell                         137MiB |
+-----------------------------------------------------------------------------+

The CUDA and Optix samples compile and run, but I am hitting an error with mitsuba2@c4c30b87c121186455bd440c7b7bf1f39aa7d5aa:

-- The C compiler identification is Clang 9.0.0
-- The CXX compiler identification is Clang 9.0.0
-- 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
-- Found PythonInterp: /home/paperspace/miniconda3/bin/python3.7 (found version "3.7.4")
-- Found PythonLibs: /home/paperspace/miniconda3/lib/libpython3.7m.so
-- Building the following variants of Mitsuba:
--  * scalar_rgb
--  * packet_rgb
--  * gpu_spectral
--  * gpu_autodiff_rgb
--  * gpu_autodiff_spectral
-- Setting build type to 'Release' as none was specified.
-- Mitsuba: using libc++.
-- Mitsuba: building the Python plugin.
-- The CUDA compiler identification is NVIDIA 10.2.89
-- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc
-- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc -- works
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Enoki: building the CUDA backend.
-- Enoki: building the autodiff backend.
-- Enoki: building the Python plugin.
-- pybind11 v2.4.dev4
-- LTO enabled
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11")
-- Found PNG: /usr/lib/x86_64-linux-gnu/libpng.so (found version "1.6.34")
-- Found JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so (found version "80")
-- TBB: using libc++.
-- Mitsuba: using builtin implementation for CPU ray tracing.
-- Mitsuba: using OptiX for GPU ray tracing.
-- Mitsuba: LTO support enabled.
-- Check if the system is big endian
-- Searching 16 bit integer
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Mitsuba: sampling profiler enabled.
-- Could NOT find Sphinx (missing: SPHINX_EXECUTABLE)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/paperspace/mitsuba2/build
[1/757] Building CUDA object ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/common.cu.o
FAILED: ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/common.cu.o
/usr/local/cuda/bin/nvcc  -DENOKI_AUTODIFF=1 -DENOKI_BUILD=1 -DENOKI_CUDA=1 -DENOKI_CUDA_COMPUTE_CAPABILITY=61 -Denoki_cuda_EXPORTS -I/usr/include/libcxxabi -I../ext/enoki/include -I../ext/enoki/ext/cub -gencode arch=compute_61,code=compute_61 -cudart shared -Xcompiler -march=native -Xcompiler -fvisibility=hidden -DNDEBUG -O3 -DNDEBUG -Xcompiler=-fPIC -x cu -c ../ext/enoki/src/cuda/common.cu -o ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/common.cu.o && /usr/local/cuda/bin/nvcc  -DENOKI_AUTODIFF=1 -DENOKI_BUILD=1 -DENOKI_CUDA=1 -DENOKI_CUDA_COMPUTE_CAPABILITY=61 -Denoki_cuda_EXPORTS -I/usr/include/libcxxabi -I../ext/enoki/include -I../ext/enoki/ext/cub -gencode arch=compute_61,code=compute_61 -cudart shared -Xcompiler -march=native -Xcompiler -fvisibility=hidden -DNDEBUG -O3 -DNDEBUG -Xcompiler=-fPIC -x cu -M ../ext/enoki/src/cuda/common.cu -MT ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/common.cu.o -o ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/common.cu.o.d
/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(1761): error: identifier "__builtin_ia32_sqrtsd_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(1770): error: identifier "__builtin_ia32_sqrtss_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(2728): error: identifier "__builtin_ia32_scalefsd_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(2737): error: identifier "__builtin_ia32_scalefss_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(11265): error: identifier "__builtin_ia32_scalefsd_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(11274): error: identifier "__builtin_ia32_scalefss_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1163): error: identifier "__builtin_ia32_reducesd" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1171): error: identifier "__builtin_ia32_reducess" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1179): error: identifier "__builtin_ia32_rangesd128_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1189): error: identifier "__builtin_ia32_rangess128_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1198): error: identifier "__builtin_ia32_rangesd128_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1207): error: identifier "__builtin_ia32_rangess128_round" is undefined

12 errors detected in the compilation of "/tmp/tmpxft_00004748_00000000-6_common.cpp1.ii".
[2/757] Building CUDA object ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/jit.cu.o
FAILED: ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/jit.cu.o
/usr/local/cuda/bin/nvcc  -DENOKI_AUTODIFF=1 -DENOKI_BUILD=1 -DENOKI_CUDA=1 -DENOKI_CUDA_COMPUTE_CAPABILITY=61 -Denoki_cuda_EXPORTS -I/usr/include/libcxxabi -I../ext/enoki/include -I../ext/enoki/ext/cub -gencode arch=compute_61,code=compute_61 -cudart shared -Xcompiler -march=native -Xcompiler -fvisibility=hidden -DNDEBUG -O3 -DNDEBUG -Xcompiler=-fPIC -x cu -c ../ext/enoki/src/cuda/jit.cu -o ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/jit.cu.o && /usr/local/cuda/bin/nvcc  -DENOKI_AUTODIFF=1 -DENOKI_BUILD=1 -DENOKI_CUDA=1 -DENOKI_CUDA_COMPUTE_CAPABILITY=61 -Denoki_cuda_EXPORTS -I/usr/include/libcxxabi -I../ext/enoki/include -I../ext/enoki/ext/cub -gencode arch=compute_61,code=compute_61 -cudart shared -Xcompiler -march=native -Xcompiler -fvisibility=hidden -DNDEBUG -O3 -DNDEBUG -Xcompiler=-fPIC -x cu -M ../ext/enoki/src/cuda/jit.cu -MT ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/jit.cu.o -o ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/jit.cu.o.d
/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(1761): error: identifier "__builtin_ia32_sqrtsd_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(1770): error: identifier "__builtin_ia32_sqrtss_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(2728): error: identifier "__builtin_ia32_scalefsd_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(2737): error: identifier "__builtin_ia32_scalefss_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(11265): error: identifier "__builtin_ia32_scalefsd_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(11274): error: identifier "__builtin_ia32_scalefss_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1163): error: identifier "__builtin_ia32_reducesd" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1171): error: identifier "__builtin_ia32_reducess" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1179): error: identifier "__builtin_ia32_rangesd128_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1189): error: identifier "__builtin_ia32_rangess128_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1198): error: identifier "__builtin_ia32_rangesd128_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1207): error: identifier "__builtin_ia32_rangess128_round" is undefined

12 errors detected in the compilation of "/tmp/tmpxft_0000474e_00000000-6_jit.cpp1.ii".
[3/757] Building CUDA object ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/horiz.cu.o
FAILED: ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/horiz.cu.o
/usr/local/cuda/bin/nvcc  -DENOKI_AUTODIFF=1 -DENOKI_BUILD=1 -DENOKI_CUDA=1 -DENOKI_CUDA_COMPUTE_CAPABILITY=61 -Denoki_cuda_EXPORTS -I/usr/include/libcxxabi -I../ext/enoki/include -I../ext/enoki/ext/cub -gencode arch=compute_61,code=compute_61 -cudart shared -Xcompiler -march=native -Xcompiler -fvisibility=hidden -DNDEBUG -O3 -DNDEBUG -Xcompiler=-fPIC -x cu -c ../ext/enoki/src/cuda/horiz.cu -o ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/horiz.cu.o && /usr/local/cuda/bin/nvcc  -DENOKI_AUTODIFF=1 -DENOKI_BUILD=1 -DENOKI_CUDA=1 -DENOKI_CUDA_COMPUTE_CAPABILITY=61 -Denoki_cuda_EXPORTS -I/usr/include/libcxxabi -I../ext/enoki/include -I../ext/enoki/ext/cub -gencode arch=compute_61,code=compute_61 -cudart shared -Xcompiler -march=native -Xcompiler -fvisibility=hidden -DNDEBUG -O3 -DNDEBUG -Xcompiler=-fPIC -x cu -M ../ext/enoki/src/cuda/horiz.cu -MT ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/horiz.cu.o -o ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/horiz.cu.o.d
/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(1761): error: identifier "__builtin_ia32_sqrtsd_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(1770): error: identifier "__builtin_ia32_sqrtss_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(2728): error: identifier "__builtin_ia32_scalefsd_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(2737): error: identifier "__builtin_ia32_scalefss_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(11265): error: identifier "__builtin_ia32_scalefsd_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(11274): error: identifier "__builtin_ia32_scalefss_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1163): error: identifier "__builtin_ia32_reducesd" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1171): error: identifier "__builtin_ia32_reducess" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1179): error: identifier "__builtin_ia32_rangesd128_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1189): error: identifier "__builtin_ia32_rangess128_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1198): error: identifier "__builtin_ia32_rangesd128_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1207): error: identifier "__builtin_ia32_rangess128_round" is undefined

12 errors detected in the compilation of "/tmp/tmpxft_0000474d_00000000-6_horiz.cpp1.ii".
[10/757] Building CXX object ext_build/enoki/CMakeFiles/enoki-autodiff.dir/src/autodiff/autodiff.cpp.o
ninja: build stopped: subcommand failed.

Any help is much appreciated. Please let me know if you need more details.

Emitters cannot be unattached but BSDFs can.

Hi,

As I was building a single .XML file to store many emitters, I noticed that while it is possible to have many BSDFs unattached, the same is not true with Emitters:

Changing resources/data/scenes/cbox/cbox-spectral.xml from

<scene version="2.0.0">
    <include filename="fragments/base.xml"/>
    <include filename="fragments/bsdfs-spectral.xml"/>
    <include filename="fragments/shapes.xml"/>

    <emitter type="area" id="area-emitter">
        <spectrum name="radiance" value="400:0, 500:8, 600:15.6, 700:18.4"/>
    </emitter>
</scene>

to

<scene version="2.0.0">
    <include filename="fragments/base.xml"/>
    <include filename="fragments/bsdfs-spectral.xml"/>
    <include filename="fragments/shapes.xml"/>

    <emitter type="area" id="area-emitter">
        <spectrum name="radiance" value="400:0, 500:8, 600:15.6, 700:18.4"/>
    </emitter>

    <emitter type="area" id="area-emitter2">
        <spectrum name="radiance" value="400:0, 500:8, 600:15.6, 700:18.4"/>
    </emitter>
</scene>

raises the following exception upon rendering:

Caught a critical exception: [xml.cpp:1057] Error while loading "cbox-spectral.xml" (near line 1, col 1): could not instantiate scene plugin of type "scene":
[xml.cpp:1057]   [Scene] Surface emitter was not attached to any shape: AreaLight[
[xml.cpp:1057] [Scene]   radiance = RegularSpectrum[
[xml.cpp:1057] [Scene]     distr = ContinuousDistribution[
[xml.cpp:1057] [Scene]       size = 4,
[xml.cpp:1057] [Scene]       range = [400, 700],
[xml.cpp:1057] [Scene]       integral = 30.7259,
[xml.cpp:1057] [Scene]       pdf = [0, 0.0749413, 0.146135, 0.172365]
[xml.cpp:1057] [Scene]     ]
[xml.cpp:1057] [Scene]   ],
[xml.cpp:1057] [Scene]   surface_area =   <no shape attached!>,
[xml.cpp:1057] [Scene]   <no medium attached!>
[xml.cpp:1057] [Scene] ]

Not a major issue but I guess it raises the question about behaviour consistency. I would actually quite like being able to store many lights in a single file.

Cheers,

Thomas

`packet_spectral` build error on Windows 10

First of all, congratulations. Mitsuba 2 is completely revolutionary. Well done on getting it out.

I've managed to compile and use Mitsuba 2 on Windows 10 in scalar_rgb and scalar_spectral modes, but when attempting to compile with packet_spectral added to the config, I receive the following error:

Build FAILED.

"H:\Users\chris\Documents\mitsuba2\mitsuba.sln" (default target) (1) ->
"H:\Users\chris\Documents\mitsuba2\ALL_BUILD.vcxproj.metaproj" (default target) (51) ->
"H:\Users\chris\Documents\mitsuba2\src\libcore\python\core_packet_spectral_ext.vcxproj.metaproj" (default target) (102) ->
"H:\Users\chris\Documents\mitsuba2\src\libcore\python\core_packet_spectral_ext-obj.vcxproj.metaproj" (default target) (103) ->
"H:\Users\chris\Documents\mitsuba2\src\libcore\python\core_packet_spectral_ext-obj.vcxproj" (default target) (104) ->
(ClCompile target) -> 
  H:\Users\chris\Documents\mitsuba2\ext\enoki\include\enoki/array_router.h(197,1): error C2593: 'operator =' is ambiguous [H:\Users\chris\Documents\mitsuba2\src\libco 
re\python\core_packet_spectral_ext-obj.vcxproj]


"H:\Users\chris\Documents\mitsuba2\mitsuba.sln" (default target) (1) ->
"H:\Users\chris\Documents\mitsuba2\ALL_BUILD.vcxproj.metaproj" (default target) (51) ->
"H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (default target) (141) ->
"H:\Users\chris\Documents\mitsuba2\src\integrators\volpath.vcxproj.metaproj" (default target) (320) ->
"H:\Users\chris\Documents\mitsuba2\src\integrators\volpath-obj.vcxproj.metaproj" (default target) (321) ->
"H:\Users\chris\Documents\mitsuba2\src\integrators\volpath-obj.vcxproj" (default target) (322) ->
  H:\Users\chris\Documents\mitsuba2\src\integrators\volpath.cpp(119,13): error C2593: 'operator =' is ambiguous [H:\Users\chris\Documents\mitsuba2\src\integrators\vol 
path-obj.vcxproj]


"H:\Users\chris\Documents\mitsuba2\mitsuba.sln" (default target) (1) ->
"H:\Users\chris\Documents\mitsuba2\ALL_BUILD.vcxproj.metaproj" (default target) (51) ->
"H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (default target) (141) ->
"H:\Users\chris\Documents\mitsuba2\src\integrators\volpathsimple.vcxproj.metaproj" (default target) (323) ->
"H:\Users\chris\Documents\mitsuba2\src\integrators\volpathsimple-obj.vcxproj.metaproj" (default target) (324) ->
"H:\Users\chris\Documents\mitsuba2\src\integrators\volpathsimple-obj.vcxproj" (default target) (325) ->
  H:\Users\chris\Documents\mitsuba2\src\integrators\volpath-simple.cpp(66,13): error C2593: 'operator =' is ambiguous [H:\Users\chris\Documents\mitsuba2\src\integrato 
rs\volpathsimple-obj.vcxproj]

I haven't made any modifications to the code and I cloned everything today, currently on commit a749215.

The start is truncated due to the console line limit
Full log info:

j.metaproj" (237) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\shapes\rectangle-obj.vcxproj.metaproj" (237) is building "H:\Users\chris\Documents\mitsuba2\src\shapes\rectangle-obj.vc 
xproj" (238) on node 1 (default targets).
InitializeBuildStatus:
  Creating "rectangle-obj.dir\Debug\rectangle-obj.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  rectangle-obj.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\shapes\rectangle-obj.dir\Debug\rectangle-obj.lib
FinalizeBuildStatus:
  Deleting file "rectangle-obj.dir\Debug\rectangle-obj.tlog\unsuccessfulbuild".
  Touching "rectangle-obj.dir\Debug\rectangle-obj.tlog\rectangle-obj.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\shapes\rectangle-obj.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\shapes\rectangle-obj.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\src\shapes\rectangle.vcxproj.metaproj" (236) is building "H:\Users\chris\Documents\mitsuba2\src\shapes\rectangle.vcxproj" (
239) on node 1 (default targets).
InitializeBuildStatus:
  Creating "rectangle.dir\Debug\rectangle.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  rectangle.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\shapes\Debug\rectangle.dll
FinalizeBuildStatus:
  Deleting file "rectangle.dir\Debug\rectangle.tlog\unsuccessfulbuild".
  Touching "rectangle.dir\Debug\rectangle.tlog\rectangle.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\shapes\rectangle.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\shapes\rectangle.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\spectra\regular.vcxproj.metaproj" (240
) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\spectra\regular.vcxproj.metaproj" (240) is building "H:\Users\chris\Documents\mitsuba2\src\spectra\regular-obj.vcxproj. 
metaproj" (241) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\spectra\regular-obj.vcxproj.metaproj" (241) is building "H:\Users\chris\Documents\mitsuba2\src\spectra\regular-obj.vcxp 
roj" (242) on node 1 (default targets).
InitializeBuildStatus:
  Creating "regular-obj.dir\Debug\regular-obj.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  regular-obj.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\spectra\regular-obj.dir\Debug\regular-obj.lib
FinalizeBuildStatus:
  Deleting file "regular-obj.dir\Debug\regular-obj.tlog\unsuccessfulbuild".
  Touching "regular-obj.dir\Debug\regular-obj.tlog\regular-obj.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\spectra\regular-obj.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\spectra\regular-obj.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\src\spectra\regular.vcxproj.metaproj" (240) is building "H:\Users\chris\Documents\mitsuba2\src\spectra\regular.vcxproj" (24
3) on node 1 (default targets).
InitializeBuildStatus:
  Creating "regular.dir\Debug\regular.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  regular.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\spectra\Debug\regular.dll
FinalizeBuildStatus:
  Deleting file "regular.dir\Debug\regular.tlog\unsuccessfulbuild".
  Touching "regular.dir\Debug\regular.tlog\regular.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\spectra\regular.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\spectra\regular.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_ext.vcxproj.me
taproj" (244) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_ext.vcxproj.metaproj" (244) is building "H:\Users\chris\Documents\mitsuba2\src\librender\python 
\render_ext-obj.vcxproj.metaproj" (245) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_ext-obj.vcxproj.metaproj" (245) is building "H:\Users\chris\Documents\mitsuba2\src\librender\py
thon\render_ext-obj.vcxproj" (246) on node 1 (default targets).
InitializeBuildStatus:
  Creating "render_ext-obj.dir\Debug\render_ext-obj.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  render_ext-obj.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\librender\python\render_ext-obj.dir\Debug\render_ext-obj.lib
FinalizeBuildStatus:
  Deleting file "render_ext-obj.dir\Debug\render_ext-obj.tlog\unsuccessfulbuild".
  Touching "render_ext-obj.dir\Debug\render_ext-obj.tlog\render_ext-obj.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_ext-obj.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_ext-obj.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_ext.vcxproj.metaproj" (244) is building "H:\Users\chris\Documents\mitsuba2\src\librender\python
\render_ext.vcxproj" (247) on node 1 (default targets).
InitializeBuildStatus:
  Creating "render_ext.dir\Debug\render_ext.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  render_ext.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\librender\python\Debug\render_ext.cp38-win_amd64.pyd
FinalizeBuildStatus:
  Deleting file "render_ext.dir\Debug\render_ext.tlog\unsuccessfulbuild".
  Touching "render_ext.dir\Debug\render_ext.tlog\render_ext.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_ext.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_ext.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_packet_spectra
l_ext.vcxproj.metaproj" (248) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_packet_spectral_ext.vcxproj.metaproj" (248) is building "H:\Users\chris\Documents\mitsuba2\src\ 
librender\python\render_packet_spectral_ext-obj.vcxproj.metaproj" (249) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_packet_spectral_ext-obj.vcxproj.metaproj" (249) is building "H:\Users\chris\Documents\mitsuba2\ 
src\librender\python\render_packet_spectral_ext-obj.vcxproj" (250) on node 1 (default targets).
InitializeBuildStatus:
  Creating "render_packet_spectral_ext-obj.dir\Debug\render_p.AFCC1880.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  render_packet_spectral_ext-obj.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\librender\python\render_packet_spectral_ext-obj.dir\Debug\render_packet_spectral_ext 
  -obj.lib
FinalizeBuildStatus:
  Deleting file "render_packet_spectral_ext-obj.dir\Debug\render_p.AFCC1880.tlog\unsuccessfulbuild".
  Touching "render_packet_spectral_ext-obj.dir\Debug\render_p.AFCC1880.tlog\render_packet_spectral_ext-obj.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_packet_spectral_ext-obj.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_packet_spectral_ext-obj.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_packet_spectral_ext.vcxproj.metaproj" (248) is building "H:\Users\chris\Documents\mitsuba2\src\
librender\python\render_packet_spectral_ext.vcxproj" (251) on node 1 (default targets).
InitializeBuildStatus:
  Creating "render_packet_spectral_ext.dir\Debug\render_p.37F4845A.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  render_packet_spectral_ext.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\librender\python\Debug\render_packet_spectral_ext.cp38-win_amd64.pyd
FinalizeBuildStatus:
  Deleting file "render_packet_spectral_ext.dir\Debug\render_p.37F4845A.tlog\unsuccessfulbuild".
  Touching "render_packet_spectral_ext.dir\Debug\render_p.37F4845A.tlog\render_packet_spectral_ext.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_packet_spectral_ext.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_packet_spectral_ext.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_scalar_rgb_ext
.vcxproj.metaproj" (252) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_scalar_rgb_ext.vcxproj.metaproj" (252) is building "H:\Users\chris\Documents\mitsuba2\src\libre 
nder\python\render_scalar_rgb_ext-obj.vcxproj.metaproj" (253) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_scalar_rgb_ext-obj.vcxproj.metaproj" (253) is building "H:\Users\chris\Documents\mitsuba2\src\l 
ibrender\python\render_scalar_rgb_ext-obj.vcxproj" (254) on node 1 (default targets).
InitializeBuildStatus:
  Creating "render_scalar_rgb_ext-obj.dir\Debug\render_s.1DAD44CB.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  render_scalar_rgb_ext-obj.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\librender\python\render_scalar_rgb_ext-obj.dir\Debug\render_scalar_rgb_ext-obj.lib        
FinalizeBuildStatus:
  Deleting file "render_scalar_rgb_ext-obj.dir\Debug\render_s.1DAD44CB.tlog\unsuccessfulbuild".
  Touching "render_scalar_rgb_ext-obj.dir\Debug\render_s.1DAD44CB.tlog\render_scalar_rgb_ext-obj.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_scalar_rgb_ext-obj.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_scalar_rgb_ext-obj.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_scalar_rgb_ext.vcxproj.metaproj" (252) is building "H:\Users\chris\Documents\mitsuba2\src\libre
nder\python\render_scalar_rgb_ext.vcxproj" (255) on node 1 (default targets).
InitializeBuildStatus:
  Creating "render_scalar_rgb_ext.dir\Debug\render_s.EBB00A5E.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  render_scalar_rgb_ext.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\librender\python\Debug\render_scalar_rgb_ext.cp38-win_amd64.pyd
FinalizeBuildStatus:
  Deleting file "render_scalar_rgb_ext.dir\Debug\render_s.EBB00A5E.tlog\unsuccessfulbuild".
  Touching "render_scalar_rgb_ext.dir\Debug\render_s.EBB00A5E.tlog\render_scalar_rgb_ext.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_scalar_rgb_ext.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_scalar_rgb_ext.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_scalar_spectra
l_ext.vcxproj.metaproj" (256) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_scalar_spectral_ext.vcxproj.metaproj" (256) is building "H:\Users\chris\Documents\mitsuba2\src\ 
librender\python\render_scalar_spectral_ext-obj.vcxproj.metaproj" (257) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_scalar_spectral_ext-obj.vcxproj.metaproj" (257) is building "H:\Users\chris\Documents\mitsuba2\ 
src\librender\python\render_scalar_spectral_ext-obj.vcxproj" (258) on node 1 (default targets).
InitializeBuildStatus:
  Creating "render_scalar_spectral_ext-obj.dir\Debug\render_s.217B2B39.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  render_scalar_spectral_ext-obj.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\librender\python\render_scalar_spectral_ext-obj.dir\Debug\render_scalar_spectral_ext 
  -obj.lib
FinalizeBuildStatus:
  Deleting file "render_scalar_spectral_ext-obj.dir\Debug\render_s.217B2B39.tlog\unsuccessfulbuild".
  Touching "render_scalar_spectral_ext-obj.dir\Debug\render_s.217B2B39.tlog\render_scalar_spectral_ext-obj.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_scalar_spectral_ext-obj.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_scalar_spectral_ext-obj.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_scalar_spectral_ext.vcxproj.metaproj" (256) is building "H:\Users\chris\Documents\mitsuba2\src\
librender\python\render_scalar_spectral_ext.vcxproj" (259) on node 1 (default targets).
InitializeBuildStatus:
  Creating "render_scalar_spectral_ext.dir\Debug\render_s.EFEC4231.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  render_scalar_spectral_ext.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\librender\python\Debug\render_scalar_spectral_ext.cp38-win_amd64.pyd
FinalizeBuildStatus:
  Deleting file "render_scalar_spectral_ext.dir\Debug\render_s.EFEC4231.tlog\unsuccessfulbuild".
  Touching "render_scalar_spectral_ext.dir\Debug\render_s.EFEC4231.tlog\render_scalar_spectral_ext.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_scalar_spectral_ext.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\librender\python\render_scalar_spectral_ext.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\retarder.vcxproj.metaproj" (260)
 on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\retarder.vcxproj.metaproj" (260) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\retarder-obj.vcxproj.me 
taproj" (261) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\retarder-obj.vcxproj.metaproj" (261) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\retarder-obj.vcxpro 
j" (262) on node 1 (default targets).
InitializeBuildStatus:
  Creating "retarder-obj.dir\Debug\retarder-obj.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  retarder-obj.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\bsdfs\retarder-obj.dir\Debug\retarder-obj.lib
FinalizeBuildStatus:
  Deleting file "retarder-obj.dir\Debug\retarder-obj.tlog\unsuccessfulbuild".
  Touching "retarder-obj.dir\Debug\retarder-obj.tlog\retarder-obj.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\retarder-obj.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\retarder-obj.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\retarder.vcxproj.metaproj" (260) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\retarder.vcxproj" (263)
 on node 1 (default targets).
InitializeBuildStatus:
  Creating "retarder.dir\Debug\retarder.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  retarder.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\bsdfs\Debug\retarder.dll
FinalizeBuildStatus:
  Deleting file "retarder.dir\Debug\retarder.tlog\unsuccessfulbuild".
  Touching "retarder.dir\Debug\retarder.tlog\retarder.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\retarder.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\retarder.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\ext_build\rgb2spec\rgb2spec_opt_run.vcxpro
j.metaproj" (264) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\ext_build\rgb2spec\rgb2spec_opt_run.vcxproj.metaproj" (264) is building "H:\Users\chris\Documents\mitsuba2\ext_build\rgb2sp 
ec\rgb2spec_opt.vcxproj.metaproj" (265) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\ext_build\rgb2spec\rgb2spec_opt.vcxproj.metaproj" (265) is building "H:\Users\chris\Documents\mitsuba2\ext_build\rgb2spec\r 
gb2spec_opt.vcxproj" (266) on node 1 (default targets).
InitializeBuildStatus:
  Creating "rgb2spec_opt.dir\Debug\rgb2spec_opt.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  rgb2spec_opt.vcxproj -> H:\Users\chris\Documents\mitsuba2\ext_build\rgb2spec\Debug\rgb2spec_opt.exe
PostBuildEvent:
  setlocal
  "C:\Program Files\CMake\bin\cmake.exe" -E copy_if_different H:/Users/chris/Documents/mitsuba2/ext_build/tbb/Debug/tbb.dll H:/Users/chris/Documents/mitsuba2/ext_buil 
  d/rgb2spec/Debug
  if %errorlevel% neq 0 goto :cmEnd
  :cmEnd
  endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
  :cmErrorLevel
  exit /b %1
  :cmDone
  if %errorlevel% neq 0 goto :VCEnd
  :VCEnd
FinalizeBuildStatus:
  Deleting file "rgb2spec_opt.dir\Debug\rgb2spec_opt.tlog\unsuccessfulbuild".
  Touching "rgb2spec_opt.dir\Debug\rgb2spec_opt.tlog\rgb2spec_opt.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\ext_build\rgb2spec\rgb2spec_opt.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\ext_build\rgb2spec\rgb2spec_opt.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\ext_build\rgb2spec\rgb2spec_opt_run.vcxproj.metaproj" (264) is building "H:\Users\chris\Documents\mitsuba2\ext_build\rgb2sp
ec\rgb2spec_opt_run.vcxproj" (267) on node 1 (default targets).
InitializeBuildStatus:
  Creating "x64\Debug\rgb2spec_opt_run\rgb2spec_opt_run.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
FinalizeBuildStatus:
  Deleting file "x64\Debug\rgb2spec_opt_run\rgb2spec_opt_run.tlog\unsuccessfulbuild".
  Touching "x64\Debug\rgb2spec_opt_run\rgb2spec_opt_run.tlog\rgb2spec_opt_run.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\ext_build\rgb2spec\rgb2spec_opt_run.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\ext_build\rgb2spec\rgb2spec_opt_run.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughconductor.vcxproj.metaproj"
 (268) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughconductor.vcxproj.metaproj" (268) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughconductor-ob 
j.vcxproj.metaproj" (269) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughconductor-obj.vcxproj.metaproj" (269) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughconducto 
r-obj.vcxproj" (270) on node 1 (default targets).
InitializeBuildStatus:
  Creating "roughconductor-obj.dir\Debug\roughcon.53900DE9.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  roughconductor-obj.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughconductor-obj.dir\Debug\roughconductor-obj.lib
FinalizeBuildStatus:
  Deleting file "roughconductor-obj.dir\Debug\roughcon.53900DE9.tlog\unsuccessfulbuild".
  Touching "roughconductor-obj.dir\Debug\roughcon.53900DE9.tlog\roughconductor-obj.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughconductor-obj.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughconductor-obj.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughconductor.vcxproj.metaproj" (268) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughconductor.vc
xproj" (271) on node 1 (default targets).
InitializeBuildStatus:
  Creating "roughconductor.dir\Debug\roughconductor.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  roughconductor.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\bsdfs\Debug\roughconductor.dll
FinalizeBuildStatus:
  Deleting file "roughconductor.dir\Debug\roughconductor.tlog\unsuccessfulbuild".
  Touching "roughconductor.dir\Debug\roughconductor.tlog\roughconductor.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughconductor.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughconductor.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughdielectric.vcxproj.metaproj
" (272) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughdielectric.vcxproj.metaproj" (272) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughdielectric- 
obj.vcxproj.metaproj" (273) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughdielectric-obj.vcxproj.metaproj" (273) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughdielect 
ric-obj.vcxproj" (274) on node 1 (default targets).
InitializeBuildStatus:
  Creating "roughdielectric-obj.dir\Debug\roughdie.E0AADA01.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  roughdielectric-obj.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughdielectric-obj.dir\Debug\roughdielectric-obj.lib
FinalizeBuildStatus:
  Deleting file "roughdielectric-obj.dir\Debug\roughdie.E0AADA01.tlog\unsuccessfulbuild".
  Touching "roughdielectric-obj.dir\Debug\roughdie.E0AADA01.tlog\roughdielectric-obj.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughdielectric-obj.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughdielectric-obj.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughdielectric.vcxproj.metaproj" (272) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughdielectric.
vcxproj" (275) on node 1 (default targets).
InitializeBuildStatus:
  Creating "roughdielectric.dir\Debug\roughdielectric.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  roughdielectric.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\bsdfs\Debug\roughdielectric.dll
FinalizeBuildStatus:
  Deleting file "roughdielectric.dir\Debug\roughdielectric.tlog\unsuccessfulbuild".
  Touching "roughdielectric.dir\Debug\roughdielectric.tlog\roughdielectric.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughdielectric.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughdielectric.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughplastic.vcxproj.metaproj" (
276) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughplastic.vcxproj.metaproj" (276) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughplastic-obj.vc 
xproj.metaproj" (277) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughplastic-obj.vcxproj.metaproj" (277) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughplastic-ob
j.vcxproj" (278) on node 1 (default targets).
InitializeBuildStatus:
  Creating "roughplastic-obj.dir\Debug\roughplastic-obj.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  roughplastic-obj.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughplastic-obj.dir\Debug\roughplastic-obj.lib
FinalizeBuildStatus:
  Deleting file "roughplastic-obj.dir\Debug\roughplastic-obj.tlog\unsuccessfulbuild".
  Touching "roughplastic-obj.dir\Debug\roughplastic-obj.tlog\roughplastic-obj.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughplastic-obj.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughplastic-obj.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughplastic.vcxproj.metaproj" (276) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughplastic.vcxpro
j" (279) on node 1 (default targets).
InitializeBuildStatus:
  Creating "roughplastic.dir\Debug\roughplastic.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  roughplastic.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\bsdfs\Debug\roughplastic.dll
FinalizeBuildStatus:
  Deleting file "roughplastic.dir\Debug\roughplastic.tlog\unsuccessfulbuild".
  Touching "roughplastic.dir\Debug\roughplastic.tlog\roughplastic.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughplastic.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\roughplastic.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\shapes\serialized.vcxproj.metaproj" (2
80) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\shapes\serialized.vcxproj.metaproj" (280) is building "H:\Users\chris\Documents\mitsuba2\src\shapes\serialized-obj.vcxp 
roj.metaproj" (281) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\shapes\serialized-obj.vcxproj.metaproj" (281) is building "H:\Users\chris\Documents\mitsuba2\src\shapes\serialized-obj. 
vcxproj" (282) on node 1 (default targets).
InitializeBuildStatus:
  Creating "serialized-obj.dir\Debug\serialized-obj.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  serialized-obj.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\shapes\serialized-obj.dir\Debug\serialized-obj.lib
FinalizeBuildStatus:
  Deleting file "serialized-obj.dir\Debug\serialized-obj.tlog\unsuccessfulbuild".
  Touching "serialized-obj.dir\Debug\serialized-obj.tlog\serialized-obj.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\shapes\serialized-obj.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\shapes\serialized-obj.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\src\shapes\serialized.vcxproj.metaproj" (280) is building "H:\Users\chris\Documents\mitsuba2\src\shapes\serialized.vcxproj"
 (283) on node 1 (default targets).
InitializeBuildStatus:
  Creating "serialized.dir\Debug\serialized.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  serialized.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\shapes\Debug\serialized.dll
FinalizeBuildStatus:
  Deleting file "serialized.dir\Debug\serialized.tlog\unsuccessfulbuild".
  Touching "serialized.dir\Debug\serialized.tlog\serialized.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\shapes\serialized.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\shapes\serialized.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\shapes\sphere.vcxproj.metaproj" (284) 
on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\shapes\sphere.vcxproj.metaproj" (284) is building "H:\Users\chris\Documents\mitsuba2\src\shapes\sphere-obj.vcxproj.meta 
proj" (285) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\shapes\sphere-obj.vcxproj.metaproj" (285) is building "H:\Users\chris\Documents\mitsuba2\src\shapes\sphere-obj.vcxproj" 
 (286) on node 1 (default targets).
InitializeBuildStatus:
  Creating "sphere-obj.dir\Debug\sphere-obj.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  sphere-obj.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\shapes\sphere-obj.dir\Debug\sphere-obj.lib
FinalizeBuildStatus:
  Deleting file "sphere-obj.dir\Debug\sphere-obj.tlog\unsuccessfulbuild".
  Touching "sphere-obj.dir\Debug\sphere-obj.tlog\sphere-obj.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\shapes\sphere-obj.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\shapes\sphere-obj.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\src\shapes\sphere.vcxproj.metaproj" (284) is building "H:\Users\chris\Documents\mitsuba2\src\shapes\sphere.vcxproj" (287) o
n node 1 (default targets).
InitializeBuildStatus:
  Creating "sphere.dir\Debug\sphere.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  sphere.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\shapes\Debug\sphere.dll
FinalizeBuildStatus:
  Deleting file "sphere.dir\Debug\sphere.tlog\unsuccessfulbuild".
  Touching "sphere.dir\Debug\sphere.tlog\sphere.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\shapes\sphere.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\shapes\sphere.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb.vcxproj.metaproj" (288) o
n node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb.vcxproj.metaproj" (288) is building "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb-obj.vcxproj.metapr 
oj" (289) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb-obj.vcxproj.metaproj" (289) is building "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb-obj.vcxproj" (
290) on node 1 (default targets).
InitializeBuildStatus:
  Creating "srgb-obj.dir\Debug\srgb-obj.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  srgb-obj.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\spectra\srgb-obj.dir\Debug\srgb-obj.lib
FinalizeBuildStatus:
  Deleting file "srgb-obj.dir\Debug\srgb-obj.tlog\unsuccessfulbuild".
  Touching "srgb-obj.dir\Debug\srgb-obj.tlog\srgb-obj.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb-obj.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb-obj.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb.vcxproj.metaproj" (288) is building "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb.vcxproj" (291) on 
node 1 (default targets).
InitializeBuildStatus:
  Creating "srgb.dir\Debug\srgb.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  srgb.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\spectra\Debug\srgb.dll
FinalizeBuildStatus:
  Deleting file "srgb.dir\Debug\srgb.tlog\unsuccessfulbuild".
  Touching "srgb.dir\Debug\srgb.tlog\srgb.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb_d65.vcxproj.metaproj" (29
2) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb_d65.vcxproj.metaproj" (292) is building "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb_d65-obj.vcxpro 
j.metaproj" (293) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb_d65-obj.vcxproj.metaproj" (293) is building "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb_d65-obj.vc 
xproj" (294) on node 1 (default targets).
InitializeBuildStatus:
  Creating "srgb_d65-obj.dir\Debug\srgb_d65-obj.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  srgb_d65-obj.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\spectra\srgb_d65-obj.dir\Debug\srgb_d65-obj.lib
FinalizeBuildStatus:
  Deleting file "srgb_d65-obj.dir\Debug\srgb_d65-obj.tlog\unsuccessfulbuild".
  Touching "srgb_d65-obj.dir\Debug\srgb_d65-obj.tlog\srgb_d65-obj.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb_d65-obj.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb_d65-obj.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb_d65.vcxproj.metaproj" (292) is building "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb_d65.vcxproj" (
295) on node 1 (default targets).
InitializeBuildStatus:
  Creating "srgb_d65.dir\Debug\srgb_d65.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  srgb_d65.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\spectra\Debug\srgb_d65.dll
FinalizeBuildStatus:
  Deleting file "srgb_d65.dir\Debug\srgb_d65.tlog\unsuccessfulbuild".
  Touching "srgb_d65.dir\Debug\srgb_d65.tlog\srgb_d65.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb_d65.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\spectra\srgb_d65.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\integrators\stokes.vcxproj.metaproj" (
296) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\integrators\stokes.vcxproj.metaproj" (296) is building "H:\Users\chris\Documents\mitsuba2\src\integrators\stokes-obj.vc 
xproj.metaproj" (297) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\integrators\stokes-obj.vcxproj.metaproj" (297) is building "H:\Users\chris\Documents\mitsuba2\src\integrators\stokes-ob 
j.vcxproj" (298) on node 1 (default targets).
InitializeBuildStatus:
  Creating "stokes-obj.dir\Debug\stokes-obj.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  stokes-obj.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\integrators\stokes-obj.dir\Debug\stokes-obj.lib
FinalizeBuildStatus:
  Deleting file "stokes-obj.dir\Debug\stokes-obj.tlog\unsuccessfulbuild".
  Touching "stokes-obj.dir\Debug\stokes-obj.tlog\stokes-obj.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\integrators\stokes-obj.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\integrators\stokes-obj.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\src\integrators\stokes.vcxproj.metaproj" (296) is building "H:\Users\chris\Documents\mitsuba2\src\integrators\stokes.vcxpro
j" (299) on node 1 (default targets).
InitializeBuildStatus:
  Creating "stokes.dir\Debug\stokes.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  stokes.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\integrators\Debug\stokes.dll
FinalizeBuildStatus:
  Deleting file "stokes.dir\Debug\stokes.tlog\unsuccessfulbuild".
  Touching "stokes.dir\Debug\stokes.tlog\stokes.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\integrators\stokes.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\integrators\stokes.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\rfilters\tent.vcxproj.metaproj" (300) 
on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\rfilters\tent.vcxproj.metaproj" (300) is building "H:\Users\chris\Documents\mitsuba2\src\rfilters\tent-obj.vcxproj.meta 
proj" (301) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\rfilters\tent-obj.vcxproj.metaproj" (301) is building "H:\Users\chris\Documents\mitsuba2\src\rfilters\tent-obj.vcxproj" 
 (302) on node 1 (default targets).
InitializeBuildStatus:
  Creating "tent-obj.dir\Debug\tent-obj.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  tent-obj.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\rfilters\tent-obj.dir\Debug\tent-obj.lib
FinalizeBuildStatus:
  Deleting file "tent-obj.dir\Debug\tent-obj.tlog\unsuccessfulbuild".
  Touching "tent-obj.dir\Debug\tent-obj.tlog\tent-obj.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\rfilters\tent-obj.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\rfilters\tent-obj.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\src\rfilters\tent.vcxproj.metaproj" (300) is building "H:\Users\chris\Documents\mitsuba2\src\rfilters\tent.vcxproj" (303) o
n node 1 (default targets).
InitializeBuildStatus:
  Creating "tent.dir\Debug\tent.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  tent.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\rfilters\Debug\tent.dll
FinalizeBuildStatus:
  Deleting file "tent.dir\Debug\tent.tlog\unsuccessfulbuild".
  Touching "tent.dir\Debug\tent.tlog\tent.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\rfilters\tent.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\rfilters\tent.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\thindielectric.vcxproj.metaproj"
 (304) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\thindielectric.vcxproj.metaproj" (304) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\thindielectric-ob 
j.vcxproj.metaproj" (305) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\thindielectric-obj.vcxproj.metaproj" (305) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\thindielectri 
c-obj.vcxproj" (306) on node 1 (default targets).
InitializeBuildStatus:
  Creating "thindielectric-obj.dir\Debug\thindiel.8C871119.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  thindielectric-obj.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\bsdfs\thindielectric-obj.dir\Debug\thindielectric-obj.lib
FinalizeBuildStatus:
  Deleting file "thindielectric-obj.dir\Debug\thindiel.8C871119.tlog\unsuccessfulbuild".
  Touching "thindielectric-obj.dir\Debug\thindiel.8C871119.tlog\thindielectric-obj.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\thindielectric-obj.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\thindielectric-obj.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\thindielectric.vcxproj.metaproj" (304) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\thindielectric.vc
xproj" (307) on node 1 (default targets).
InitializeBuildStatus:
  Creating "thindielectric.dir\Debug\thindielectric.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  thindielectric.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\bsdfs\Debug\thindielectric.dll
FinalizeBuildStatus:
  Deleting file "thindielectric.dir\Debug\thindielectric.tlog\unsuccessfulbuild".
  Touching "thindielectric.dir\Debug\thindielectric.tlog\thindielectric.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\thindielectric.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\thindielectric.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\sensors\thinlens.vcxproj.metaproj" (30
8) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\sensors\thinlens.vcxproj.metaproj" (308) is building "H:\Users\chris\Documents\mitsuba2\src\sensors\thinlens-obj.vcxpro 
j.metaproj" (309) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\sensors\thinlens-obj.vcxproj.metaproj" (309) is building "H:\Users\chris\Documents\mitsuba2\src\sensors\thinlens-obj.vc 
xproj" (310) on node 1 (default targets).
InitializeBuildStatus:
  Creating "thinlens-obj.dir\Debug\thinlens-obj.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  thinlens-obj.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\sensors\thinlens-obj.dir\Debug\thinlens-obj.lib
FinalizeBuildStatus:
  Deleting file "thinlens-obj.dir\Debug\thinlens-obj.tlog\unsuccessfulbuild".
  Touching "thinlens-obj.dir\Debug\thinlens-obj.tlog\thinlens-obj.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\sensors\thinlens-obj.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\sensors\thinlens-obj.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\src\sensors\thinlens.vcxproj.metaproj" (308) is building "H:\Users\chris\Documents\mitsuba2\src\sensors\thinlens.vcxproj" (
311) on node 1 (default targets).
InitializeBuildStatus:
  Creating "thinlens.dir\Debug\thinlens.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  thinlens.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\sensors\Debug\thinlens.dll
FinalizeBuildStatus:
  Deleting file "thinlens.dir\Debug\thinlens.tlog\unsuccessfulbuild".
  Touching "thinlens.dir\Debug\thinlens.tlog\thinlens.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\sensors\thinlens.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\sensors\thinlens.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\twosided.vcxproj.metaproj" (312)
 on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\twosided.vcxproj.metaproj" (312) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\twosided-obj.vcxproj.me 
taproj" (313) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\twosided-obj.vcxproj.metaproj" (313) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\twosided-obj.vcxpro 
j" (314) on node 1 (default targets).
InitializeBuildStatus:
  Creating "twosided-obj.dir\Debug\twosided-obj.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  twosided-obj.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\bsdfs\twosided-obj.dir\Debug\twosided-obj.lib
FinalizeBuildStatus:
  Deleting file "twosided-obj.dir\Debug\twosided-obj.tlog\unsuccessfulbuild".
  Touching "twosided-obj.dir\Debug\twosided-obj.tlog\twosided-obj.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\twosided-obj.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\twosided-obj.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\twosided.vcxproj.metaproj" (312) is building "H:\Users\chris\Documents\mitsuba2\src\bsdfs\twosided.vcxproj" (315)
 on node 1 (default targets).
InitializeBuildStatus:
  Creating "twosided.dir\Debug\twosided.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  twosided.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\bsdfs\Debug\twosided.dll
FinalizeBuildStatus:
  Deleting file "twosided.dir\Debug\twosided.tlog\unsuccessfulbuild".
  Touching "twosided.dir\Debug\twosided.tlog\twosided.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\twosided.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\bsdfs\twosided.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\spectra\uniform.vcxproj.metaproj" (316
) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\spectra\uniform.vcxproj.metaproj" (316) is building "H:\Users\chris\Documents\mitsuba2\src\spectra\uniform-obj.vcxproj. 
metaproj" (317) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\spectra\uniform-obj.vcxproj.metaproj" (317) is building "H:\Users\chris\Documents\mitsuba2\src\spectra\uniform-obj.vcxp
roj" (318) on node 1 (default targets).
InitializeBuildStatus:
  Creating "uniform-obj.dir\Debug\uniform-obj.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  uniform-obj.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\spectra\uniform-obj.dir\Debug\uniform-obj.lib
FinalizeBuildStatus:
  Deleting file "uniform-obj.dir\Debug\uniform-obj.tlog\unsuccessfulbuild".
  Touching "uniform-obj.dir\Debug\uniform-obj.tlog\uniform-obj.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\spectra\uniform-obj.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\spectra\uniform-obj.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\src\spectra\uniform.vcxproj.metaproj" (316) is building "H:\Users\chris\Documents\mitsuba2\src\spectra\uniform.vcxproj" (31
9) on node 1 (default targets).
InitializeBuildStatus:
  Creating "uniform.dir\Debug\uniform.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
Link:
  All outputs are up-to-date.
  uniform.vcxproj -> H:\Users\chris\Documents\mitsuba2\src\spectra\Debug\uniform.dll
FinalizeBuildStatus:
  Deleting file "uniform.dir\Debug\uniform.tlog\unsuccessfulbuild".
  Touching "uniform.dir\Debug\uniform.tlog\uniform.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\spectra\uniform.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\spectra\uniform.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\integrators\volpath.vcxproj.metaproj" 
(320) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\integrators\volpath.vcxproj.metaproj" (320) is building "H:\Users\chris\Documents\mitsuba2\src\integrators\volpath-obj. 
vcxproj.metaproj" (321) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\integrators\volpath-obj.vcxproj.metaproj" (321) is building "H:\Users\chris\Documents\mitsuba2\src\integrators\volpath- 
obj.vcxproj" (322) on node 1 (default targets).
InitializeBuildStatus:
  Touching "volpath-obj.dir\Debug\volpath-obj.tlog\unsuccessfulbuild".
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\HostX64\x64\CL.exe /c /IH:\Users\chris\Documents\mitsuba2\include /IH:\U 
  sers\chris\Documents\mitsuba2\ext\tinyformat /IH:\Users\chris\Documents\mitsuba2\ext\enoki\include /IH:\Users\chris\Documents\mitsuba2\ext\tbb\include /IH:\Users\ch 
  ris\Documents\mitsuba2\ext\pybind11\include /IC:\Users\chris\AppData\Local\Programs\Python\Python38\include /Zi /nologo /W4 /WX- /diagnostics:column /MP /Od /Ob1 /D 
   WIN32 /D _WINDOWS /D _USE_MATH_DEFINES /D _CRT_SECURE_NO_WARNINGS /D _SCL_SECURE_NO_WARNINGS /D _SILENCE_CXX17_UNCAUGHT_EXCEPTION_DEPRECATION_WARNING /D _SECURE_SC 
  L=0 /D __TBB_NO_IMPLICIT_LINKAGE /D NOMINMAX /D __WINDOWS__ /D LITTLE_ENDIAN /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS /arch:AVX /fp:precise /Z 
  c:wchar_t /Zc:forScope /Zc:inline /GR /std:c++17 /Fo"volpath-obj.dir\Debug\\" /Fd"volpath-obj.dir\Debug\volpath-obj.pdb" /Gd /TP /wd4251 /wd4714 /wd4505 /wd4458 /wd 
  4459 /wd4554 /wd4324 /wd4127 /wd4244 /wd4910 /errorReport:queue  /bigobj H:\Users\chris\Documents\mitsuba2\src\integrators\volpath.cpp
  volpath.cpp
H:\Users\chris\Documents\mitsuba2\src\integrators\volpath.cpp(119,13): error C2593: 'operator =' is ambiguous [H:\Users\chris\Documents\mitsuba2\src\integrators\volpa
th-obj.vcxproj]
H:\Users\chris\Documents\mitsuba2\ext\enoki\include\enoki/array_recursive.h(30,1): message : could be 'enoki::StaticArrayImpl<Value_,8,false,enoki::Packet<Value_,8>,i 
nt> &enoki::StaticArrayImpl<Value_,8,false,enoki::Packet<Value_,8>,int>::operator =(enoki::StaticArrayImpl<Value_,8,false,enoki::Packet<Value_,8>,int> &&)' [H:\Users\ 
chris\Documents\mitsuba2\src\integrators\volpath-obj.vcxproj]
          with
          [
              Value_=unsigned int
          ]
H:\Users\chris\Documents\mitsuba2\ext\enoki\include\enoki/array.h(135,1): message : or       'enoki::Packet<unsigned int,8> &enoki::Packet<unsigned int,8>::operator = 
(enoki::Packet<unsigned int,8> &&)' [H:\Users\chris\Documents\mitsuba2\src\integrators\volpath-obj.vcxproj]
H:\Users\chris\Documents\mitsuba2\ext\enoki\include\enoki\array_traits.h(147,1): message : while trying to match the argument list '(enoki::Packet<unsigned int,8>, De
rived_)' [H:\Users\chris\Documents\mitsuba2\src\integrators\volpath-obj.vcxproj]
          with
          [
              Derived_=enoki::Packet<float,8>
          ]
H:\Users\chris\Documents\mitsuba2\src\integrators\volpath.cpp(90): message : while compiling class template member function 'std::pair<Spectrum,enoki::PacketMask<Valu 
e_,8>> mitsuba::VolumetricNullPathIntegratorImpl<enoki::Packet<Value_,8>,Spectrum,false>::sample(const mitsuba::Scene<enoki::Packet<Value_,8>,Spectrum> *,mitsuba::Sam 
pler<enoki::Packet<Value_,8>,Spectrum> *,const mitsuba::RayDifferential<mitsuba::Point<enoki::Packet<Value_,8>,3>,mitsuba::Spectrum<enoki::Packet<Value_,8>,4>> &,Floa 
t *,enoki::PacketMask<Value_,8>) const' [H:\Users\chris\Documents\mitsuba2\src\integrators\volpath-obj.vcxproj]
          with
          [
              Spectrum=mitsuba::Spectrum<enoki::Packet<float,8>,4>,
              Value_=float,
              Float=enoki::Packet<float,8>
          ]
H:\Users\chris\Documents\mitsuba2\src\integrators\volpath.cpp(50): message : see reference to class template instantiation 'mitsuba::VolumetricNullPathIntegratorImpl< 
enoki::Packet<float,8>,mitsuba::Spectrum<enoki::Packet<float,8>,4>,false>' being compiled [H:\Users\chris\Documents\mitsuba2\src\integrators\volpath-obj.vcxproj]      
H:\Users\chris\Documents\mitsuba2\src\integrators\volpath.cpp(45): message : while compiling class template member function 'std::vector<mitsuba::ref<mitsuba::Object> 
,std::allocator<mitsuba::ref<mitsuba::Object>>> mitsuba::VolumetricNullPathIntegrator<enoki::Packet<float,8>,mitsuba::Spectrum<enoki::Packet<float,8>,4>>::expand(void 
) const' [H:\Users\chris\Documents\mitsuba2\src\integrators\volpath-obj.vcxproj]
H:\Users\chris\Documents\mitsuba2\src\integrators\volpath.cpp(508): message : see reference to class template instantiation 'mitsuba::VolumetricNullPathIntegrator<eno 
ki::Packet<float,8>,mitsuba::Spectrum<enoki::Packet<float,8>,4>>' being compiled [H:\Users\chris\Documents\mitsuba2\src\integrators\volpath-obj.vcxproj]
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\integrators\volpath-obj.vcxproj" (default targets) -- FAILED.

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\integrators\volpath-obj.vcxproj.metaproj" (default targets) -- FAILED.

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\integrators\volpath.vcxproj.metaproj" (default targets) -- FAILED.

Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (141) is building "H:\Users\chris\Documents\mitsuba2\src\integrators\volpathsimple.vcxproj.meta
proj" (323) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\integrators\volpathsimple.vcxproj.metaproj" (323) is building "H:\Users\chris\Documents\mitsuba2\src\integrators\volpat 
hsimple-obj.vcxproj.metaproj" (324) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\integrators\volpathsimple-obj.vcxproj.metaproj" (324) is building "H:\Users\chris\Documents\mitsuba2\src\integrators\vo 
lpathsimple-obj.vcxproj" (325) on node 1 (default targets).
InitializeBuildStatus:
  Touching "volpathsimple-obj.dir\Debug\volpaths.9C9D093A.tlog\unsuccessfulbuild".
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\HostX64\x64\CL.exe /c /IH:\Users\chris\Documents\mitsuba2\include /IH:\U 
  sers\chris\Documents\mitsuba2\ext\tinyformat /IH:\Users\chris\Documents\mitsuba2\ext\enoki\include /IH:\Users\chris\Documents\mitsuba2\ext\tbb\include /IH:\Users\ch
  ris\Documents\mitsuba2\ext\pybind11\include /IC:\Users\chris\AppData\Local\Programs\Python\Python38\include /Zi /nologo /W4 /WX- /diagnostics:column /MP /Od /Ob1 /D 
   WIN32 /D _WINDOWS /D _USE_MATH_DEFINES /D _CRT_SECURE_NO_WARNINGS /D _SCL_SECURE_NO_WARNINGS /D _SILENCE_CXX17_UNCAUGHT_EXCEPTION_DEPRECATION_WARNING /D _SECURE_SC 
  L=0 /D __TBB_NO_IMPLICIT_LINKAGE /D NOMINMAX /D __WINDOWS__ /D LITTLE_ENDIAN /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS /arch:AVX /fp:precise /Z 
  c:wchar_t /Zc:forScope /Zc:inline /GR /std:c++17 /Fo"volpathsimple-obj.dir\Debug\\" /Fd"volpathsimple-obj.dir\Debug\volpathsimple-obj.pdb" /Gd /TP /wd4251 /wd4714 / 
  wd4505 /wd4458 /wd4459 /wd4554 /wd4324 /wd4127 /wd4244 /wd4910 /errorReport:queue  /bigobj "H:\Users\chris\Documents\mitsuba2\src\integrators\volpath-simple.cpp"    
  volpath-simple.cpp
H:\Users\chris\Documents\mitsuba2\src\integrators\volpath-simple.cpp(66,13): error C2593: 'operator =' is ambiguous [H:\Users\chris\Documents\mitsuba2\src\integrators
\volpathsimple-obj.vcxproj]
H:\Users\chris\Documents\mitsuba2\ext\enoki\include\enoki/array_recursive.h(30,1): message : could be 'enoki::StaticArrayImpl<Value_,8,false,enoki::Packet<Value_,8>,i 
nt> &enoki::StaticArrayImpl<Value_,8,false,enoki::Packet<Value_,8>,int>::operator =(enoki::StaticArrayImpl<Value_,8,false,enoki::Packet<Value_,8>,int> &&)' [H:\Users\ 
chris\Documents\mitsuba2\src\integrators\volpathsimple-obj.vcxproj]
          with
          [
              Value_=unsigned int
          ]
H:\Users\chris\Documents\mitsuba2\ext\enoki\include\enoki/array.h(135,1): message : or       'enoki::Packet<unsigned int,8> &enoki::Packet<unsigned int,8>::operator = 
(enoki::Packet<unsigned int,8> &&)' [H:\Users\chris\Documents\mitsuba2\src\integrators\volpathsimple-obj.vcxproj]
H:\Users\chris\Documents\mitsuba2\ext\enoki\include\enoki\array_traits.h(147,1): message : while trying to match the argument list '(enoki::Packet<unsigned int,8>, De 
rived_)' [H:\Users\chris\Documents\mitsuba2\src\integrators\volpathsimple-obj.vcxproj]
          with
          [
              Derived_=enoki::Packet<float,8>
          ]
H:\Users\chris\Documents\mitsuba2\src\integrators\volpath-simple.cpp(42): message : while compiling class template member function 'std::pair<Spectrum,enoki::PacketMa 
sk<Value_,8>> mitsuba::VolumetricNullSimplePathIntegrator<enoki::Packet<Value_,8>,Spectrum>::sample(const mitsuba::Scene<enoki::Packet<Value_,8>,Spectrum> *,mitsuba:: 
Sampler<enoki::Packet<Value_,8>,Spectrum> *,const mitsuba::RayDifferential<mitsuba::Point<enoki::Packet<Value_,8>,3>,mitsuba::Spectrum<enoki::Packet<Value_,8>,4>> &,F 
loat *,enoki::PacketMask<Value_,8>) const' [H:\Users\chris\Documents\mitsuba2\src\integrators\volpathsimple-obj.vcxproj]
          with
          [
              Spectrum=mitsuba::Spectrum<enoki::Packet<float,8>,4>,
              Value_=float,
              Float=enoki::Packet<float,8>
          ]
H:\Users\chris\Documents\mitsuba2\src\integrators\volpath-simple.cpp(403): message : see reference to class template instantiation 'mitsuba::VolumetricNullSimplePathI 
ntegrator<enoki::Packet<float,8>,mitsuba::Spectrum<enoki::Packet<float,8>,4>>' being compiled [H:\Users\chris\Documents\mitsuba2\src\integrators\volpathsimple-obj.vcx
proj]
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\integrators\volpathsimple-obj.vcxproj" (default targets) -- FAILED.

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\integrators\volpathsimple-obj.vcxproj.metaproj" (default targets) -- FAILED.

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\integrators\volpathsimple.vcxproj.metaproj" (default targets) -- FAILED.

Done Building Project "H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (default targets) -- FAILED.

Project "H:\Users\chris\Documents\mitsuba2\ALL_BUILD.vcxproj.metaproj" (51) is building "H:\Users\chris\Documents\mitsuba2\ext_build\enoki\enoki-python-init.vcxproj.m
etaproj" (326) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\ext_build\enoki\enoki-python-init.vcxproj.metaproj" (326) is building "H:\Users\chris\Documents\mitsuba2\ext_build\enoki\en 
oki-python-init.vcxproj" (327) on node 1 (default targets).
InitializeBuildStatus:
  Creating "x64\Debug\enoki-python-init\enoki-py.5144DC30.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
FinalizeBuildStatus:
  Deleting file "x64\Debug\enoki-python-init\enoki-py.5144DC30.tlog\unsuccessfulbuild".
  Touching "x64\Debug\enoki-python-init\enoki-py.5144DC30.tlog\enoki-python-init.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\ext_build\enoki\enoki-python-init.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\ext_build\enoki\enoki-python-init.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\ALL_BUILD.vcxproj.metaproj" (51) is building "H:\Users\chris\Documents\mitsuba2\src\mitsuba-enoki-python-init.vcxproj.metap
roj" (328) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\mitsuba-enoki-python-init.vcxproj.metaproj" (328) is building "H:\Users\chris\Documents\mitsuba2\src\mitsuba-enoki-pyth 
on-init.vcxproj" (329) on node 1 (default targets).
InitializeBuildStatus:
  Creating "x64\Debug\mitsuba-enoki-python-init\mitsuba-.41EAEA0E.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
FinalizeBuildStatus:
  Deleting file "x64\Debug\mitsuba-enoki-python-init\mitsuba-.41EAEA0E.tlog\unsuccessfulbuild".
  Touching "x64\Debug\mitsuba-enoki-python-init\mitsuba-.41EAEA0E.tlog\mitsuba-enoki-python-init.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\mitsuba-enoki-python-init.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\mitsuba-enoki-python-init.vcxproj.metaproj" (default targets).

Project "H:\Users\chris\Documents\mitsuba2\ALL_BUILD.vcxproj.metaproj" (51) is building "H:\Users\chris\Documents\mitsuba2\src\python\python-copy.vcxproj.metaproj" (3
30) on node 1 (default targets).
Project "H:\Users\chris\Documents\mitsuba2\src\python\python-copy.vcxproj.metaproj" (330) is building "H:\Users\chris\Documents\mitsuba2\src\python\python-copy.vcxpro 
j" (331) on node 1 (default targets).
InitializeBuildStatus:
  Creating "x64\Debug\python-copy\python-copy.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
FinalizeBuildStatus:
  Deleting file "x64\Debug\python-copy\python-copy.tlog\unsuccessfulbuild".
  Touching "x64\Debug\python-copy\python-copy.tlog\python-copy.lastbuildstate".
Done Building Project "H:\Users\chris\Documents\mitsuba2\src\python\python-copy.vcxproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\src\python\python-copy.vcxproj.metaproj" (default targets).

Done Building Project "H:\Users\chris\Documents\mitsuba2\ALL_BUILD.vcxproj.metaproj" (default targets) -- FAILED.

Done Building Project "H:\Users\chris\Documents\mitsuba2\mitsuba.sln" (default targets) -- FAILED.


Build FAILED.

"H:\Users\chris\Documents\mitsuba2\mitsuba.sln" (default target) (1) ->
"H:\Users\chris\Documents\mitsuba2\ALL_BUILD.vcxproj.metaproj" (default target) (51) ->
"H:\Users\chris\Documents\mitsuba2\src\libcore\python\core_packet_spectral_ext.vcxproj.metaproj" (default target) (102) ->
"H:\Users\chris\Documents\mitsuba2\src\libcore\python\core_packet_spectral_ext-obj.vcxproj.metaproj" (default target) (103) ->
"H:\Users\chris\Documents\mitsuba2\src\libcore\python\core_packet_spectral_ext-obj.vcxproj" (default target) (104) ->
(ClCompile target) -> 
  H:\Users\chris\Documents\mitsuba2\ext\enoki\include\enoki/array_router.h(197,1): error C2593: 'operator =' is ambiguous [H:\Users\chris\Documents\mitsuba2\src\libco 
re\python\core_packet_spectral_ext-obj.vcxproj]


"H:\Users\chris\Documents\mitsuba2\mitsuba.sln" (default target) (1) ->
"H:\Users\chris\Documents\mitsuba2\ALL_BUILD.vcxproj.metaproj" (default target) (51) ->
"H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (default target) (141) ->
"H:\Users\chris\Documents\mitsuba2\src\integrators\volpath.vcxproj.metaproj" (default target) (320) ->
"H:\Users\chris\Documents\mitsuba2\src\integrators\volpath-obj.vcxproj.metaproj" (default target) (321) ->
"H:\Users\chris\Documents\mitsuba2\src\integrators\volpath-obj.vcxproj" (default target) (322) ->
  H:\Users\chris\Documents\mitsuba2\src\integrators\volpath.cpp(119,13): error C2593: 'operator =' is ambiguous [H:\Users\chris\Documents\mitsuba2\src\integrators\vol 
path-obj.vcxproj]


"H:\Users\chris\Documents\mitsuba2\mitsuba.sln" (default target) (1) ->
"H:\Users\chris\Documents\mitsuba2\ALL_BUILD.vcxproj.metaproj" (default target) (51) ->
"H:\Users\chris\Documents\mitsuba2\dist-copy.vcxproj.metaproj" (default target) (141) ->
"H:\Users\chris\Documents\mitsuba2\src\integrators\volpathsimple.vcxproj.metaproj" (default target) (323) ->
"H:\Users\chris\Documents\mitsuba2\src\integrators\volpathsimple-obj.vcxproj.metaproj" (default target) (324) ->
"H:\Users\chris\Documents\mitsuba2\src\integrators\volpathsimple-obj.vcxproj" (default target) (325) ->
  H:\Users\chris\Documents\mitsuba2\src\integrators\volpath-simple.cpp(66,13): error C2593: 'operator =' is ambiguous [H:\Users\chris\Documents\mitsuba2\src\integrato 
rs\volpathsimple-obj.vcxproj]

    0 Warning(s)
    3 Error(s)

Time Elapsed 00:01:35.26
The terminal process terminated with exit code: 1

CUDA and Optix versions?

What versions of CUDA and Optix are you building against? I’m building on Windows 10, and Optix 7, CUDA 10.2, and there is a include file missing during compile. I’d like to rule out dependency versions first.

Compilation issues [packet_rgb Clang-9 Ubuntu 18.04]

I have compilation issue under the system setting of

  • Ubuntu 18.04
  • clang 9.0.0-2 (tags/RELEASE_900/final)
  • cmake 3.13.4
  • ninja 1.8.2
  • python 3.6.9

As for cmake, everything goes well.

-- The C compiler identification is Clang 9.0.0
-- The CXX compiler identification is Clang 9.0.0
-- 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                                                                                        [0/1903]
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonInterp: /home/wen/anaconda3/bin/python3.6 (found version "3.6.9")
-- Found PythonLibs: /home/wen/anaconda3/lib/libpython3.6m.so
-- Building the following variants of Mitsuba:
--  * packet_rgb
-- Setting build type to 'Release' as none was specified.
-- Mitsuba: using libc++.
-- Mitsuba: building the Python plugin.
-- Enoki: building the Python plugin.
-- pybind11 v2.4.dev4
-- LTO enabled
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11")
-- Found PNG: /usr/lib/x86_64-linux-gnu/libpng.so (found version "1.6.34")
-- Found JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so
-- TBB: using libc++.
-- Mitsuba: using builtin implementation for CPU ray tracing.
-- Mitsuba: LTO support enabled.
-- Check if the system is big endian
-- Searching 16 bit integer
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Mitsuba: sampling profiler enabled.
CMake Warning at src/cmake/tests.cmake:13 (message):
  Running the tests requires pytest-xdist.  Please install it manually:

  $ /home/wen/anaconda3/bin/python3.6 -m pip install pytest-xdist
Call Stack (most recent call first):
  src/CMakeLists.txt:39 (include)


-- Found Sphinx: /home/wen/anaconda3/bin/sphinx-build
-- Configuring done
-- Generating done
-- Build files have been written to: /home/wen/workspace/mitsuba2/build

But during make, I meet compilation error, it seem related to undefined reference.

$ ninja
[216/557] Generating dwaLookups.h
[251/557] Generating srgb.coeff
Optimizing spectra ................................................................................................................................................................................................ done.
[263/557] Building CXX object src/libcore/CMakeFiles/mitsuba-core-obj.dir/bitmap.cpp.o
In file included from ../src/libcore/bitmap.cpp:1:
In file included from ../include/mitsuba/core/bitmap.h:5:
In file included from ../include/mitsuba/core/properties.h:4:
../include/mitsuba/core/plugin.h:50:54: warning: instantiation of variable 'mitsuba::ReconstructionFilter<float, mitsuba::Color<float, 3> >::m_class' required here, but no definition is available [-Wundefined-var-template]
        return static_cast<T *>(create_object(props, MTS_CLASS(T)).get());
                                                     ^
../include/mitsuba/core/class.h:130:25: note: expanded from macro 'MTS_CLASS'
#define MTS_CLASS(x) x::m_class
                        ^
../src/libcore/bitmap.cpp:222:46: note: in instantiation of function template specialization 'mitsuba::PluginManager::create_object<mitsuba::ReconstructionFilter<float, mitsuba::Color<float, 3> > >' requested here
        rfilter = PluginManager::instance()->create_object<ReconstructionFilter>(props);
                                             ^
../src/libcore/bitmap.cpp:306:22: note: in instantiation of function template specialization 'mitsuba::resample<enoki::half, false, mitsuba::ReconstructionFilter<float, mitsuba::Color<float, 3> > >' requested here
            mitsuba::resample<enoki::half, false>(target, this, rfilter, bc,
                     ^
../include/mitsuba/core/rfilter.h:67:5: note: forward declaration of template entity is here
    MTS_DECLARE_CLASS()
    ^
../include/mitsuba/core/class.h:141:19: note: expanded from macro 'MTS_DECLARE_CLASS'
    static Class *m_class;
                  ^
../include/mitsuba/core/plugin.h:50:54: note: add an explicit instantiation declaration to suppress this warning if 'mitsuba::ReconstructionFilter<float, mitsuba::Color<float, 3> >::m_class' is explicitly instantiated in another translation unit
        return static_cast<T *>(create_object(props, MTS_CLASS(T)).get());
                                                     ^
../include/mitsuba/core/class.h:130:25: note: expanded from macro 'MTS_CLASS'
#define MTS_CLASS(x) x::m_class
                        ^
1 warning generated.
[357/557] Linking CXX executable src/mitsuba/mitsuba
FAILED: src/mitsuba/mitsuba
: && /usr/bin/clang++-9  -flto=thin  -stdlib=libc++ -D_LIBCPP_VERSION -std=gnu++17 -fcolor-diagnostics -O3 -DNDEBUG  -flto=thin -Wl,-plugin-opt,cache-dir=/home/wen/workspace/mitsuba2/build/.cache  -stdlib=libc++ -march=native src/mitsuba/CMakeFiles/mitsuba.dir/mitsuba.cpp.o  -o src/mitsuba/mitsuba  -Wl,-rpath,"\$ORIGIN" src/librender/libmitsuba-render.so src/libcore/libmitsuba-core.so ext_build/asmjit/libasmjit.so -lrt -Wl,-rpath-link=/home/wen/workspace/mitsuba2/build/ext_build/tbb -Wl,-rpath-link=/home/wen/workspace/mitsuba2/build/ext_build/pugixml -Wl,-rpath-link=/home/wen/workspace/mitsuba2/build/ext_build/asmjit ext_build/tbb/libtbb.so -lpthread -ldl -Wl,-rpath-link,/home/wen/workspace/mitsuba2/build/ext_build/pugixml:/home/wen/workspace/mitsuba2/build/ext_build/openexr/OpenEXR/IlmImf:/home/wen/workspace/mitsuba2/build/ext_build/openexr/IlmBase/Half:/home/wen/workspace/mitsuba2/build/ext_build/openexr/IlmBase/Imath:/home/wen/workspace/mitsuba2/build/ext_build/openexr/IlmBase/IlmThread:/home/wen/workspace/mitsuba2/build/ext_build/openexr/IlmBase/Iex && :
src/libcore/libmitsuba-core.so: undefined reference to `mitsuba::ReconstructionFilter<float, mitsuba::Color<float, 3ul> >::m_class'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
[370/557] Linking CXX shared library src/librender/python/render_packet_rgb_ext.cpython-36m-x86_64-linux-gnu.so
ninja: build stopped: subcommand failed.

I also tried packet_spectral, which also failed, all of which are errors of this undefined reference. Can you give me some advice? Thanks.

gpu_rgb and gpu_autodiff_rgb CUDA out of memory

Hi,

I'm running into this problem where any gpu backend would consistently fail due to out of memory. packet_rgb works fine, OptiX samples work fine.

My setup:

  • Ubuntu 18.04
  • Nvidia 2080 Ti, available VRAM > 7GB
  • Nvidia 440.64.00
  • CUDA 8 and 10.2 installed, /usr/local/cuda points to 10.2
  • OptiX 6.5

nvidia-smi output:

Mon Mar 23 23:48:14 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.64.00    Driver Version: 440.64.00    CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 208...  Off  | 00000000:01:00.0  On |                  N/A |
| 41%   36C    P5    28W / 260W |   2790MiB / 11018MiB |     45%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0     12768      G   /usr/lib/xorg/Xorg                          1538MiB |
|    0     13923      G   ...aqigu/models/dev/Blender_Ubuntu/blender    61MiB |
|    0     16654      G   compiz                                       355MiB |
|    0     19155      G   ...quest-channel-token=1855523391222073656   546MiB |
|    0     22351      G   ...AAAAAAAAAAAAAAgAAAAAAAAA --shared-files   281MiB |
+-----------------------------------------------------------------------------+

Log:

./build/dist/mitsuba -m gpu_rgb ./resources/data/scenes/cbox/cbox.xml -o ~/output.exr
2020-03-23 23:45:09 INFO  main  [mitsuba.cpp:194] Mitsuba version 2.0.0 (master[017dff6], Linux, 64bit, 8 threads, 8-wide SIMD)
2020-03-23 23:45:09 INFO  main  [mitsuba.cpp:195] Copyright 2019, Realistic Graphics Lab, EPFL
2020-03-23 23:45:09 INFO  main  [mitsuba.cpp:196] Enabled processor features: cuda avx2 avx fma f16c sse4.2 x86_64
2020-03-23 23:45:09 INFO  main  [xml.cpp:1117] Loading XML file "./resources/data/scenes/cbox/cbox.xml" ..
2020-03-23 23:45:09 INFO  main  [xml.cpp:1118] Using variant "gpu_rgb"
2020-03-23 23:45:09 INFO  main  [PluginManager] Loading plugin "plugins/regular.so" ..
2020-03-23 23:45:09 INFO  main  [PluginManager] Loading plugin "plugins/srgb.so" ..
2020-03-23 23:45:09 INFO  main  [PluginManager] Loading plugin "plugins/srgb_d65.so" ..
2020-03-23 23:45:09 INFO  main  [PluginManager] Loading plugin "plugins/path.so" ..
2020-03-23 23:45:09 INFO  main  [PluginManager] Loading plugin "plugins/independent.so" ..
2020-03-23 23:45:09 INFO  main  [PluginManager] Loading plugin "plugins/gaussian.so" ..
2020-03-23 23:45:09 INFO  main  [PluginManager] Loading plugin "plugins/hdrfilm.so" ..
2020-03-23 23:45:09 INFO  main  [PluginManager] Loading plugin "plugins/perspective.so" ..
2020-03-23 23:45:09 INFO  main  [PluginManager] Loading plugin "plugins/diffuse.so" ..
2020-03-23 23:45:09 INFO  main  [PluginManager] Loading plugin "plugins/area.so" ..
2020-03-23 23:45:09 INFO  main  [PluginManager] Loading plugin "plugins/uniform.so" ..
2020-03-23 23:45:09 INFO  main  [PluginManager] Loading plugin "plugins/obj.so" ..
2020-03-23 23:45:10 INFO  main  [Scene] Validating and building scene in OptiX.

Caught a critical exception: cuda_malloc(): out of memory!

Thanks in advance for any insights.

Differentiable rendering - reference image as numpy array

Hi,

is there a possibility of using a numpy array as reference image (i.e. from a target photo) for the differentiable rendering instead of using a enoki.cuda_autodiff.Float32 data type?

I went through the tutorial for the differentiable rendering part and if I use the image_ref as described in the docs everything works fine. However, if I use the out_ref.png loaded as a numpy array as reference image (even if normalized) I get some unexpected results for the optimization of the wall. I guess that the problem lies in the range of pixel values for the reference image? If I call image_ref.numpy() I get floating point values that range from 0 - 18.6, while if I load the out_ref.png as numpy array I get intensities from 0 - 1.

About shape groups/assemblies

Hi,

I might have missed the obvious but I could not find a way to make shape groups or assemblies.

In the past, with Mitsuba 1, I have been relying on translators to export data for me so it never has been an issue. I am however currently building scenes manually so I'm wondering if it is possible to create groups of shapes and transform them as a single entity. I would like, for example, assemble a colour checker with the frame and the patches and put it in place wherever I need.

Hope that makes sense,

Cheers,

Thomas

Double variants do not work

I managed to compile mitsuba2 with clang all in manjaro linux. The single variants that I have checked (scalar_rgb, scalar_spectral, scalar_spectral_polarization, packet_rgb, packet_spectral) all work and produce seemingly correct images, but none of the corresponding double variants seems to be correct .

I checked this with the scenes "matpreview.xml" and "hello.xml" provided in mitsuba-data on git. The "hello.xml" produces endless numbers of warnings of the kind "[ImageBlock] Invalid sample value: [x, y, -nan, 1, 1]" and I have not waited for the result. With the scene "matpreview.xml", mitsuba segfaults after loading the plugin "perspective.so".

Are these know issues? Could this be related to some incompatible compiler settings (with mitsuba 0.6 compiling with double was not compatible with some processor features)?

compile issue in XCode 11.3.1 and VS2019

Both compiler said :
error: no type named 'Scalar' .

and other errors as following.

CLICK ME

../include/mitsuba/core/traits.h:67:82: error: no type named 'Scalar' in 'mitsuba::detail::spectrum_traits<enoki::Array<enoki::Array<mitsuba::Color<enoki::Packet<float, 8>, 1>, 4>, 4> >'
    using Scalar       = enoki::detail::MaskedArray<typename spectrum_traits<T>::Scalar>;
                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
../include/mitsuba/core/traits.h:79:23: note: in instantiation of template class 'mitsuba::detail::spectrum_traits<enoki::detail::MaskedArray<enoki::Array<enoki::Array<mitsuba::Color<enoki::Packet<float, 8>, 1>, 4>, 4> > >' requested here
template <typename T> using wavelength_t = typename detail::spectrum_traits<T>::Wavelength;
                      ^
../include/mitsuba/render/fwd.h:47:36: note: in instantiation of template type alias 'wavelength_t' requested here
    using Wavelength             = wavelength_t<Spectrum>;
                                   ^
../include/mitsuba/render/records.h:27:5: note: in instantiation of template class 'mitsuba::RenderAliases<enoki::detail::MaskedArray<enoki::Packet<float, 8> >, enoki::detail::MaskedArray<enoki::Array<enoki::Array<mitsuba::Color<enoki::Packet<float, 8>, 1>, 4>, 4> > >' requested here
    MTS_IMPORT_RENDER_BASIC_TYPES()
    ^
../include/mitsuba/render/fwd.h:101:43: note: expanded from macro 'MTS_IMPORT_RENDER_BASIC_TYPES'
    using Wavelength           = typename RenderAliases::Wavelength;                               \
                                          ^
../include/mitsuba/render/records.h:121:33: note: in instantiation of template class 'mitsuba::PositionSample<enoki::detail::MaskedArray<enoki::Packet<float, 8> >, enoki::detail::MaskedArray<enoki::Array<enoki::Array<mitsuba::Color<enoki::Packet<float, 8>, 1>, 4>, 4> > >' requested here
struct DirectionSample : public PositionSample<Float_, Spectrum_> {
                                ^
../include/mitsuba/render/records.h:254:1: note: in instantiation of template class 'mitsuba::DirectionSample<enoki::detail::MaskedArray<enoki::Packet<float, 8> >, enoki::detail::MaskedArray<enoki::Array<enoki::Array<mitsuba::Color<enoki::Packet<float, 8>, 1>, 4>, 4> > >' requested here
ENOKI_STRUCT_SUPPORT(mitsuba::DirectionSample, p, n, uv, time, pdf,
^
../ext/enoki/include/enoki/array_macro.h:347:20: note: expanded from macro 'ENOKI_STRUCT_SUPPORT'
            return Value(ENOKI_MAP_EXPR_F2(enoki::masked,                      \
                   ^
../ext/enoki/include/enoki/array_masked.h:86:37: note: (skipping 2 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
        return struct_support_t<T>::masked(value, mask);
                                    ^
../ext/enoki/include/enoki/array_masked.h:86:37: note: in instantiation of function template specialization 'enoki::struct_support<std::__1::pair<mitsuba::DirectionSample<enoki::Packet<float, 8>, enoki::Matrix<mitsuba::Color<enoki::Packet<float, 8>, 1>, 4> >, enoki::Matrix<mitsuba::Color<enoki::Packet<float, 8>, 1>, 4> >, int>::masked<std::__1::pair<mitsuba::DirectionSample<enoki::Packet<float, 8>, enoki::Matrix<mitsuba::Color<enoki::Packet<float, 8>, 1>, 4> >, enoki::Matrix<mitsuba::Color<enoki::Packet<float, 8>, 1>, 4> > &, enoki::PacketMask<mitsuba::Emitter<Packet<float>, MuellerMatrix<Color<Packet<float>, 1> > > *, 8> >' requested here
../ext/enoki/include/enoki/array_call.h:145:21: note: in instantiation of function template specialization 'enoki::masked<std::__1::pair<mitsuba::DirectionSample<enoki::Packet<float, 8>, enoki::Matrix<mitsuba::Color<enoki::Packet<float, 8>, 1>, 4> >, enoki::Matrix<mitsuba::Color<enoki::Packet<float, 8>, 1>, 4> >, enoki::PacketMask<mitsuba::Emitter<Packet<float>, MuellerMatrix<Color<Packet<float>, 1> > > *, 8> >' requested here
                    masked(result, active) = func(value, active, std::get<Indices>(tuple)...);
                    ^
../include/mitsuba/render/emitter.h:97:5: note: in instantiation of function template specialization 'enoki::detail::call_support_base<enoki::Packet<mitsuba::Emitter<Packet<float>, MuellerMatrix<Color<Packet<float>, 1> > > *, 8> >::dispatch<(lambda at ../include/mitsuba/render/emitter.h:97:5), enoki::PacketMask<float, 8>, std::__1::tuple<const mitsuba::Interaction<enoki::Packet<float, 8>, enoki::Matrix<mitsuba::Color<enoki::Packet<float, 8>, 1>, 4> > &, mitsuba::Point<enoki::Packet<float, 8>, 2> &, enoki::PacketMask<float, 8> &>, 0, 1>' requested here
    ENOKI_CALL_SUPPORT_METHOD(sample_direction)
    ^
../ext/enoki/include/enoki/array_call.h:259:26: note: expanded from macro 'ENOKI_CALL_SUPPORT_METHOD'
            return Base::dispatch(                                             \
                         ^
../src/librender/scene.cpp:168:43: note: in instantiation of function template specialization 'enoki::call_support<mitsuba::Emitter<Packet<float>, MuellerMatrix<Color<Packet<float>, 1> > >, enoki::Packet<mitsuba::Emitter<Packet<float>, MuellerMatrix<Color<Packet<float>, 1> > > *, 8> >::sample_direction<const mitsuba::Interaction<enoki::Packet<float, 8>, enoki::Matrix<mitsuba::Color<enoki::Packet<float, 8>, 1>, 4> > &, mitsuba::Point<enoki::Packet<float, 8>, 2> &, enoki::PacketMask<float, 8> &>' requested here
            std::tie(ds, spec) = emitter->sample_direction(ref, sample, active);
                                          ^
../src/librender/scene.cpp:240:23: note: in instantiation of member function 'mitsuba::Scene<enoki::Packet<float, 8>, enoki::Matrix<mitsuba::Color<enoki::Packet<float, 8>, 1>, 4> >::sample_emitter_direction' requested here
MTS_INSTANTIATE_CLASS(Scene)
                      ^
In file included from ../src/librender/scene.cpp:1:
In file included from ../include/mitsuba/core/properties.h:5:
In file included from ../include/mitsuba/core/spectrum.h:12:
../include/mitsuba/core/traits.h:68:82: error: no type named 'Wavelength' in 'mitsuba::detail::spectrum_traits<enoki::Array<enoki::Array<mitsuba::Color<enoki::Packet<float, 8>, 1>, 4>, 4> >'
    using Wavelength   = enoki::detail::MaskedArray<typename spectrum_traits<T>::Wavelength>;
                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
../include/mitsuba/core/traits.h:69:82: error: no type named 'Unpolarized' in 'mitsuba::detail::spectrum_traits<enoki::Array<enoki::Array<mitsuba::Color<enoki::Packet<float, 8>, 1>, 4>, 4> >'
    using Unpolarized  = enoki::detail::MaskedArray<typename spectrum_traits<T>::Unpolarized>;
                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../include/mitsuba/core/traits.h:67:82: error: no type named 'Scalar' in 'mitsuba::detail::spectrum_traits<enoki::Array<enoki::Array<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4>, 4> >'
    using Scalar       = enoki::detail::MaskedArray<typename spectrum_traits<T>::Scalar>;
                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
../include/mitsuba/core/traits.h:79:23: note: in instantiation of template class 'mitsuba::detail::spectrum_traits<enoki::detail::MaskedArray<enoki::Array<enoki::Array<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4>, 4> > >' requested here
template <typename T> using wavelength_t = typename detail::spectrum_traits<T>::Wavelength;
                      ^
../include/mitsuba/render/fwd.h:47:36: note: in instantiation of template type alias 'wavelength_t' requested here
    using Wavelength             = wavelength_t<Spectrum>;
                                   ^
../include/mitsuba/render/records.h:27:5: note: in instantiation of template class 'mitsuba::RenderAliases<enoki::detail::MaskedArray<enoki::Packet<float, 8> >, enoki::detail::MaskedArray<enoki::Array<enoki::Array<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4>, 4> > >' requested here
    MTS_IMPORT_RENDER_BASIC_TYPES()
    ^
../include/mitsuba/render/fwd.h:101:43: note: expanded from macro 'MTS_IMPORT_RENDER_BASIC_TYPES'
    using Wavelength           = typename RenderAliases::Wavelength;                               \
                                          ^
../include/mitsuba/render/records.h:121:33: note: in instantiation of template class 'mitsuba::PositionSample<enoki::detail::MaskedArray<enoki::Packet<float, 8> >, enoki::detail::MaskedArray<enoki::Array<enoki::Array<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4>, 4> > >' requested here
struct DirectionSample : public PositionSample<Float_, Spectrum_> {
                                ^
../include/mitsuba/render/records.h:254:1: note: in instantiation of template class 'mitsuba::DirectionSample<enoki::detail::MaskedArray<enoki::Packet<float, 8> >, enoki::detail::MaskedArray<enoki::Array<enoki::Array<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4>, 4> > >' requested here
ENOKI_STRUCT_SUPPORT(mitsuba::DirectionSample, p, n, uv, time, pdf,
^
../ext/enoki/include/enoki/array_macro.h:347:20: note: expanded from macro 'ENOKI_STRUCT_SUPPORT'
            return Value(ENOKI_MAP_EXPR_F2(enoki::masked,                      \
                   ^
../ext/enoki/include/enoki/array_masked.h:86:37: note: (skipping 2 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
        return struct_support_t<T>::masked(value, mask);
                                    ^
../ext/enoki/include/enoki/array_masked.h:86:37: note: in instantiation of function template specialization 'enoki::struct_support<std::__1::pair<mitsuba::DirectionSample<enoki::Packet<float, 8>, enoki::Matrix<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4> >, enoki::Matrix<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4> >, int>::masked<std::__1::pair<mitsuba::DirectionSample<enoki::Packet<float, 8>, enoki::Matrix<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4> >, enoki::Matrix<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4> > &, enoki::PacketMask<mitsuba::Emitter<Packet<float>, MuellerMatrix<Spectrum<Packet<float>, 4> > > *, 8> >' requested here
../ext/enoki/include/enoki/array_call.h:145:21: note: in instantiation of function template specialization 'enoki::masked<std::__1::pair<mitsuba::DirectionSample<enoki::Packet<float, 8>, enoki::Matrix<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4> >, enoki::Matrix<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4> >, enoki::PacketMask<mitsuba::Emitter<Packet<float>, MuellerMatrix<Spectrum<Packet<float>, 4> > > *, 8> >' requested here
                    masked(result, active) = func(value, active, std::get<Indices>(tuple)...);
                    ^
../include/mitsuba/render/emitter.h:97:5: note: in instantiation of function template specialization 'enoki::detail::call_support_base<enoki::Packet<mitsuba::Emitter<Packet<float>, MuellerMatrix<Spectrum<Packet<float>, 4> > > *, 8> >::dispatch<(lambda at ../include/mitsuba/render/emitter.h:97:5), enoki::PacketMask<float, 8>, std::__1::tuple<const mitsuba::Interaction<enoki::Packet<float, 8>, enoki::Matrix<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4> > &, mitsuba::Point<enoki::Packet<float, 8>, 2> &, enoki::PacketMask<float, 8> &>, 0, 1>' requested here
    ENOKI_CALL_SUPPORT_METHOD(sample_direction)
    ^
../ext/enoki/include/enoki/array_call.h:259:26: note: expanded from macro 'ENOKI_CALL_SUPPORT_METHOD'
            return Base::dispatch(                                             \
                         ^
../src/librender/scene.cpp:168:43: note: in instantiation of function template specialization 'enoki::call_support<mitsuba::Emitter<Packet<float>, MuellerMatrix<Spectrum<Packet<float>, 4> > >, enoki::Packet<mitsuba::Emitter<Packet<float>, MuellerMatrix<Spectrum<Packet<float>, 4> > > *, 8> >::sample_direction<const mitsuba::Interaction<enoki::Packet<float, 8>, enoki::Matrix<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4> > &, mitsuba::Point<enoki::Packet<float, 8>, 2> &, enoki::PacketMask<float, 8> &>' requested here
            std::tie(ds, spec) = emitter->sample_direction(ref, sample, active);
                                          ^
../src/librender/scene.cpp:240:23: note: in instantiation of member function 'mitsuba::Scene<enoki::Packet<float, 8>, enoki::Matrix<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4> >::sample_emitter_direction' requested here
MTS_INSTANTIATE_CLASS(Scene)
                      ^
In file included from ../src/librender/scene.cpp:1:
In file included from ../include/mitsuba/core/properties.h:5:
In file included from ../include/mitsuba/core/spectrum.h:12:
../include/mitsuba/core/traits.h:68:82: error: no type named 'Wavelength' in 'mitsuba::detail::spectrum_traits<enoki::Array<enoki::Array<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4>, 4> >'
    using Wavelength   = enoki::detail::MaskedArray<typename spectrum_traits<T>::Wavelength>;
                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
../include/mitsuba/core/traits.h:69:82: error: no type named 'Unpolarized' in 'mitsuba::detail::spectrum_traits<enoki::Array<enoki::Array<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4>, 4> >'
    using Unpolarized  = enoki::detail::MaskedArray<typename spectrum_traits<T>::Unpolarized>;
                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
6 errors generated.
[2/313] Building CXX object src/librender/python/CMakeFiles/render_packet_spectral_polarized_ext-obj.dir/emitter_v.cpp.o
FAILED: src/librender/python/CMakeFiles/render_packet_spectral_polarized_ext-obj.dir/emitter_v.cpp.o
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++  -DLITTLE_ENDIAN -DMTS_ENABLE_PROFILER -DMTS_VARIANT_FLOAT="Packet<float>" -DMTS_VARIANT_NAME=packet_spectral_polarized -DMTS_VARIANT_SPECTRUM="MuellerMatrix<Spectrum<Packet<float>, 4>>" -DMTS_VARIANT_VECTORIZE=1 -D__OSX__ -I../include -I../ext/tinyformat -I../ext/enoki/include -I../ext/tbb/include -I../ext/pybind11/include -I/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/include/python3.7m -I../ext/rgb2spec -flto=thin  -stdlib=libc++ -D_LIBCPP_VERSION -std=gnu++17 -fcolor-diagnostics -O3 -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -mmacosx-version-min=10.14 -fPIC   -fno-stack-protector -fomit-frame-pointer -fno-math-errno -ffp-contract=fast -march=native -Wall -Wextra -Wno-unused-local-typedefs -fvisibility=hidden -Wdouble-promotion -MD -MT src/librender/python/CMakeFiles/render_packet_spectral_polarized_ext-obj.dir/emitter_v.cpp.o -MF src/librender/python/CMakeFiles/render_packet_spectral_polarized_ext-obj.dir/emitter_v.cpp.o.d -o src/librender/python/CMakeFiles/render_packet_spectral_polarized_ext-obj.dir/emitter_v.cpp.o -c ../src/librender/python/emitter_v.cpp
In file included from ../src/librender/python/emitter_v.cpp:1:
In file included from ../include/mitsuba/python/python.h:9:
In file included from ../include/mitsuba/render/fwd.h:5:
In file included from ../include/mitsuba/core/spectrum.h:12:
../include/mitsuba/core/traits.h:67:82: error: no type named 'Scalar' in 'mitsuba::detail::spectrum_traits<enoki::Array<enoki::Array<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4>, 4> >'
    using Scalar       = enoki::detail::MaskedArray<typename spectrum_traits<T>::Scalar>;
                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
../include/mitsuba/core/traits.h:79:23: note: in instantiation of template class 'mitsuba::detail::spectrum_traits<enoki::detail::MaskedArray<enoki::Array<enoki::Array<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4>, 4> > >' requested here
template <typename T> using wavelength_t = typename detail::spectrum_traits<T>::Wavelength;
                      ^
../include/mitsuba/core/ray.h:28:36: note: in instantiation of template type alias 'wavelength_t' requested here
    using Wavelength             = wavelength_t<Spectrum_>;
                                   ^
../include/mitsuba/core/ray.h:141:1: note: in instantiation of template class 'mitsuba::Ray<enoki::detail::MaskedArray<mitsuba::Point<enoki::Packet<float, 8>, 3> >, enoki::detail::MaskedArray<enoki::Array<enoki::Array<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4>, 4> > >' requested here
ENOKI_STRUCT_SUPPORT(mitsuba::Ray, o, d, d_rcp, mint, maxt, time, wavelengths)
^
../ext/enoki/include/enoki/array_macro.h:347:20: note: expanded from macro 'ENOKI_STRUCT_SUPPORT'
            return Value(ENOKI_MAP_EXPR_F2(enoki::masked,                      \
                   ^
../ext/enoki/include/enoki/array_masked.h:86:37: note: in instantiation of function template specialization 'enoki::struct_support<mitsuba::Ray<mitsuba::Point<enoki::Packet<float, 8>, 3>, enoki::Matrix<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4> >, int>::masked<mitsuba::Ray<mitsuba::Point<enoki::Packet<float, 8>, 3>, enoki::Matrix<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4> >, enoki::PacketMask<const mitsuba::Emitter<Packet<float>, MuellerMatrix<Spectrum<Packet<float>, 4> > > *, 8> >' requested here
        return struct_support_t<T>::masked(value, mask);
                                    ^
../ext/enoki/include/enoki/stl.h:69:42: note: in instantiation of function template specialization 'enoki::masked<mitsuba::Ray<mitsuba::Point<enoki::Packet<float, 8>, 3>, enoki::Matrix<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4> >, enoki::PacketMask<const mitsuba::Emitter<Packet<float>, MuellerMatrix<Spectrum<Packet<float>, 4> > > *, 8> >' requested here
        return std::pair<decltype(enoki::masked(value.first, mask)),
                                         ^
../ext/enoki/include/enoki/array_masked.h:86:37: note: in instantiation of function template specialization 'enoki::struct_support<std::__1::pair<mitsuba::Ray<mitsuba::Point<enoki::Packet<float, 8>, 3>, enoki::Matrix<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4> >, enoki::Matrix<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4> >, int>::masked<std::__1::pair<mitsuba::Ray<mitsuba::Point<enoki::Packet<float, 8>, 3>, enoki::Matrix<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4> >, enoki::Matrix<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4> > &, enoki::PacketMask<const mitsuba::Emitter<Packet<float>, MuellerMatrix<Spectrum<Packet<float>, 4> > > *, 8> >' requested here
        return struct_support_t<T>::masked(value, mask);
                                    ^
../ext/enoki/include/enoki/array_call.h:145:21: note: in instantiation of function template specialization 'enoki::masked<std::__1::pair<mitsuba::Ray<mitsuba::Point<enoki::Packet<float, 8>, 3>, enoki::Matrix<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4> >, enoki::Matrix<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4> >, enoki::PacketMask<const mitsuba::Emitter<Packet<float>, MuellerMatrix<Spectrum<Packet<float>, 4> > > *, 8> >' requested here
                    masked(result, active) = func(value, active, std::get<Indices>(tuple)...);
                    ^
../include/mitsuba/render/emitter.h:95:5: note: in instantiation of function template specialization 'enoki::detail::call_support_base<enoki::Packet<const mitsuba::Emitter<Packet<float>, MuellerMatrix<Spectrum<Packet<float>, 4> > > *, 8> >::dispatch<(lambda at ../include/mitsuba/render/emitter.h:95:5), enoki::PacketMask<float, 8>, std::__1::tuple<enoki::Packet<float, 8> &, enoki::Packet<float, 8> &, const mitsuba::Point<enoki::Packet<float, 8>, 2> &, const mitsuba::Point<enoki::Packet<float, 8>, 2> &, enoki::PacketMask<float, 8> &>, 0, 1, 2, 3>' requested here
    ENOKI_CALL_SUPPORT_METHOD(sample_ray)
    ^
../ext/enoki/include/enoki/array_call.h:259:26: note: expanded from macro 'ENOKI_CALL_SUPPORT_METHOD'
            return Base::dispatch(                                             \
                         ^
../src/librender/python/emitter_v.cpp:65:46: note: in instantiation of function template specialization 'enoki::call_support<mitsuba::Emitter<Packet<float>, MuellerMatrix<Spectrum<Packet<float>, 4> > >, enoki::Packet<const mitsuba::Emitter<Packet<float>, MuellerMatrix<Spectrum<Packet<float>, 4> > > *, 8> >::sample_ray<enoki::Packet<float, 8> &, enoki::Packet<float, 8> &, const mitsuba::Point<enoki::Packet<float, 8>, 2> &, const mitsuba::Point<enoki::Packet<float, 8>, 2> &, enoki::PacketMask<float, 8> &>' requested here
                                 return ptr->sample_ray(time, sample1, sample2, sample3, active);
                                             ^
In file included from ../src/librender/python/emitter_v.cpp:1:
In file included from ../include/mitsuba/python/python.h:9:
In file included from ../include/mitsuba/render/fwd.h:5:
In file included from ../include/mitsuba/core/spectrum.h:12:
../include/mitsuba/core/traits.h:68:82: error: no type named 'Wavelength' in 'mitsuba::detail::spectrum_traits<enoki::Array<enoki::Array<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4>, 4> >'
    using Wavelength   = enoki::detail::MaskedArray<typename spectrum_traits<T>::Wavelength>;
                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
../include/mitsuba/core/traits.h:69:82: error: no type named 'Unpolarized' in 'mitsuba::detail::spectrum_traits<enoki::Array<enoki::Array<mitsuba::Spectrum<enoki::Packet<float, 8>, 4>, 4>, 4> >'
    using Unpolarized  = enoki::detail::MaskedArray<typename spectrum_traits<T>::Unpolarized>;
                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
3 errors generated.
[6/313] Building CXX object src/librender/python/CMakeFiles/render_packet_spectral_polarized_ext-obj.dir/bsdf_v.cpp.o
ninja: build stopped: subcommand failed.

Unable to load .ply files from blender

Since inbuilt shape plugins like rectangle, sphere, etc., aren't compatible with the gpu_ variants, I created meshes (as .ply files) using blender and tried loading them into Mitsuba2. However, I keep getting the following error message:

RuntimeError: ​[xml.cpp:1057] Error while loading "hallway/hallway_scene_build.xml" (near line 139, col 3): could not instantiate shape plugin of type "ply": 
[xml.cpp:1057]   [PLYMesh] Error while loading PLY file "hallway_lights.ply": 
[xml.cpp:1057] [PLYMesh]   [PLYMesh] Trailing tokens after end of PLY file!

However, I am able to load some of the standard .ply files from the repository (like mitsuba-data/ply/sphere.ply). I can see that the sphere.ply and the .ply file I obtained from blender are of the same format. Here is the "hallway_lights.ply" (generated by blender):

ply
format ascii 1.0
element vertex 12
property float x
property float y
property float z
element face 3
property list uchar uint vertex_indices
end_header
-1.550000 -0.990000 -0.670000
-1.450000 -0.990000 -0.670000
-1.450000 -0.990000 1.330000
-1.550000 -0.990000 1.330000
1.450000 -0.990000 -0.670000
1.550000 -0.990000 -0.670000
1.550000 -0.990000 1.330000
1.450000 -0.990000 1.330000
-0.750000 -0.990000 1.550000
-0.750000 -0.990000 1.450000
0.750000 -0.990000 1.450000
0.750000 -0.990000 1.550000
4 0 1 2 3
4 4 5 6 7
4 8 9 10 11

It is a simple object comprised of 3 different rectangles. Could someone tell me what I am doing wrong? Should I change something with the way I generate my .ply files using Blender?

Export object and emitter's transform as parameter

I'm playing with Mitsuba 2 to see if I can use it to optimize light and object position in a given scene. I realized that the world transform property is not currently exported during traverse(), and it's not straightforward to export.

For meshes, their transforms are baked in to their vertex positions during construction. For point emitters, their transform is an "AnimatedTransform" and doesn't support put_object() or put_parameter(), nor does its Transform4f member.

Is there any plan to support exporting transform parameters, or can you please provide any tips for me to implement them on my own?

Thanks,
Phil

Failed to load OptiX library [Clang-9 / Nvidia 440.26 / Cuda 10.1 / OptiX 6.5]

First of all, congratulations to the grand release! Have been waiting for mitsuba2 for a while.

Based on the extensive install instructions, I successfully installed the "gpu_autodiff_rgb" variant. Unfortunately, I couldn't run the simple cbox example as provided in the doc.

The error message says

rt_check(): OptiX API error = 1546 (Failed to load OptiX library! Very likely, your NVIDIA graphics driver is too old and not compatible with the version of OptiX that is being used. In particular, OptiX 6.5 
requires driver revision R435.80 or newer.) in ../src/librender/scene_optix.inl:40.

which i think should not be the case since I double-checked that I have proper versions of OptiX and the Nvidia driver. Can you please give me some hints about what might go wrong in this case? Thanks!

PluginManager in Mitsuba2

How can we invoke PluginManager in Mitsuba2? It seems that in Mitsuba2, PluginManager it's not an object of mitsuba.core (like it was for the previous version).

    pmgr = PluginManager.getInstance()
NameError: name 'PluginManager' is not defined

Compilation issues GPU variants [Clang-9/Kubuntu18.04, Nvidia 440.64,Cuda10.01]

First of all thank you for this great new release of Mitsuba!

However, as of commit d30def8 I cannot compile any gpu-variants anymore, which seems to be an issue similar to #29

This is my system setup

  • Kubuntu 18.04 (Ubuntu 18.04)
  • clang version 9.0.0-2~ubuntu18.04.2 (tags/RELEASE_900/final)
  • cmake version 3.16.5
  • ninja version: 1.8.2
  • Nvidia driver version: 440.64
  • Cuda Version: 10.1
  • OptiX version : 6.5

My cmake output

$ cmake -GNinja -DMTS_OPTIX_PATH=/media/dna/dataONE/software_sources/nvidia/NVIDIA-OptiX-SDK-6.5.0-linux64/ ..
-- Building the following variants of Mitsuba:
--  * scalar_rgb
--  * scalar_spectral
--  * gpu_rgb
--  * gpu_autodiff_rgb
-- Mitsuba: using libc++.
-- Mitsuba: building the Python plugin.
-- Enoki: building the CUDA backend.
-- Enoki: building the autodiff backend.
-- Enoki: building the Python plugin.
-- pybind11 v2.4.dev4
-- TBB: using libc++.
-- Mitsuba: using builtin implementation for CPU ray tracing.
-- Mitsuba: using OptiX for GPU ray tracing.
-- Mitsuba: LTO support enabled.
-- Mitsuba: sampling profiler enabled.
-- Configuring done
-- Generating done
-- Build files have been written to: /media/dna/dataONE/repositories/mitsuba2/build

And finally, the compilation errors:

$ ninja
[16/714] Building CUDA object ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/common.cu.o
FAILED: ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/common.cu.o
/usr/local/cuda-10.1/bin/nvcc  -DENOKI_AUTODIFF=1 -DENOKI_BUILD=1 -DENOKI_CUDA=1 -DENOKI_CUDA_COMPUTE_CAPABILITY=61 -Denoki_cuda_EXPORTS -I/usr/include/libcxxabi -I../ext/enoki/include -I../ext/enoki/ext/cub -gencode arch=compute_61,code=compute_61 -cudart shared -Xcompiler -march=native -Xcompiler -fvisibility=hidden -DNDEBUG -O3 -DNDEBUG -Xcompiler=-fPIC -x cu -c ../ext/enoki/src/cuda/common.cu -o ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/common.cu.o && /usr/local/cuda-10.1/bin/nvcc  -DENOKI_AUTODIFF=1 -DENOKI_BUILD=1 -DENOKI_CUDA=1 -DENOKI_CUDA_COMPUTE_CAPABILITY=61 -Denoki_cuda_EXPORTS -I/usr/include/libcxxabi -I../ext/enoki/include -I../ext/enoki/ext/cub -gencode arch=compute_61,code=compute_61 -cudart shared -Xcompiler -march=native -Xcompiler -fvisibility=hidden -DNDEBUG -O3 -DNDEBUG -Xcompiler=-fPIC -x cu -M ../ext/enoki/src/cuda/common.cu -MT ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/common.cu.o -o ext_build/enoki/CMakeFiles/enoki-cuda.dir/src/cuda/common.cu.o.d
/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(1761): error: identifier "__builtin_ia32_sqrtsd_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(1770): error: identifier "__builtin_ia32_sqrtss_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(2728): error: identifier "__builtin_ia32_scalefsd_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(2737): error: identifier "__builtin_ia32_scalefss_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(11265): error: identifier "__builtin_ia32_scalefsd_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(11274): error: identifier "__builtin_ia32_scalefss_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1163): error: identifier "__builtin_ia32_reducesd" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1171): error: identifier "__builtin_ia32_reducess" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1179): error: identifier "__builtin_ia32_rangesd128_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1189): error: identifier "__builtin_ia32_rangess128_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1198): error: identifier "__builtin_ia32_rangesd128_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h(1207): error: identifier "__builtin_ia32_rangess128_round" is undefined

12 errors detected in the compilation of "/tmp/tmpxft_00001aca_00000000-6_common.cpp1.ii".
[33/714] Building CXX object ext_build/enoki/CMakeFiles/enoki-python-cuda.dir/src/python/cuda_matrix.cpp.o

Is it maybe related the the usage of the gcc-based include /usr/lib/gcc/x86_64-linux-gnu/7/include/avx512dqintrin.h instead of the clang one: /usr/lib/llvm-9/lib/clang/9.0.0/include/avx512dqintrin.h ?

Compilation issues [scalar_spectral, gpu_autodiff_spectral, CUDA 10.2, Winows 10]

I have compilation issues with the following system settings:

  • Windows 10
  • Visual Studio 2019 (Community Edition) Version 16.4.5
  • cmake 3.16.4
  • python 3.6.8

I tried different modes and cmake goes well:

-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.17763.
-- The C compiler identification is MSVC 19.24.28316.0
-- The CXX compiler identification is MSVC 19.24.28316.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe -- 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: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe -- works
-- Detecting CXX compiler ABI info   
-- Detecting CXX compiler ABI info - done    
-- Detecting CXX compile features      
-- Detecting CXX compile features - done       
-- Found PythonInterp: C:/Users/adminlab/AppData/Local/Programs/Python/Python36/python.exe (found version "3.6.8")   
-- Found PythonLibs: C:/Users/adminlab/AppData/Local/Programs/Python/Python36/libs/Python36.lib         
-- Building the following variants of Mitsuba:                
--  * scalar_spectral                                        
--  * gpu_autodiff_spectral                            
-- Mitsuba: building the Python plugin.     
-- The CUDA compiler identification is NVIDIA 10.2.89         
-- Check for working CUDA compiler: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.2/bin/nvcc.exe   
-- Check for working CUDA compiler: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.2/bin/nvcc.exe -- works   
-- Detecting CUDA compiler ABI info                                                            
-- Detecting CUDA compiler ABI info - done                               
-- Enoki: building the CUDA backend.                     
-- Enoki: building the autodiff backend.                
-- Enoki: building the Python plugin.            
-- pybind11 v2.4.dev4                 
-- Performing Test HAS_MSVC_GL_LTCG             
-- Performing Test HAS_MSVC_GL_LTCG - Success    
-- LTO enabled                              
-- 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 - failed       
-- Looking for fseeko                     
-- Looking for fseeko - not found           
-- Looking for unistd.h                     
-- Looking for unistd.h - not found    
-- Found ZLIB: D:/Mitsuba2/mitsuba2/ext_build/zlib/$<CONFIGURATION>/zlib.lib       
-- Looking for stdlib.h                     
-- Looking for stdlib.h - found                
-- Performing Test HAVE_GCC_INLINE_ASM_AVX       
-- Performing Test HAVE_GCC_INLINE_ASM_AVX - Failed   
-- Performing Test HAVE_SYSCONF_NPROCESSORS_ONLN    
-- Performing Test HAVE_SYSCONF_NPROCESSORS_ONLN - Failed  
-- The ASM_MASM compiler identification is MSVC            
-- Found assembler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/ml64.exe     
-- Performing Test SUPPORTS_VOLATILE_FLAG        
-- Performing Test SUPPORTS_VOLATILE_FLAG - Success      
-- Performing Test __CxxFlag__arch_AVX                      
-- Performing Test __CxxFlag__arch_AVX - Success         
-- Performing Test __CxxFlag__arch_AVX2          
-- Performing Test __CxxFlag__arch_AVX2 - Success   
-- Performing Test __CxxFlag__std_c__latest          
-- Performing Test __CxxFlag__std_c__latest - Success     
-- Performing Test __CxxFlag__std_c__14                    
-- Performing Test __CxxFlag__std_c__14 - Success           
-- Mitsuba: using builtin implementation for CPU ray tracing.      
-- Mitsuba: using OptiX for GPU ray tracing.                       
-- Mitsuba: LTO support enabled.                           
-- Check if the system is big endian               
-- Searching 16 bit integer             
-- Check size of unsigned short        
-- Check size of unsigned short - done     
-- Using unsigned short                 
-- Check if the system is big endian - little endian    
-- Mitsuba: sampling profiler disabled.             
-- Found Sphinx: C:/Users/adminlab/AppData/Local/Programs/Python/Python36/Scripts/sphinx-build.exe    
-- Configuring done                                                                     
-- Generating done                                             
-- Build files have been written to: D:/Mitsuba2/mitsuba2 

However, the compilation fails:

1>------ Build started: Project: ZERO_CHECK, Configuration: Debug x64 ------
1>Checking Build System
2>------ Build started: Project: Iex, Configuration: Debug x64 ------
3>------ Build started: Project: eLut, Configuration: Debug x64 ------
4>------ Build started: Project: toFloat, Configuration: Debug x64 ------
5>------ Build started: Project: IlmImf-obj, Configuration: Debug x64 ------
2>Building Custom Rule D:/Mitsuba2/mitsuba2/ext/openexr/IlmBase/Iex/CMakeLists.txt
3>Building Custom Rule D:/Mitsuba2/mitsuba2/ext/openexr/IlmBase/Half/CMakeLists.txt
4>Building Custom Rule D:/Mitsuba2/mitsuba2/ext/openexr/IlmBase/Half/CMakeLists.txt
5>Building Custom Rule D:/Mitsuba2/mitsuba2/ext/openexr/OpenEXR/IlmImf/CMakeLists.txt
2>IexBaseExc.cpp
3>eLut.cpp
2>IexThrowErrnoExc.cpp
2>Generating Code...
4>toFloat.cpp
5>ImfAttribute.cpp
2>   Creating library D:/Mitsuba2/mitsuba2/ext_build/openexr/IlmBase/Iex/Debug/Iex.lib and object D:/Mitsuba2/mitsuba2/ext_build/openexr/IlmBase/Iex/Debug/Iex.exp
4>toFloat.vcxproj -> D:\Mitsuba2\mitsuba2\ext_build\openexr\IlmBase\Half\Debug\toFloat.exe
3>eLut.vcxproj -> D:\Mitsuba2\mitsuba2\ext_build\openexr\IlmBase\Half\Debug\eLut.exe
2>Iex.vcxproj -> D:\Mitsuba2\mitsuba2\ext_build\openexr\IlmBase\Iex\Debug\Iex.dll
6>------ Build started: Project: IlmThread, Configuration: Debug x64 ------
7>------ Build started: Project: Imath, Configuration: Debug x64 ------
8>------ Build started: Project: Half, Configuration: Debug x64 ------
7>Building Custom Rule D:/Mitsuba2/mitsuba2/ext/openexr/IlmBase/Imath/CMakeLists.txt
6>Building Custom Rule D:/Mitsuba2/mitsuba2/ext/openexr/IlmBase/IlmThread/CMakeLists.txt
7>ImathBox.cpp
7>ImathRandom.cpp
7>ImathColorAlgo.cpp
7>ImathShear.cpp
7>ImathFun.cpp
7>ImathVec.cpp
7>ImathMatrixAlgo.cpp
7>Generating Code...
7>   Creating library D:/Mitsuba2/mitsuba2/ext_build/openexr/IlmBase/Imath/Debug/Imath.lib and object D:/Mitsuba2/mitsuba2/ext_build/openexr/IlmBase/Imath/Debug/Imath.exp
7>Imath.vcxproj -> D:\Mitsuba2\mitsuba2\ext_build\openexr\IlmBase\Imath\Debug\Imath.dll
9>------ Build started: Project: enoki-cuda, Configuration: Debug x64 ------
9>Building Custom Rule D:/Mitsuba2/mitsuba2/ext/enoki/CMakeLists.txt
5>ImfBoxAttribute.cpp
5>ImfCRgbaFile.cpp
5>ImfChannelList.cpp
5>ImfChannelListAttribute.cpp
5>ImfFloatAttribute.cpp
5>ImfFrameBuffer.cpp
5>ImfHeader.cpp
5>ImfIO.cpp
6>IlmThread.cpp
6>IlmThreadMutex.cpp
6>IlmThreadMutexPosix.cpp
6>IlmThreadPool.cpp
6>IlmThreadPosix.cpp
6>IlmThreadSemaphore.cpp
6>IlmThreadSemaphorePosixCompat.cpp
6>IlmThreadSemaphorePosix.cpp
6>IlmThreadMutexWin32.cpp
6>IlmThreadSemaphoreWin32.cpp
6>IlmThreadWin32.cpp
6>Generating Code...
6>   Creating library D:/Mitsuba2/mitsuba2/ext_build/openexr/IlmBase/IlmThread/Debug/IlmThread.lib and object D:/Mitsuba2/mitsuba2/ext_build/openexr/IlmBase/IlmThread/Debug/IlmThread.exp
5>ImfInputFile.cpp
6>IlmThread.vcxproj -> D:\Mitsuba2\mitsuba2\ext_build\openexr\IlmBase\IlmThread\Debug\IlmThread.dll
10>------ Build started: Project: zlib, Configuration: Debug x64 ------
8>Generating eLut.h
10>Building Custom Rule D:/Mitsuba2/mitsuba2/ext/zlib/CMakeLists.txt
8>Generating toFloat.h
8>Building Custom Rule D:/Mitsuba2/mitsuba2/ext/openexr/IlmBase/Half/CMakeLists.txt
5>ImfIntAttribute.cpp
10>adler32.c
10>compress.c
10>crc32.c
10>deflate.c
10>gzclose.c
10>gzlib.c
10>gzread.c
10>gzwrite.c
10>inflate.c
10>infback.c
10>inftrees.c
10>inffast.c
10>trees.c
10>uncompr.c
10>zutil.c
10>Generating Code...
10>   Creating library D:/Mitsuba2/mitsuba2/ext_build/zlib/Debug/zlib.lib and object D:/Mitsuba2/mitsuba2/ext_build/zlib/Debug/zlib.exp
8>half.cpp
5>ImfLineOrderAttribute.cpp
10>zlib.vcxproj -> D:\Mitsuba2\mitsuba2\ext_build\zlib\Debug\zlib1.dll
11>------ Build started: Project: tbb_def_files, Configuration: Debug x64 ------
5>ImfMatrixAttribute.cpp
5>ImfOpaqueAttribute.cpp
11>Preprocessing tbb.def
11>Microsoft (R) C/C++ Optimizing Compiler Version 19.24.28316 for x64
11>Copyright (C) Microsoft Corporation.  All rights reserved.
11>
11>win64-tbb-export.def
11>Preprocessing tbbmalloc.def
11>Microsoft (R) C/C++ Optimizing Compiler Version 19.24.28316 for x64
11>Copyright (C) Microsoft Corporation.  All rights reserved.
11>
11>win64-tbbmalloc-export.def
11>Building Custom Rule D:/Mitsuba2/mitsuba2/ext/tbb/CMakeLists.txt
8>   Creating library D:/Mitsuba2/mitsuba2/ext_build/openexr/IlmBase/Half/Debug/Half.lib and object D:/Mitsuba2/mitsuba2/ext_build/openexr/IlmBase/Half/Debug/Half.exp
8>Half.vcxproj -> D:\Mitsuba2\mitsuba2\ext_build\openexr\IlmBase\Half\Debug\Half.dll
5>ImfOutputFile.cpp
12>------ Build started: Project: asmjit, Configuration: Debug x64 ------
13>------ Build started: Project: CopyIlmBaseLibs, Configuration: Debug x64 ------
12>Building Custom Rule D:/Mitsuba2/mitsuba2/ext/asmjit/CMakeLists.txt
5>ImfRgbaFile.cpp
5>ImfStringAttribute.cpp
5>ImfVecAttribute.cpp
5>ImfHuf.cpp
5>ImfThreading.cpp
5>Generating Code...
12>arch.cpp
12>assembler.cpp
12>codebuilder.cpp
12>codecompiler.cpp
12>codeemitter.cpp
12>codeholder.cpp
12>constpool.cpp
12>cpuinfo.cpp
12>func.cpp
12>globals.cpp
12>inst.cpp
12>logging.cpp
12>operand.cpp
12>osutils.cpp
12>regalloc.cpp
12>runtime.cpp
12>string.cpp
12>utils.cpp
12>vmem.cpp
12>zone.cpp
12>x86assembler.cpp
12>x86builder.cpp
12>x86compiler.cpp
12>x86internal.cpp
5>Compiling...
5>ImfWav.cpp
5>ImfLut.cpp
5>ImfCompressor.cpp
5>ImfRleCompressor.cpp
5>ImfZipCompressor.cpp
12>x86inst.cpp
5>ImfPizCompressor.cpp
12>x86instimpl.cpp
5>ImfMisc.cpp
12>x86logging.cpp
12>x86operand.cpp
12>x86operand_regs.cpp
5>ImfCompressionAttribute.cpp
12>x86regalloc.cpp
5>ImfDoubleAttribute.cpp
13>Building Custom Rule D:/Mitsuba2/mitsuba2/ext/openexr/CMakeLists.txt
5>ImfConvert.cpp
14>------ Build started: Project: b44ExpLogTable, Configuration: Debug x64 ------
5>ImfPreviewImage.cpp
14>Building Custom Rule D:/Mitsuba2/mitsuba2/ext/openexr/OpenEXR/IlmImf/CMakeLists.txt
5>ImfPreviewImageAttribute.cpp
5>ImfVersion.cpp
5>ImfChromaticities.cpp
14>b44ExpLogTable.cpp
5>ImfChromaticitiesAttribute.cpp
14>b44ExpLogTable.vcxproj -> D:\Mitsuba2\mitsuba2\ext_build\openexr\OpenEXR\IlmImf\Debug\b44ExpLogTable.exe
15>------ Build started: Project: dwaLookups, Configuration: Debug x64 ------
15>Building Custom Rule D:/Mitsuba2/mitsuba2/ext/openexr/OpenEXR/IlmImf/CMakeLists.txt
5>ImfKeyCode.cpp
5>ImfKeyCodeAttribute.cpp
12>LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification
12>   Creating library D:/Mitsuba2/mitsuba2/ext_build/asmjit/Debug/asmjit.lib and object D:/Mitsuba2/mitsuba2/ext_build/asmjit/Debug/asmjit.exp
12>asmjit.vcxproj -> D:\Mitsuba2\mitsuba2\ext_build\asmjit\Debug\asmjit.dll
12>Done building project "asmjit.vcxproj".
16>------ Build started: Project: jpeg, Configuration: Debug x64 ------
16>Building Custom Rule D:/Mitsuba2/mitsuba2/ext/libjpeg/CMakeLists.txt
15>dwaLookups.cpp
5>ImfTimeCode.cpp
5>ImfTimeCodeAttribute.cpp
5>ImfRational.cpp
15>dwaLookups.vcxproj -> D:\Mitsuba2\mitsuba2\ext_build\openexr\OpenEXR\IlmImf\Debug\dwaLookups.exe
17>------ Build started: Project: mitsuba-core-obj, Configuration: Debug x64 ------
5>Generating Code...
17>Building Custom Rule D:/Mitsuba2/mitsuba2/src/libcore/CMakeLists.txt
5>Compiling...
16>jmemnobs.c
5>ImfRationalAttribute.cpp
16>jaricom.c
16>jcapimin.c
16>jcapistd.c
16>jcarith.c
16>jccoefct.c
16>jccolor.c
17>string.cpp
16>jcdctmgr.c
17>appender.cpp
17>argparser.cpp
17>bitmap.cpp
16>jchuff.c
5>ImfFramesPerSecond.cpp
16>jcinit.c
5>ImfStandardAttributes.cpp
16>jcmainct.c
16>jcmarker.c
16>jcmaster.c
16>jcomapi.c
16>jcparam.c
16>jcprepct.c
16>jcsample.c
16>jctrans.c
16>jdapimin.c
16>jdapistd.c
16>Generating Code...
17>class.cpp
17>D:\Mitsuba2\mitsuba2\include\mitsuba/core/rfilter.h(408,1): warning C4910: 'mitsuba::ReconstructionFilter<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\libcore\bitmap.cpp)
5>ImfStdIO.cpp
17>D:\Mitsuba2\mitsuba2\include\mitsuba/core/rfilter.h(408,1): warning C4910: 'mitsuba::ReconstructionFilter<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\libcore\bitmap.cpp)
16>Compiling...
17>dstream.cpp
16>jdarith.c
16>jdatadst.c
16>jdatasrc.c
16>jdcoefct.c
17>filesystem.cpp
16>jdcolor.c
16>jddctmgr.c
16>jdhuff.c
16>jdinput.c
5>ImfEnvmap.cpp
16>jdmainct.c
16>jdmarker.c
16>jdmaster.c
17>formatter.cpp
16>jdmerge.c
16>jdpostct.c
17>fresolver.cpp
16>jdsample.c
17>D:\Mitsuba2\mitsuba2\src\libcore\bitmap.cpp(482,86): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
16>jdtrans.c
17>D:\Mitsuba2\mitsuba2\src\libcore\bitmap.cpp(487,86): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
17>D:\Mitsuba2\mitsuba2\src\libcore\bitmap.cpp(492,86): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
17>D:\Mitsuba2\mitsuba2\src\libcore\bitmap.cpp(497,86): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
17>D:\Mitsuba2\mitsuba2\src\libcore\bitmap.cpp(502,86): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
17>D:\Mitsuba2\mitsuba2\src\libcore\bitmap.cpp(507,86): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
16>jerror.c
16>jfdctflt.c
5>ImfEnvmapAttribute.cpp
16>jfdctfst.c
16>jfdctint.c
16>jidctflt.c
16>Generating Code...
17>fstream.cpp
16>Compiling...
17>jit.cpp
16>jidctfst.c
16>jidctint.c
5>ImfScanLineInputFile.cpp
16>jquant1.c
17>logger.cpp
16>jquant2.c
16>jutils.c
16>jmemmgr.c
16>Generating Code...
17>mmap.cpp
17>tensor.cpp
5>ImfTiledInputFile.cpp
17>mstream.cpp
16>   Creating library D:/Mitsuba2/mitsuba2/ext_build/libjpeg/Debug/jpeg-mitsuba.lib and object D:/Mitsuba2/mitsuba2/ext_build/libjpeg/Debug/jpeg-mitsuba.exp
17>object.cpp
17>plugin.cpp
16>jpeg.vcxproj -> D:\Mitsuba2\mitsuba2\ext_build\libjpeg\Debug\jpeg-mitsuba.dll
17>profiler.cpp
17>progress.cpp
5>ImfTiledMisc.cpp
17>properties.cpp
18>------ Build started: Project: png16, Configuration: Debug x64 ------
5>ImfTiledOutputFile.cpp
17>qmc.cpp
17>rfilter.cpp
17>spectrum.cpp
17>D:\Mitsuba2\mitsuba2\include\mitsuba/core/rfilter.h(408,1): warning C4910: 'mitsuba::ReconstructionFilter<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\libcore\rfilter.cpp)
17>D:\Mitsuba2\mitsuba2\include\mitsuba/core/rfilter.h(408,1): warning C4910: 'mitsuba::ReconstructionFilter<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\libcore\rfilter.cpp)
17>stream.cpp
17>struct.cpp
18>Building Custom Rule D:/Mitsuba2/mitsuba2/ext/libpng/CMakeLists.txt
5>ImfTiledRgbaFile.cpp
17>thread.cpp
17>tls.cpp
17>transform.cpp
17>xml.cpp
17>zstream.cpp
17>quad.cpp
5>ImfTileDescriptionAttribute.cpp
18>png.c
5>ImfTileOffsets.cpp
18>pngerror.c
5>ImfRgbaYca.cpp
18>pngget.c
18>pngmem.c
5>ImfPxr24Compressor.cpp
18>pngpread.c
18>pngread.c
5>ImfTestFile.cpp
18>pngrio.c
5>ImfStringVectorAttribute.cpp
18>pngrtran.c
5>ImfMultiView.cpp
18>pngrutil.c
17>dither-matrix256.cpp
18>pngset.c
5>ImfAcesFile.cpp
18>pngtrans.c
18>pngwio.c
5>ImfMultiPartOutputFile.cpp
18>pngwrite.c
18>pngwtran.c
17>util.cpp
18>pngwutil.c
5>Generating Code...
17>mitsuba-core-obj.vcxproj -> D:\Mitsuba2\mitsuba2\src\libcore\mitsuba-core-obj.dir\Debug\mitsuba-core-obj.lib
17>Done building project "mitsuba-core-obj.vcxproj".
19>------ Build started: Project: pugixml, Configuration: Debug x64 ------
18>Generating Code...
19>Building Custom Rule D:/Mitsuba2/mitsuba2/ext/CMakeLists.txt
19>pugixml.cpp
18>   Creating library D:/Mitsuba2/mitsuba2/ext_build/libpng/Debug/libpng16-mitsuba.lib and object D:/Mitsuba2/mitsuba2/ext_build/libpng/Debug/libpng16-mitsuba.exp
5>Compiling...
5>ImfGenericOutputFile.cpp
18>png16.vcxproj -> D:\Mitsuba2\mitsuba2\ext_build\libpng\Debug\libpng16-mitsuba.dll
20>------ Build started: Project: tbb, Configuration: Debug x64 ------
5>ImfOutputPartData.cpp
19>   Creating library D:/Mitsuba2/mitsuba2/ext_build/Debug/pugixml.lib and object D:/Mitsuba2/mitsuba2/ext_build/Debug/pugixml.exp
19>pugixml.vcxproj -> D:\Mitsuba2\mitsuba2\ext_build\Debug\pugixml.dll
21>------ Build started: Project: mitsuba-render-obj, Configuration: Debug x64 ------
21>Running bin2c
5>ImfMultiPartInputFile.cpp
21>Building Custom Rule D:/Mitsuba2/mitsuba2/src/librender/CMakeLists.txt
21>bsdf.cpp
21>emitter.cpp
21>endpoint.cpp
21>film.cpp
5>ImfGenericInputFile.cpp
5>ImfPartType.cpp
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sampler.h(58,1): warning C4910: 'mitsuba::Sampler<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\film.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sampler.h(58,1): warning C4910: 'mitsuba::Sampler<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\film.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/film.h(108,1): warning C4910: 'mitsuba::Film<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\film.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/film.h(108,1): warning C4910: 'mitsuba::Film<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\film.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/bsdf.h(502,1): warning C4910: 'mitsuba::BSDF<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\bsdf.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/bsdf.h(502,1): warning C4910: 'mitsuba::BSDF<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\bsdf.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\emitter.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\emitter.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\endpoint.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\endpoint.cpp)
5>ImfInputPartData.cpp
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/endpoint.h(242,1): warning C4910: 'mitsuba::Endpoint<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\endpoint.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/endpoint.h(242,1): warning C4910: 'mitsuba::Endpoint<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\endpoint.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/endpoint.h(242,1): warning C4910: 'mitsuba::Endpoint<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\emitter.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/endpoint.h(242,1): warning C4910: 'mitsuba::Endpoint<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\emitter.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/emitter.h(86,1): warning C4910: 'mitsuba::Emitter<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\emitter.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/emitter.h(86,1): warning C4910: 'mitsuba::Emitter<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\emitter.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/medium.h(108,1): warning C4910: 'mitsuba::Medium<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\endpoint.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/medium.h(108,1): warning C4910: 'mitsuba::Medium<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\endpoint.cpp)
21>imageblock.cpp
21>integrator.cpp
21>kdtree.cpp
21>medium.cpp
5>ImfOutputPart.cpp
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/imageblock.h(214,1): warning C4910: 'mitsuba::ImageBlock<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\imageblock.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/imageblock.h(214,1): warning C4910: 'mitsuba::ImageBlock<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\imageblock.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sampler.h(58,1): warning C4910: 'mitsuba::Sampler<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sampler.h(58,1): warning C4910: 'mitsuba::Sampler<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/film.h(108,1): warning C4910: 'mitsuba::Film<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/film.h(108,1): warning C4910: 'mitsuba::Film<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/imageblock.h(214,1): warning C4910: 'mitsuba::ImageBlock<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/imageblock.h(214,1): warning C4910: 'mitsuba::ImageBlock<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\kdtree.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\kdtree.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/medium.h(108,1): warning C4910: 'mitsuba::Medium<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/medium.h(108,1): warning C4910: 'mitsuba::Medium<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
5>ImfTiledOutputPart.cpp
21>D:\Mitsuba2\mitsuba2\src\librender\imageblock.cpp(18,1): warning C4457: declaration of 'size' hides function parameter
21>D:\Mitsuba2\mitsuba2\src\librender\imageblock.cpp(8,63): message : see declaration of 'size'
21>D:\Mitsuba2\mitsuba2\src\librender\imageblock.cpp(11): message : while compiling class template member function 'mitsuba::ImageBlock<float,mitsuba::Spectrum<float,4>>::ImageBlock(const mitsuba::Vector<int,2> &,size_t,const mitsuba::ReconstructionFilter<float,mitsuba::Spectrum<float,4>> *,bool,bool,bool,bool)'
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/imageblock.h(214): message : see reference to class template instantiation 'mitsuba::ImageBlock<float,mitsuba::Spectrum<float,4>>' being compiled (compiling source file D:\Mitsuba2\mitsuba2\src\librender\imageblock.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/mesh.h(364,1): warning C4910: 'mitsuba::Mesh<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\kdtree.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/endpoint.h(242,1): warning C4910: 'mitsuba::Endpoint<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/endpoint.h(242,1): warning C4910: 'mitsuba::Endpoint<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/mesh.h(364,1): warning C4910: 'mitsuba::Mesh<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\kdtree.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/emitter.h(86,1): warning C4910: 'mitsuba::Emitter<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/emitter.h(86,1): warning C4910: 'mitsuba::Emitter<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\src\librender\imageblock.cpp(75,1): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
21>D:\Mitsuba2\mitsuba2\src\librender\imageblock.cpp(49): message : while compiling class template member function 'void mitsuba::ImageBlock<float,mitsuba::Spectrum<float,4>>::put(const mitsuba::ImageBlock<float,mitsuba::Spectrum<float,4>> *)'
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sensor.h(196,1): warning C4910: 'mitsuba::Sensor<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sensor.h(196,1): warning C4910: 'mitsuba::Sensor<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sensor.h(197,1): warning C4910: 'mitsuba::ProjectiveCamera<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sensor.h(197,1): warning C4910: 'mitsuba::ProjectiveCamera<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/bsdf.h(502,1): warning C4910: 'mitsuba::BSDF<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/bsdf.h(502,1): warning C4910: 'mitsuba::BSDF<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/scene.h(231,1): warning C4910: 'mitsuba::Scene<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sampler.h(58,1): warning C4910: 'mitsuba::Sampler<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sampler.h(58,1): warning C4910: 'mitsuba::Sampler<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/phase.h(193,1): warning C4910: 'mitsuba::PhaseFunction<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/phase.h(193,1): warning C4910: 'mitsuba::PhaseFunction<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/scene.h(231,1): warning C4910: 'mitsuba::Scene<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/integrator.h(216,1): warning C4910: 'mitsuba::Integrator<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/integrator.h(216,1): warning C4910: 'mitsuba::Integrator<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/integrator.h(217,1): warning C4910: 'mitsuba::SamplingIntegrator<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/integrator.h(217,1): warning C4910: 'mitsuba::SamplingIntegrator<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/integrator.h(218,1): warning C4910: 'mitsuba::MonteCarloIntegrator<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/integrator.h(218,1): warning C4910: 'mitsuba::MonteCarloIntegrator<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\src\librender\imageblock.cpp(68,1): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
21>D:\Mitsuba2\mitsuba2\src\librender\imageblock.cpp(49): message : while compiling class template member function 'void mitsuba::ImageBlock<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>::put(const mitsuba::ImageBlock<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>> *)'
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/endpoint.h(242,1): warning C4910: 'mitsuba::Endpoint<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/endpoint.h(242,1): warning C4910: 'mitsuba::Endpoint<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/emitter.h(86,1): warning C4910: 'mitsuba::Emitter<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/emitter.h(86,1): warning C4910: 'mitsuba::Emitter<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/film.h(108,1): warning C4910: 'mitsuba::Film<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/film.h(108,1): warning C4910: 'mitsuba::Film<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sensor.h(196,1): warning C4910: 'mitsuba::Sensor<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sensor.h(196,1): warning C4910: 'mitsuba::Sensor<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sensor.h(197,1): warning C4910: 'mitsuba::ProjectiveCamera<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sensor.h(197,1): warning C4910: 'mitsuba::ProjectiveCamera<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/scene.h(231,1): warning C4910: 'mitsuba::Scene<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/scene.h(231,1): warning C4910: 'mitsuba::Scene<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/texture.h(229,1): warning C4910: 'mitsuba::Texture<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/texture.h(229,1): warning C4910: 'mitsuba::Texture<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/texture.h(230,1): warning C4910: 'mitsuba::Volume<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
5>ImfInputPart.cpp
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/texture.h(230,1): warning C4910: 'mitsuba::Volume<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\medium.cpp)
21>D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp(55,12): warning C4189: 'n_threads': local variable is initialized but not referenced
21>D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp(48): message : while compiling class template member function 'bool mitsuba::SamplingIntegrator<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>::render(mitsuba::Scene<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>> *,mitsuba::Sensor<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>> *)'
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/integrator.h(217): message : see reference to class template instantiation 'mitsuba::SamplingIntegrator<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>' being compiled (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp(171,14): warning C4189: 'sample_count': local variable is initialized but not referenced
21>D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp(168): message : while compiling class template member function 'void mitsuba::SamplingIntegrator<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>::render_block(const mitsuba::Scene<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>> *,const mitsuba::Sensor<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>> *,mitsuba::Sampler<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>> *,mitsuba::ImageBlock<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>> *,Float *,size_t) const'
21>        with
21>        [
21>            Float=enoki::DiffArray<enoki::CUDAArray<float>>
21>        ]
21>D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp(170,14): warning C4189: 'pixel_count': local variable is initialized but not referenced
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/kdtree.h(2459,1): warning C4910: 'mitsuba::ShapeKDTree<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\kdtree.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/kdtree.h(2459,1): warning C4910: 'mitsuba::ShapeKDTree<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\kdtree.cpp)
21>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/array_router.h(200,1): warning C4267: 'argument': conversion from 'size_t' to 'T', possible loss of data
21>        with
21>        [
21>            T=unsigned int
21>        ] (compiling source file D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp)
21>D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp(139): message : see reference to function template instantiation 'T1 &enoki::operator /=<enoki::DiffArray<enoki::CUDAArray<uint32_t>>,0,size_t>(T1 &,const T2 &)' being compiled
21>        with
21>        [
21>            T1=enoki::DiffArray<enoki::CUDAArray<uint32_t>>,
21>            T2=size_t
21>        ]
21>D:\Mitsuba2\mitsuba2\src\librender\integrator.cpp(48): message : while compiling class template member function 'bool mitsuba::SamplingIntegrator<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>::render(mitsuba::Scene<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>> *,mitsuba::Sensor<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>> *)'
5>ImfTiledInputPart.cpp
21>mesh.cpp
5>ImfDeepScanLineInputPart.cpp
21>microfacet.cpp
21>phase.cpp
5>ImfDeepScanLineOutputPart.cpp
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\mesh.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\mesh.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/mesh.h(364,1): warning C4910: 'mitsuba::Mesh<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\mesh.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/mesh.h(364,1): warning C4910: 'mitsuba::Mesh<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\mesh.cpp)
5>ImfDeepScanLineInputFile.cpp
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/bsdf.h(502,1): warning C4910: 'mitsuba::BSDF<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\phase.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/bsdf.h(502,1): warning C4910: 'mitsuba::BSDF<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\phase.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sampler.h(58,1): warning C4910: 'mitsuba::Sampler<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\phase.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sampler.h(58,1): warning C4910: 'mitsuba::Sampler<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\phase.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/phase.h(193,1): warning C4910: 'mitsuba::PhaseFunction<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\phase.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/phase.h(193,1): warning C4910: 'mitsuba::PhaseFunction<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\phase.cpp)
21>sampler.cpp
21>scene.cpp
21>D:\Mitsuba2\mitsuba2\include\mitsuba/core/distr_1d.h(78,1): warning C4267: '=': conversion from 'size_t' to 'unsigned int', possible loss of data (compiling source file D:\Mitsuba2\mitsuba2\src\librender\mesh.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/core/distr_1d.h(49): message : while compiling class template member function 'void mitsuba::DiscreteDistribution<Float>::update(void)'
21>        with
21>        [
21>            Float=enoki::DiffArray<enoki::CUDAArray<float>>
21>        ] (compiling source file D:\Mitsuba2\mitsuba2\src\librender\mesh.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/core/distr_1d.h(40): message : see reference to function template instantiation 'void mitsuba::DiscreteDistribution<Float>::update(void)' being compiled
21>        with
21>        [
21>            Float=enoki::DiffArray<enoki::CUDAArray<float>>
21>        ] (compiling source file D:\Mitsuba2\mitsuba2\src\librender\mesh.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/mesh.h(360): message : see reference to class template instantiation 'mitsuba::DiscreteDistribution<Float>' being compiled
21>        with
21>        [
21>            Float=enoki::DiffArray<enoki::CUDAArray<float>>
21>        ] (compiling source file D:\Mitsuba2\mitsuba2\src\librender\mesh.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/mesh.h(364): message : see reference to class template instantiation 'mitsuba::Mesh<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>' being compiled (compiling source file D:\Mitsuba2\mitsuba2\src\librender\mesh.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/core/distr_1d.h(79,1): warning C4267: '=': conversion from 'size_t' to 'unsigned int', possible loss of data (compiling source file D:\Mitsuba2\mitsuba2\src\librender\mesh.cpp)
21>D:\Mitsuba2\mitsuba2\src\librender\mesh.cpp(602,1): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
21>D:\Mitsuba2\mitsuba2\src\librender\mesh.cpp(633): message : see reference to function template instantiation 'Result mitsuba::cuda_upload<Index,3,mitsuba::Mesh<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>::optix_geometry::<lambda_e87b4e8bf5ad6e1ea654dd0b877449a6>,enoki::Array<Index,3>>(size_t,Func)' being compiled
21>        with
21>        [
21>            Result=enoki::Array<Index,3>,
21>            Func=mitsuba::Mesh<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>::optix_geometry::<lambda_e87b4e8bf5ad6e1ea654dd0b877449a6>
21>        ]
21>D:\Mitsuba2\mitsuba2\src\librender\mesh.cpp(620): message : while compiling class template member function 'RTgeometrytriangles mitsuba::Mesh<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>::optix_geometry(RTcontext)'
21>sensor.cpp
5>ImfDeepScanLineOutputFile.cpp
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sampler.h(58,1): warning C4910: 'mitsuba::Sampler<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\sampler.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sampler.h(58,1): warning C4910: 'mitsuba::Sampler<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\sampler.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/bsdf.h(502,1): warning C4910: 'mitsuba::BSDF<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/bsdf.h(502,1): warning C4910: 'mitsuba::BSDF<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/medium.h(108,1): warning C4910: 'mitsuba::Medium<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/medium.h(108,1): warning C4910: 'mitsuba::Medium<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/endpoint.h(242,1): warning C4910: 'mitsuba::Endpoint<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/endpoint.h(242,1): warning C4910: 'mitsuba::Endpoint<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/emitter.h(86,1): warning C4910: 'mitsuba::Emitter<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/emitter.h(86,1): warning C4910: 'mitsuba::Emitter<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sampler.h(58,1): warning C4910: 'mitsuba::Sampler<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sampler.h(58,1): warning C4910: 'mitsuba::Sampler<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/film.h(108,1): warning C4910: 'mitsuba::Film<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/film.h(108,1): warning C4910: 'mitsuba::Film<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sensor.h(196,1): warning C4910: 'mitsuba::Sensor<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sensor.h(196,1): warning C4910: 'mitsuba::Sensor<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sensor.h(197,1): warning C4910: 'mitsuba::ProjectiveCamera<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sensor.h(197,1): warning C4910: 'mitsuba::ProjectiveCamera<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/scene.h(231,1): warning C4910: 'mitsuba::Scene<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/scene.h(231,1): warning C4910: 'mitsuba::Scene<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/mesh.h(364,1): warning C4910: 'mitsuba::Mesh<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>shape.cpp
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/mesh.h(364,1): warning C4910: 'mitsuba::Mesh<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\sensor.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\sensor.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/endpoint.h(242,1): warning C4910: 'mitsuba::Endpoint<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\sensor.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/endpoint.h(242,1): warning C4910: 'mitsuba::Endpoint<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\sensor.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sampler.h(58,1): warning C4910: 'mitsuba::Sampler<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\sensor.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sampler.h(58,1): warning C4910: 'mitsuba::Sampler<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\sensor.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/film.h(108,1): warning C4910: 'mitsuba::Film<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\sensor.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/film.h(108,1): warning C4910: 'mitsuba::Film<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\sensor.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sensor.h(196,1): warning C4910: 'mitsuba::Sensor<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\sensor.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sensor.h(196,1): warning C4910: 'mitsuba::Sensor<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\sensor.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sensor.h(197,1): warning C4910: 'mitsuba::ProjectiveCamera<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\sensor.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sensor.h(197,1): warning C4910: 'mitsuba::ProjectiveCamera<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\sensor.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/kdtree.h(2459,1): warning C4910: 'mitsuba::ShapeKDTree<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/kdtree.h(2459,1): warning C4910: 'mitsuba::ShapeKDTree<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/imageblock.h(214,1): warning C4910: 'mitsuba::ImageBlock<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/imageblock.h(214,1): warning C4910: 'mitsuba::ImageBlock<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/integrator.h(216,1): warning C4910: 'mitsuba::Integrator<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/integrator.h(216,1): warning C4910: 'mitsuba::Integrator<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/integrator.h(217,1): warning C4910: 'mitsuba::SamplingIntegrator<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/integrator.h(217,1): warning C4910: 'mitsuba::SamplingIntegrator<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/integrator.h(218,1): warning C4910: 'mitsuba::MonteCarloIntegrator<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/integrator.h(218,1): warning C4910: 'mitsuba::MonteCarloIntegrator<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
5>ImfDeepTiledInputPart.cpp
21>texture.cpp
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>spiral.cpp
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/mesh.h(364,1): warning C4910: 'mitsuba::Mesh<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/mesh.h(364,1): warning C4910: 'mitsuba::Mesh<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\src\librender\scene_optix.inl(112,1): warning C4267: 'argument': conversion from 'size_t' to 'unsigned int', possible loss of data (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\src\librender\scene_optix.inl(32): message : while compiling class template member function 'void mitsuba::Scene<float,mitsuba::Spectrum<float,4>>::accel_init_gpu(const mitsuba::Properties &)' (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/scene.h(231): message : see reference to class template instantiation 'mitsuba::Scene<float,mitsuba::Spectrum<float,4>>' being compiled (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
5>ImfDeepTiledOutputPart.cpp
21>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/array_router.h(1330,58): warning C4100: 'value': unreferenced formal parameter (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\src\librender\scene.cpp(188): message : see reference to function template instantiation 'bool enoki::any_or<true,enoki::DiffArray<enoki::CUDAArray<bool>>>(const T &)' being compiled
21>        with
21>        [
21>            T=enoki::DiffArray<enoki::CUDAArray<bool>>
21>        ]
21>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/autodiff.h(1390): message : see reference to class template instantiation 'enoki::call_support<BaseType,enoki::DiffArray<enoki::CUDAArray<mitsuba::Emitter<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>> *>>>' being compiled (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/autodiff.h(1388): message : while compiling class template member function 'enoki::call_support<BaseType,enoki::DiffArray<enoki::CUDAArray<mitsuba::Emitter<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>> *>>> enoki::DiffArray<enoki::CUDAArray<mitsuba::Emitter<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>> *>>::operator ->(void) const' (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\src\librender\scene.cpp(175): message : see reference to class template instantiation 'enoki::DiffArray<enoki::CUDAArray<mitsuba::Emitter<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>> *>>' being compiled
21>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/array_generic.h(263): message : see reference to class template instantiation 'enoki::StaticArrayBase<enoki::DiffArray<enoki::CUDAArray<float>>,2,false,Derived_>' being compiled
21>        with
21>        [
21>            Derived_=mitsuba::Point<enoki::DiffArray<enoki::CUDAArray<float>>,2>
21>        ] (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/core/vector.h(29): message : see reference to class template instantiation 'enoki::StaticArrayImpl<Value_,2,false,mitsuba::Point<Value_,2>,int>' being compiled
21>        with
21>        [
21>            Value_=enoki::DiffArray<enoki::CUDAArray<float>>
21>        ] (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/interaction.h(105): message : see reference to class template instantiation 'mitsuba::Point<enoki::DiffArray<enoki::CUDAArray<float>>,2>' being compiled (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\src\librender\scene.cpp(119): message : see reference to class template instantiation 'mitsuba::SurfaceInteraction<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>' being compiled
21>D:\Mitsuba2\mitsuba2\src\librender\scene.cpp(119): message : while compiling class template member function 'mitsuba::SurfaceInteraction<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>> mitsuba::Scene<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>::ray_intersect(const mitsuba::Ray<mitsuba::Point<enoki::DiffArray<enoki::CUDAArray<float>>,3>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>> &,enoki::DiffArray<enoki::CUDAArray<bool>>) const'
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/scene.h(231): message : see reference to class template instantiation 'mitsuba::Scene<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>' being compiled (compiling source file D:\Mitsuba2\mitsuba2\src\librender\scene.cpp)
21>D:\Mitsuba2\mitsuba2\src\librender\scene.cpp(153): message : while compiling class template member function 'std::pair<mitsuba::DirectionSample<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>,Spectrum> mitsuba::Scene<enoki::DiffArray<enoki::CUDAArray<float>>,Spectrum>::sample_emitter_direction(const mitsuba::Interaction<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>> &,const mitsuba::Point<enoki::DiffArray<enoki::CUDAArray<float>>,2> &,bool,enoki::DiffArray<enoki::CUDAArray<bool>>) const'
21>        with
21>        [
21>            Spectrum=mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>
21>        ]
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\texture.cpp)
5>ImfDeepTiledInputFile.cpp
5>ImfDeepTiledOutputFile.cpp
5>ImfDeepFrameBuffer.cpp
5>ImfDeepCompositing.cpp
5>Generating Code...
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/kdtree.h(2459,1): warning C4910: 'mitsuba::ShapeKDTree<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\texture.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/texture.h(229,1): warning C4910: 'mitsuba::Texture<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\texture.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/texture.h(229,1): warning C4910: 'mitsuba::Texture<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\texture.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/texture.h(230,1): warning C4910: 'mitsuba::Volume<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\texture.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/texture.h(230,1): warning C4910: 'mitsuba::Volume<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\texture.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/kdtree.h(2459,1): warning C4910: 'mitsuba::ShapeKDTree<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/endpoint.h(242,1): warning C4910: 'mitsuba::Endpoint<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/endpoint.h(242,1): warning C4910: 'mitsuba::Endpoint<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/emitter.h(86,1): warning C4910: 'mitsuba::Emitter<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/emitter.h(86,1): warning C4910: 'mitsuba::Emitter<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/bsdf.h(502,1): warning C4910: 'mitsuba::BSDF<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/bsdf.h(502,1): warning C4910: 'mitsuba::BSDF<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sampler.h(58,1): warning C4910: 'mitsuba::Sampler<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sampler.h(58,1): warning C4910: 'mitsuba::Sampler<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/film.h(108,1): warning C4910: 'mitsuba::Film<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/film.h(108,1): warning C4910: 'mitsuba::Film<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sensor.h(196,1): warning C4910: 'mitsuba::Sensor<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sensor.h(196,1): warning C4910: 'mitsuba::Sensor<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sensor.h(197,1): warning C4910: 'mitsuba::ProjectiveCamera<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sensor.h(197,1): warning C4910: 'mitsuba::ProjectiveCamera<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/medium.h(108,1): warning C4910: 'mitsuba::Medium<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/medium.h(108,1): warning C4910: 'mitsuba::Medium<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\shape.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sampler.h(58,1): warning C4910: 'mitsuba::Sampler<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\spiral.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/sampler.h(58,1): warning C4910: 'mitsuba::Sampler<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\spiral.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/film.h(108,1): warning C4910: 'mitsuba::Film<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\spiral.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/film.h(108,1): warning C4910: 'mitsuba::Film<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\spiral.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/imageblock.h(214,1): warning C4910: 'mitsuba::ImageBlock<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\spiral.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/imageblock.h(214,1): warning C4910: 'mitsuba::ImageBlock<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\spiral.cpp)
21>srgb.cpp
21>librender_ptx.cpp
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\srgb.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/shape.h(336,1): warning C4910: 'mitsuba::Shape<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\srgb.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/texture.h(229,1): warning C4910: 'mitsuba::Texture<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\srgb.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/texture.h(229,1): warning C4910: 'mitsuba::Texture<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\srgb.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/texture.h(230,1): warning C4910: 'mitsuba::Volume<float,mitsuba::Spectrum<float,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\srgb.cpp)
21>D:\Mitsuba2\mitsuba2\include\mitsuba/render/texture.h(230,1): warning C4910: 'mitsuba::Volume<enoki::DiffArray<enoki::CUDAArray<float>>,mitsuba::Spectrum<enoki::DiffArray<enoki::CUDAArray<float>>,4>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation (compiling source file D:\Mitsuba2\mitsuba2\src\librender\srgb.cpp)
5>Compiling...
5>ImfCompositeDeepScanLine.cpp
21>mitsuba-render-obj.vcxproj -> D:\Mitsuba2\mitsuba2\src\librender\mitsuba-render-obj.dir\Debug\mitsuba-render-obj.lib
21>Done building project "mitsuba-render-obj.vcxproj".
22>------ Build started: Project: rgb2spec, Configuration: Debug x64 ------
22>Building Custom Rule D:/Mitsuba2/mitsuba2/ext/rgb2spec/CMakeLists.txt
5>ImfDeepImageStateAttribute.cpp
22>rgb2spec.c
5>ImfFastHuf.cpp
22>rgb2spec.vcxproj -> D:\Mitsuba2\mitsuba2\ext_build\rgb2spec\Debug\rgb2spec.lib
5>ImfFloatVectorAttribute.cpp
5>ImfRle.cpp
5>ImfSystemSpecific.cpp
5>ImfZip.cpp
5>Generating Code...
5>IlmImf-obj.vcxproj -> D:\Mitsuba2\mitsuba2\ext_build\openexr\OpenEXR\IlmImf\IlmImf-obj.dir\Debug\IlmImf-obj.lib
23>------ Build started: Project: IlmImf, Configuration: Debug x64 ------
23> Building acceleration for DwaCompressor, 0.00 %
23>Generating b44ExpLogTable.h
23>Generating dwaLookups.h
23> Building acceleration for DwaCompressor, 6.10 %
9>Compiling CUDA source file ..\..\ext\enoki\src\cuda\common.cu...
9>Compiling CUDA source file ..\..\ext\enoki\src\cuda\horiz.cu...
9>Compiling CUDA source file ..\..\ext\enoki\src\cuda\jit.cu...
23> Building acceleration for DwaCompressor, 12.21 %
9>
9>D:\Mitsuba2\mitsuba2\ext_build\enoki>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin\nvcc.exe" -gencode=arch=compute_61,code=\"compute_61,compute_61\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\HostX64\x64" -x cu  -ID:\Mitsuba2\mitsuba2\ext\enoki\include -ID:\Mitsuba2\mitsuba2\ext\enoki\ext\cub -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include"     --keep-dir x64\Debug -maxrregcount=0  --machine 64 --compile -cudart shared -Xcompiler="-Zi -Ob0" -g   -DENOKI_CUDA_COMPUTE_CAPABILITY=61 -DENOKI_CUDA=1 -DENOKI_BUILD=1 -DENOKI_AUTODIFF=1 -D"CMAKE_INTDIR=\"Debug\"" -Denoki_cuda_EXPORTS -D"CMAKE_INTDIR=\"Debug\"" -Denoki_cuda_EXPORTS -D_WINDLL -D_MBCS -Xcompiler "/EHsc /W1 /nologo /Od /Fdenoki-cuda.dir\Debug\vc142.pdb /FS /Zi /RTC1 /MDd " -o enoki-cuda.dir\Debug\horiz.obj "D:\Mitsuba2\mitsuba2\ext\enoki\src\cuda\horiz.cu"
9>
9>D:\Mitsuba2\mitsuba2\ext_build\enoki>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin\nvcc.exe" -gencode=arch=compute_61,code=\"compute_61,compute_61\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\HostX64\x64" -x cu  -ID:\Mitsuba2\mitsuba2\ext\enoki\include -ID:\Mitsuba2\mitsuba2\ext\enoki\ext\cub -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include"     --keep-dir x64\Debug -maxrregcount=0  --machine 64 --compile -cudart shared -Xcompiler="-Zi -Ob0" -g   -DENOKI_CUDA_COMPUTE_CAPABILITY=61 -DENOKI_CUDA=1 -DENOKI_BUILD=1 -DENOKI_AUTODIFF=1 -D"CMAKE_INTDIR=\"Debug\"" -Denoki_cuda_EXPORTS -D"CMAKE_INTDIR=\"Debug\"" -Denoki_cuda_EXPORTS -D_WINDLL -D_MBCS -Xcompiler "/EHsc /W1 /nologo /Od /Fdenoki-cuda.dir\Debug\vc142.pdb /FS /Zi /RTC1 /MDd " -o enoki-cuda.dir\Debug\jit.obj "D:\Mitsuba2\mitsuba2\ext\enoki\src\cuda\jit.cu"
9>
9>D:\Mitsuba2\mitsuba2\ext_build\enoki>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin\nvcc.exe" -gencode=arch=compute_61,code=\"compute_61,compute_61\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\HostX64\x64" -x cu  -ID:\Mitsuba2\mitsuba2\ext\enoki\include -ID:\Mitsuba2\mitsuba2\ext\enoki\ext\cub -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include"     --keep-dir x64\Debug -maxrregcount=0  --machine 64 --compile -cudart shared -Xcompiler="-Zi -Ob0" -g   -DENOKI_CUDA_COMPUTE_CAPABILITY=61 -DENOKI_CUDA=1 -DENOKI_BUILD=1 -DENOKI_AUTODIFF=1 -D"CMAKE_INTDIR=\"Debug\"" -Denoki_cuda_EXPORTS -D"CMAKE_INTDIR=\"Debug\"" -Denoki_cuda_EXPORTS -D_WINDLL -D_MBCS -Xcompiler "/EHsc /W1 /nologo /Od /Fdenoki-cuda.dir\Debug\vc142.pdb /FS /Zi /RTC1 /MDd " -o enoki-cuda.dir\Debug\common.obj "D:\Mitsuba2\mitsuba2\ext\enoki\src\cuda\common.cu"
23> Building acceleration for DwaCompressor, 18.31 %
23> Building acceleration for DwaCompressor, 24.41 %
9>D:/Mitsuba2/mitsuba2/ext/enoki/src/cuda/horiz.cu(81): error : namespace "std" has no member "min"
9>
9>1 error detected in the compilation of "C:/Users/adminlab/AppData/Local/Temp/tmpxft_00003154_00000000-7_horiz.cpp1.ii".
9>horiz.cu
23> Building acceleration for DwaCompressor, 30.52 %
9>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations\CUDA 10.2.targets(764,9): error MSB3721: The command ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin\nvcc.exe" -gencode=arch=compute_61,code=\"compute_61,compute_61\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\HostX64\x64" -x cu  -ID:\Mitsuba2\mitsuba2\ext\enoki\include -ID:\Mitsuba2\mitsuba2\ext\enoki\ext\cub -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include"     --keep-dir x64\Debug -maxrregcount=0  --machine 64 --compile -cudart shared -Xcompiler="-Zi -Ob0" -g   -DENOKI_CUDA_COMPUTE_CAPABILITY=61 -DENOKI_CUDA=1 -DENOKI_BUILD=1 -DENOKI_AUTODIFF=1 -D"CMAKE_INTDIR=\"Debug\"" -Denoki_cuda_EXPORTS -D"CMAKE_INTDIR=\"Debug\"" -Denoki_cuda_EXPORTS -D_WINDLL -D_MBCS -Xcompiler "/EHsc /W1 /nologo /Od /Fdenoki-cuda.dir\Debug\vc142.pdb /FS /Zi /RTC1 /MDd " -o enoki-cuda.dir\Debug\horiz.obj "D:\Mitsuba2\mitsuba2\ext\enoki\src\cuda\horiz.cu"" exited with code 1.
9>Done building project "enoki-cuda.vcxproj" -- FAILED.
9>common.cu
23> Building acceleration for DwaCompressor, 36.62 %
9>jit.cu
23> Building acceleration for DwaCompressor, 42.72 %
24>------ Build started: Project: enoki-autodiff, Configuration: Debug x64 ------
24>Building Custom Rule D:/Mitsuba2/mitsuba2/ext/enoki/CMakeLists.txt
23> Building acceleration for DwaCompressor, 48.83 %
23> Building acceleration for DwaCompressor, 54.93 %
23> Building acceleration for DwaCompressor, 61.04 %
24>autodiff.cpp
24>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/autodiff.h(122,1): warning C4251: 'enoki::Tape<float>::s_tape': class 'std::unique_ptr<enoki::Tape<float>,std::default_delete<enoki::Tape<float>>>' needs to have dll-interface to be used by clients of struct 'enoki::Tape<float>'
24>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/autodiff.h(122): message : see declaration of 'std::unique_ptr<enoki::Tape<float>,std::default_delete<enoki::Tape<float>>>'
24>D:\Mitsuba2\mitsuba2\ext\enoki\src\autodiff\autodiff.cpp(1222): message : see reference to class template instantiation 'enoki::Tape<float>' being compiled
24>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/autodiff.h(122,1): warning C4251: 'enoki::Tape<double>::s_tape': class 'std::unique_ptr<enoki::Tape<double>,std::default_delete<enoki::Tape<double>>>' needs to have dll-interface to be used by clients of struct 'enoki::Tape<double>'
24>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/autodiff.h(122): message : see declaration of 'std::unique_ptr<enoki::Tape<double>,std::default_delete<enoki::Tape<double>>>'
24>D:\Mitsuba2\mitsuba2\ext\enoki\src\autodiff\autodiff.cpp(1225): message : see reference to class template instantiation 'enoki::Tape<double>' being compiled
24>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/autodiff.h(122,1): warning C4251: 'enoki::Tape<enoki::DynamicArray<enoki::Packet<float,8>>>::s_tape': class 'std::unique_ptr<enoki::Tape<enoki::DynamicArray<enoki::Packet<float,8>>>,std::default_delete<enoki::Tape<enoki::DynamicArray<enoki::Packet<float,8>>>>>' needs to have dll-interface to be used by clients of struct 'enoki::Tape<enoki::DynamicArray<enoki::Packet<float,8>>>'
24>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/autodiff.h(122): message : see declaration of 'std::unique_ptr<enoki::Tape<enoki::DynamicArray<enoki::Packet<float,8>>>,std::default_delete<enoki::Tape<enoki::DynamicArray<enoki::Packet<float,8>>>>>'
24>D:\Mitsuba2\mitsuba2\ext\enoki\src\autodiff\autodiff.cpp(1228): message : see reference to class template instantiation 'enoki::Tape<enoki::DynamicArray<enoki::Packet<float,8>>>' being compiled
24>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/autodiff.h(1410,1): warning C4251: 'enoki::DiffArray<enoki::DynamicArray<enoki::Packet<float,8>>>::m_value': struct 'enoki::DynamicArray<enoki::Packet<float,8>>' needs to have dll-interface to be used by clients of struct 'enoki::DiffArray<enoki::DynamicArray<enoki::Packet<float,8>>>'
24>D:\Mitsuba2\mitsuba2\ext\enoki\src\autodiff\autodiff.cpp(1228): message : see declaration of 'enoki::DynamicArray<enoki::Packet<float,8>>'
24>D:\Mitsuba2\mitsuba2\ext\enoki\src\autodiff\autodiff.cpp(1229): message : see reference to class template instantiation 'enoki::DiffArray<enoki::DynamicArray<enoki::Packet<float,8>>>' being compiled
24>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/autodiff.h(122,1): warning C4251: 'enoki::Tape<enoki::DynamicArray<enoki::Packet<double,8>>>::s_tape': class 'std::unique_ptr<enoki::Tape<enoki::DynamicArray<enoki::Packet<double,8>>>,std::default_delete<enoki::Tape<enoki::DynamicArray<enoki::Packet<double,8>>>>>' needs to have dll-interface to be used by clients of struct 'enoki::Tape<enoki::DynamicArray<enoki::Packet<double,8>>>'
24>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/autodiff.h(122): message : see declaration of 'std::unique_ptr<enoki::Tape<enoki::DynamicArray<enoki::Packet<double,8>>>,std::default_delete<enoki::Tape<enoki::DynamicArray<enoki::Packet<double,8>>>>>'
24>D:\Mitsuba2\mitsuba2\ext\enoki\src\autodiff\autodiff.cpp(1231): message : see reference to class template instantiation 'enoki::Tape<enoki::DynamicArray<enoki::Packet<double,8>>>' being compiled
24>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/autodiff.h(1410,1): warning C4251: 'enoki::DiffArray<enoki::DynamicArray<enoki::Packet<double,8>>>::m_value': struct 'enoki::DynamicArray<enoki::Packet<double,8>>' needs to have dll-interface to be used by clients of struct 'enoki::DiffArray<enoki::DynamicArray<enoki::Packet<double,8>>>'
24>D:\Mitsuba2\mitsuba2\ext\enoki\src\autodiff\autodiff.cpp(1231): message : see declaration of 'enoki::DynamicArray<enoki::Packet<double,8>>'
24>D:\Mitsuba2\mitsuba2\ext\enoki\src\autodiff\autodiff.cpp(1232): message : see reference to class template instantiation 'enoki::DiffArray<enoki::DynamicArray<enoki::Packet<double,8>>>' being compiled
24>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/autodiff.h(122,1): warning C4251: 'enoki::Tape<enoki::CUDAArray<float>>::s_tape': class 'std::unique_ptr<enoki::Tape<enoki::CUDAArray<float>>,std::default_delete<enoki::Tape<enoki::CUDAArray<float>>>>' needs to have dll-interface to be used by clients of struct 'enoki::Tape<enoki::CUDAArray<float>>'
24>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/autodiff.h(122): message : see declaration of 'std::unique_ptr<enoki::Tape<enoki::CUDAArray<float>>,std::default_delete<enoki::Tape<enoki::CUDAArray<float>>>>'
24>D:\Mitsuba2\mitsuba2\ext\enoki\src\autodiff\autodiff.cpp(1235): message : see reference to class template instantiation 'enoki::Tape<enoki::CUDAArray<float>>' being compiled
24>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/autodiff.h(1410,1): warning C4251: 'enoki::DiffArray<enoki::CUDAArray<float>>::m_value': struct 'enoki::CUDAArray<float>' needs to have dll-interface to be used by clients of struct 'enoki::DiffArray<enoki::CUDAArray<float>>'
24>D:\Mitsuba2\mitsuba2\ext\enoki\src\autodiff\autodiff.cpp(1235): message : see declaration of 'enoki::CUDAArray<float>'
24>D:\Mitsuba2\mitsuba2\ext\enoki\src\autodiff\autodiff.cpp(1236): message : see reference to class template instantiation 'enoki::DiffArray<enoki::CUDAArray<float>>' being compiled
24>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/autodiff.h(122,1): warning C4251: 'enoki::Tape<enoki::CUDAArray<double>>::s_tape': class 'std::unique_ptr<enoki::Tape<enoki::CUDAArray<double>>,std::default_delete<enoki::Tape<enoki::CUDAArray<double>>>>' needs to have dll-interface to be used by clients of struct 'enoki::Tape<enoki::CUDAArray<double>>'
24>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/autodiff.h(122): message : see declaration of 'std::unique_ptr<enoki::Tape<enoki::CUDAArray<double>>,std::default_delete<enoki::Tape<enoki::CUDAArray<double>>>>'
24>D:\Mitsuba2\mitsuba2\ext\enoki\src\autodiff\autodiff.cpp(1238): message : see reference to class template instantiation 'enoki::Tape<enoki::CUDAArray<double>>' being compiled
24>D:\Mitsuba2\mitsuba2\ext\enoki\include\enoki/autodiff.h(1410,1): warning C4251: 'enoki::DiffArray<enoki::CUDAArray<double>>::m_value': struct 'enoki::CUDAArray<double>' needs to have dll-interface to be used by clients of struct 'enoki::DiffArray<enoki::CUDAArray<double>>'
24>D:\Mitsuba2\mitsuba2\ext\enoki\src\autodiff\autodiff.cpp(1238): message : see declaration of 'enoki::CUDAArray<double>'
24>D:\Mitsuba2\mitsuba2\ext\enoki\src\autodiff\autodiff.cpp(1239): message : see reference to class template instantiation 'enoki::DiffArray<enoki::CUDAArray<double>>' being compiled
23> Building acceleration for DwaCompressor, 67.14 %
23> Building acceleration for DwaCompressor, 73.24 %
24>LINK : fatal error LNK1104: cannot open file 'Debug\enoki-cuda.lib'
24>Done building project "enoki-autodiff.vcxproj" -- FAILED.
23> Building acceleration for DwaCompressor, 79.35 %
23> Building acceleration for DwaCompressor, 85.45 %
23> Building acceleration for DwaCompressor, 91.55 %
23> Building acceleration for DwaCompressor, 97.66 %
23>Building Custom Rule D:/Mitsuba2/mitsuba2/ext/openexr/OpenEXR/IlmImf/CMakeLists.txt
23>ImfB44Compressor.cpp
23>ImfDwaCompressor.cpp
23>Generating Code...
23>   Creating library D:/Mitsuba2/mitsuba2/ext_build/openexr/OpenEXR/IlmImf/Debug/IlmImf.lib and object D:/Mitsuba2/mitsuba2/ext_build/openexr/OpenEXR/IlmImf/Debug/IlmImf.exp
23>IlmImf.vcxproj -> D:\Mitsuba2\mitsuba2\ext_build\openexr\OpenEXR\IlmImf\Debug\IlmImf.dll
25>------ Build started: Project: mitsuba-core (mitsuba-core\mitsuba-core), Configuration: Debug x64 ------
25>Building Custom Rule D:/Mitsuba2/mitsuba2/src/libcore/CMakeLists.txt
25>LINK : fatal error LNK1104: cannot open file '..\..\ext_build\enoki\Debug\enoki-autodiff.lib'
25>Done building project "mitsuba-core.vcxproj" -- FAILED.
26>------ Build started: Project: mitsuba-render (mitsuba-render\mitsuba-render), Configuration: Debug x64 ------
26>Building Custom Rule D:/Mitsuba2/mitsuba2/src/librender/CMakeLists.txt
26>LINK : fatal error LNK1104: cannot open file '..\libcore\Debug\mitsuba-core.lib'
26>Done building project "mitsuba-render.vcxproj" -- FAILED.
27>------ Build started: Project: mitsuba, Configuration: Debug x64 ------
27>Building Custom Rule D:/Mitsuba2/mitsuba2/src/mitsuba/CMakeLists.txt
27>mitsuba.cpp
27>D:\Mitsuba2\mitsuba2\src\mitsuba\mitsuba.cpp(99,9): warning C4566: character represented by universal-character-name '\u274C' cannot be represented in the current code page (1252)
27>D:\Mitsuba2\mitsuba2\src\mitsuba\mitsuba.cpp(192,39): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
27>D:\Mitsuba2\mitsuba2\src\mitsuba\mitsuba.cpp(194,13): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
27>LINK : fatal error LNK1104: cannot open file '..\librender\Debug\mitsuba-render.lib'
27>Done building project "mitsuba.vcxproj" -- FAILED.
========== Build: 22 succeeded, 5 failed, 0 up-to-date, 0 skipped ==========

The failure seems to be related to error : namespace "std" has no member "min", error MSB3721 and some missing links LNK1104. I tried several times to compile with different variants but could not resolve this issue.

Do you have an idea? Thanks!

Recommendations for changing the CMFS.

Hi,

This is not really an issue but more seeking advice on what would be the best approach for changing the CMFS. If there is a better place to discuss this, e.g. mailing list or email thread please let me know!

I would like to change the CMFS for a different set of functions, i.e. camera sensitivities, and I wanted to know if you had any recommendations on how to do that gracefully and en-mass. After a quick peek at the code it does not seem like there is a way to do that without recompiling the whole engine but maybe I missed something.

Cheers,

Thomas

Custom emitter plugin runtime error

I am trying to check how to define custom emitter plugin in python. Here is the link to the point light defined as custom plugin. During rendering(packet_spectral), I am getting following runtime error

RuntimeError: make_tuple(): unable to convert argument of type 'mitsuba::Interaction<enoki::Packet<float, 8ul>, mitsuba::Spectrum<enoki::Packet<float, 8ul>, 4ul> >' to Python object

Can somebody provide a hint to what might be the problem?

Including external XML files; and using Shape primitives with gpu variants.

I have 2 questions which I list below. Any help with either one of the issues will be much appreciated. Thanks in advance!

Q1) I realize that instantiating geometry using shapegroup and instance plugins aren't available for Mitsuba2 yet. Hence I wanted to split my scene into multiple pieces for better readability. However, I get a Runtime error (like the one shown below) when I try that.

RuntimeError: ​[xml.cpp:1078] Error while loading "hallway/corridorA.xml" (near line 36, col 10):
unreferenced property ["toWorld"] in shape plugin of type "rectangle"

The external file has the following structure:

<scene>
      <!-- Define all the Shapes and bsdfs  -->
</scene>

However, if I copy-paste the contents of the external file into the main scene file, things seem to work. Could someone share a simple working example of how this needs to be done?

Q2) On a slightly unrelated note, my scene is mainly composed of the Mitsuba primitive shapes (sphere and rectangle), but I want to run some applications involving differentiable rendering, i.e. in the gpu_autodiff mode. What's the best way of doing that? Can I somehow convert the Mitsuba shape plugins to .obj or .ply files which I can then load into Mitusba2?

Compilation issues [AppleClang 10 on macOS, clang-8 & CUDA 10 on Ubuntu]

I've attempted to compile the library with various settings, but I'm out of luck for now. Any suggestion on the correct configurations / compiler settings that would work?

macOS 10.13.6

I'm using toolchain from Xcode 10.1. CMake works well, and make successfully builds most of the files, but stucks somewhere for pybind. I'm not quite familiar with these macro operations.

[ 78%] Building CXX object src/librender/python/CMakeFiles/mitsuba_render_ext-obj.dir/integrator.cpp.o
/Users/weidong/Work/code/mitsuba2/src/librender/python/integrator.cpp:84:5: error: use of undeclared identifier '__doc_mitsuba_PolarizedMonteCarloIntegrator'; did you mean '__doc_mitsuba_MonteCarloIntegrator'?
    MTS_PY_CLASS(PolarizedMonteCarloIntegrator, SamplingIntegrator)
    ^
/Users/weidong/Work/code/mitsuba2/include/mitsuba/python/python.h:33:49: note: expanded from macro 'MTS_PY_CLASS'
    py::class_<Name, Base, ref<Name>>(m, #Name, D(Name), ##__VA_ARGS__)
                                                ^
/Users/weidong/Work/code/mitsuba2/include/mitsuba/python/python.h:21:16: note: expanded from macro 'D'
#define D(...) DOC(mitsuba, __VA_ARGS__)
               ^
/Users/weidong/Work/code/mitsuba2/include/mitsuba/python/docstr.h:18:76: note: expanded from macro 'DOC'
#define DOC(...)                                         __EXPAND(__EXPAND(__CAT2(__DOC, __VA_SIZE(__VA_ARGS__)))(__VA_ARGS__))
                                                                           ^
/Users/weidong/Work/code/mitsuba2/include/mitsuba/python/docstr.h:10:58: note: expanded from macro '__CAT2'
#define __CAT2(a, b)                                     __CAT1(a, b)
                                                         ^
/Users/weidong/Work/code/mitsuba2/include/mitsuba/python/docstr.h:9:58: note: expanded from macro '__CAT1'
#define __CAT1(a, b)                                     a ## b
                                                         ^
<scratch space>:261:1: note: expanded from here
__DOC2
^
/Users/weidong/Work/code/mitsuba2/include/mitsuba/python/docstr.h:3611:20: note: '__doc_mitsuba_MonteCarloIntegrator' declared here
static const char *__doc_mitsuba_MonteCarloIntegrator = R"doc()doc";
                   ^
/Users/weidong/Work/code/mitsuba2/src/librender/python/integrator.cpp:88:14: error: use of undeclared identifier '__doc_mitsuba_PolarizedMonteCarloIntegrator_eval_pol'; did you mean '__doc_mitsuba_MonteCarloIntegrator_class'?
             D(PolarizedMonteCarloIntegrator, eval_pol), "ray"_a, "rs"_a);
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             __doc_mitsuba_MonteCarloIntegrator_class
/Users/weidong/Work/code/mitsuba2/include/mitsuba/python/python.h:21:16: note: expanded from macro 'D'
#define D(...) DOC(mitsuba, __VA_ARGS__)
               ^
/Users/weidong/Work/code/mitsuba2/include/mitsuba/python/docstr.h:18:76: note: expanded from macro 'DOC'
#define DOC(...)                                         __EXPAND(__EXPAND(__CAT2(__DOC, __VA_SIZE(__VA_ARGS__)))(__VA_ARGS__))
                                                                           ^
/Users/weidong/Work/code/mitsuba2/include/mitsuba/python/docstr.h:10:58: note: expanded from macro '__CAT2'
#define __CAT2(a, b)                                     __CAT1(a, b)
                                                         ^
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/Users/weidong/Work/code/mitsuba2/include/mitsuba/python/docstr.h:13:58: note: expanded from macro '__DOC3'
#define __DOC3(n1, n2, n3)                               __doc_##n1##_##n2##_##n3
                                                         ^
<scratch space>:270:1: note: expanded from here
__doc_mitsuba_PolarizedMonteCarloIntegrator_eval_pol
^
/Users/weidong/Work/code/mitsuba2/include/mitsuba/python/docstr.h:6:58: note: expanded from macro '__EXPAND'
#define __EXPAND(x)                                      x
                                                         ^
/Users/weidong/Work/code/mitsuba2/include/mitsuba/python/docstr.h:3615:20: note: '__doc_mitsuba_MonteCarloIntegrator_class' declared here
static const char *__doc_mitsuba_MonteCarloIntegrator_class = R"doc()doc";
                   ^
2 errors generated.
make[2]: *** [src/librender/python/CMakeFiles/mitsuba_render_ext-obj.dir/integrator.cpp.o] Error 1
make[1]: *** [src/librender/python/CMakeFiles/mitsuba_render_ext-obj.dir/all] Error 2
make: *** [all] Error 2

Reference logs:
macos-cmake.log | macos-make.log

Ubuntu 18.04

g++9 & g++8, no autodiff

CMake configuration works, but there is a compilation problem in the beginning. The problem might be related to this discussion.

[  0%] Building CXX object src/textures/CMakeFiles/checkerboard-obj.dir/checkerboard.cpp.o
In file included from /home/wei/Workspace/code/mitsuba2/include/mitsuba/render/spectrum.h:5,
                 from /home/wei/Workspace/code/mitsuba2/src/textures/checkerboard.cpp:1:
/home/wei/Workspace/code/mitsuba2/include/mitsuba/render/interaction.h:103:11: error: declaration of ‘using MuellerMatrix = mitsuba::MuellerMatrix<typename mitsuba::Interaction<Point3_>::Spectrum>’ changes meaning of ‘MuellerMatrix’ [-fpermissive]
  103 |     using MuellerMatrix       = MuellerMatrix<Spectrum>;
      |           ^~~~~~~~~~~~~
In file included from /home/wei/Workspace/code/mitsuba2/include/mitsuba/render/interaction.h:3,
                 from /home/wei/Workspace/code/mitsuba2/include/mitsuba/render/spectrum.h:5,
                 from /home/wei/Workspace/code/mitsuba2/src/textures/checkerboard.cpp:1:
/home/wei/Workspace/code/mitsuba2/include/mitsuba/render/fwd.h:34:33: note: ‘MuellerMatrix’ declared here as ‘using MuellerMatrix = struct enoki::Matrix<typename mitsuba::Interaction<Point3_>::Spectrum, 4, true>’
   34 | template <typename Value> using MuellerMatrix = enoki::Matrix<Value, 4, true>;
      |                                 ^~~~~~~~~~~~~
src/textures/CMakeFiles/checkerboard-obj.dir/build.make:62: recipe for target 'src/textures/CMakeFiles/checkerboard-obj.dir/checkerboard.cpp.o' failed
make[2]: *** [src/textures/CMakeFiles/checkerboard-obj.dir/checkerboard.cpp.o] Error 1
CMakeFiles/Makefile2:6068: recipe for target 'src/textures/CMakeFiles/checkerboard-obj.dir/all' failed
make[1]: *** [src/textures/CMakeFiles/checkerboard-obj.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2

Results are the same for g++8.

Reference logs:
ubuntu18-g++9-cmake.log | ubuntu18-g++9-make.log
ubuntu18-g++8-cmake.log | ubuntu18-g++8-make.log

clang++8, no autodiff

For the reason above, I switched to clang++8. I apt installed libc++-8-dev and libc++abi-8-dev according to the CMake instructions (libc++-dev and libc++abi-dev won't work).
Now compilation goes further but stucks at the same place as on macOS.

Reference logs:
ubuntu18-clang++8-cmake.log | ubuntu18-clang++8-make.log

clang++8, autodiff

Now cmake fails, as there are problems in testing nvcc.

-- The CUDA compiler identification is unknown
-- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc
-- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc -- broken
CMake Error at /usr/share/cmake-3.10/Modules/CMakeTestCUDACompiler.cmake:46 (message):
  The CUDA compiler

    "/usr/local/cuda/bin/nvcc"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: /home/wei/Workspace/code/mitsuba2/build/CMakeFiles/CMakeTmp
    
    Run Build Command:"/usr/bin/make" "cmTC_80f85/fast"
    /usr/bin/make -f CMakeFiles/cmTC_80f85.dir/build.make CMakeFiles/cmTC_80f85.dir/build
    make[1]: Entering directory '/home/wei/Workspace/code/mitsuba2/build/CMakeFiles/CMakeTmp'
    Building CUDA object CMakeFiles/cmTC_80f85.dir/main.cu.o
    /usr/local/cuda/bin/nvcc     -x cu -c /home/wei/Workspace/code/mitsuba2/build/CMakeFiles/CMakeTmp/main.cu -o CMakeFiles/cmTC_80f85.dir/main.cu.o
    In file included from /usr/local/cuda/bin/../targets/x86_64-linux/include/cuda_runtime.h:83,
                     from <command-line>:
    /usr/local/cuda/bin/../targets/x86_64-linux/include/crt/host_config.h:129:2: error: #error -- unsupported GNU version! gcc versions later than 7 are not supported!
      129 | #error -- unsupported GNU version! gcc versions later than 7 are not supported!
          |  ^~~~~
    CMakeFiles/cmTC_80f85.dir/build.make:65: recipe for target 'CMakeFiles/cmTC_80f85.dir/main.cu.o' failed
    make[1]: *** [CMakeFiles/cmTC_80f85.dir/main.cu.o] Error 1
    make[1]: Leaving directory '/home/wei/Workspace/code/mitsuba2/build/CMakeFiles/CMakeTmp'
    Makefile:126: recipe for target 'cmTC_80f85/fast' failed
    make: *** [cmTC_80f85/fast] Error 2

I guess there are conflicts between nvcc and g++/clang++? Output of nvcc --version looks like this

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130

May be I can try the workaround here, but I guess there are some formal solutions in developing the project.

Reference log:
ubuntu18-clang++8-cuda10-cmake.log


My assumption is that the project can be correctly built by one certain version of clang, and it may require some tricks to get nvcc work. It will be kind of you if you can share a configuration of system | toolchains that successfully compiles the project.

Thanks!

Invalid interactions when sampling `roughplastic` in debug mode

System configuration

Platform: macOS 10.15.3
Compiler: Apple clang version 11.0.0 (clang-1100.0.33.17)
Python version: Python 3.7.5 :: Anaconda, Inc.
Mitsuba 2 version: e58039b
Compiled variants: scalar_mono, scalar_rgb, scalar_spectral, scalar_spectral_polarized

Problem

Severals tests in src/librender/tests/test_renders.py fail in debug mode. Investigation yielded the following conclusions:

  • Failed tests all use the bsdf_spheres scene.
  • Problematic objects in the scene use the roughplastic plugin.
  • Apparently, something strange happens during the execution of RoughPlastic::parameters_changed. The call stack is:
    RoughPlastic::parameters_changed [roughplastic.cpp:206]
        MicrofacetDistribution::eval_reflectance [microfacet.h:490]
            MicrofacetDistribution::sample [microfacet.h:301]
                MicrofacetDistribution::sample_visible_11 [microfacet.h:365]
    
    At this point, the tan_theta_i array contains NaNs due to cos_theta_i containing several zeros. The parent array cos_theta, used in MicrofacetDistribution::sample as an argument of MicrofacetDistribution::sample, doesn't contain any zeros (only very low values). As a result, interactions are invalid. The resulting renders pixels are black.

Sample: in scalar_mono, with the envmap source.

Screenshot 2020-03-12 at 17 36 00

Reported by @schunkes, I was able to reproduce it.

Steps to reproduce

  • Compile Mitsuba in debug mode
  • Run the tests in src/librender/tests/test_renders.py, e.g. (on my machine, selecting only one test)
    pytest src/librender/tests/test_renders.py
    

Using old and new versions of Mitsuba simultaneously

I want to render environment maps using the envmap sensor on the older version of Mitsuba (v1) since it is not supported in the new version, yet. However, I still want to use Mitsuba 2 for all its other cool features like differentiable rendering for other applications.

How can I install both versions separately and switch between them?
Thanks in advance for the help!

'ninja pytest' not working

As the document [link] says, I tried to run pytest through ninja to parallelize the test, but it didn't work.

Specifically, when I run the following command ninja pytest in both root and build directories, it says
ninja: error: loading 'build.ninja': No such file or directory in root directory and
ninja: error: unknown target 'pytest', did you mean 'tent'? in build directory.

Environments:
OS: Ubuntu 18.04
CMake: 3.15.4
Ninja: 1.8.2
Python: 3.7.4
pytest: 5.2.1

About execution of depth_integrator.py [Windows10]

Hello, sorry I have one more question.

What I am doing
I'm trying to run the sample code along the tutorial on this page.
https://mitsuba2.readthedocs.io/en/latest/src/python_interface/rendering_scene/#custom-rendering-pipeline-in-python
When I run docs/examples/02_depth_integrator/depth_integrator.py, the following error occurs.

2020-03-12 07:04:00 INFO  main  [xml.cpp:1117] Loading XML file "..\..\..\..\mitsuba-data\scenes\cbox\cbox.xml" ..
2020-03-12 07:04:00 INFO  main  [PluginManager] Loading plugin "plugins\regular.dll" ..
2020-03-12 07:04:00 INFO  main  [PluginManager] Loading plugin "plugins\srgb.dll" ..
2020-03-12 07:04:00 INFO  main  [PluginManager] Loading plugin "plugins\srgb_d65.dll" ..
2020-03-12 07:04:00 INFO  main  [PluginManager] Loading plugin "plugins\path.dll" ..
2020-03-12 07:04:00 INFO  tbb01 [PluginManager] Loading plugin "plugins\diffuse.dll" ..
2020-03-12 07:04:00 INFO  tbb02 [PluginManager] Loading plugin "plugins\independent.dll" ..
2020-03-12 07:04:00 INFO  tbb08 [PluginManager] Loading plugin "plugins\gaussian.dll" ..
2020-03-12 07:04:00 INFO  tbb10 [PluginManager] Loading plugin "plugins\obj.dll" ..
2020-03-12 07:04:00 INFO  tbb00 [PluginManager] Loading plugin "plugins\area.dll" ..
2020-03-12 07:04:00 INFO  tbb00 [PluginManager] Loading plugin "plugins\uniform.dll" ..
2020-03-12 07:04:00 INFO  tbb08 [PluginManager] Loading plugin "plugins\hdrfilm.dll" ..
2020-03-12 07:04:00 INFO  tbb02 [PluginManager] Loading plugin "plugins\perspective.dll" ..
2020-03-12 07:04:00 INFO  main  [ShapeKDTree] Building a SAH kd-tree (38 primitives) ..
2020-03-12 07:04:00 INFO  main  [ShapeKDTree] Finished. (1.53 KiB of storage, took 0ms)
Traceback (most recent call last):
  File "depth_integrator.py", line 34, in <module>
    if not sampler.ready():
AttributeError: 'mitsuba.render.Sampler' object has no attribute 'ready'

Sampler.ready cannot be found in the API reference.
https://mitsuba2.readthedocs.io/en/latest/generated/render_api/#sampler

So, when I commented out this part and executed it, the following new error occurred.

2020-03-12 07:07:38 INFO  main  [PluginManager] Loading plugin "plugins\regular.dll" ..
2020-03-12 07:07:38 INFO  main  [PluginManager] Loading plugin "plugins\srgb.dll" ..
2020-03-12 07:07:38 INFO  main  [PluginManager] Loading plugin "plugins\srgb_d65.dll" ..
2020-03-12 07:07:38 INFO  main  [PluginManager] Loading plugin "plugins\path.dll" ..
2020-03-12 07:07:38 INFO  tbb00 [PluginManager] Loading plugin "plugins\diffuse.dll" ..
2020-03-12 07:07:38 INFO  tbb00 [PluginManager] Loading plugin "plugins\area.dll" ..
2020-03-12 07:07:38 INFO  tbb04 [PluginManager] Loading plugin "plugins\independent.dll" ..
2020-03-12 07:07:38 INFO  tbb05 [PluginManager] Loading plugin "plugins\obj.dll" ..
2020-03-12 07:07:38 INFO  tbb01 [PluginManager] Loading plugin "plugins\gaussian.dll" ..
2020-03-12 07:07:38 INFO  tbb00 [PluginManager] Loading plugin "plugins\uniform.dll" ..
2020-03-12 07:07:38 INFO  tbb01 [PluginManager] Loading plugin "plugins\hdrfilm.dll" ..
2020-03-12 07:07:38 INFO  tbb04 [PluginManager] Loading plugin "plugins\perspective.dll" ..
2020-03-12 07:07:38 INFO  main  [ShapeKDTree] Building a SAH kd-tree (38 primitives) ..
2020-03-12 07:07:38 INFO  main  [ShapeKDTree] Finished. (1.53 KiB of storage, took 0ms)
Traceback (most recent call last):
  File "depth_integrator.py", line 70, in <module>
    block.put(position_sample, rays.wavelengths, Vector3f(result, result, result), 1)
NameError: name 'position_sample' is not defined

Indeed, the position_sample looks undefined.

Environment

  • Mitsuba2 (d30def8) Latest
  • Windows10 Pro
  • CUDA 10.1
  • OptiX 6.5
  • CMake 3,16.15
  • Visual Studio 2019 Pro (MSVC 1924)
  • Python 3.7.5

Thank you.

Issues when running differentiable rendering [Windows10]

Thank you for releasing the wonderful Mitsuba2.
Build was successful. (Thanks for issue #7)

What I am doing
I tried to perform a differentiable rendering, but got the following error:

PS D:\work\mitsuba2> .\setpath.bat
PS D:\work\mitsuba2> cd .\build\dist\
PS D:\work\mitsuba2\build\dist> .\mitsuba.exe .\cbox\cbox.xml -m gpu_autodiff_rgb
2020-03-11 04:11:33 INFO  main  [mitsuba.cpp:194] Mitsuba version 2.0.0 (master[c4c30b87], Windows, 64bit, 12 threads, 8-wide SIMD)
2020-03-11 04:11:33 INFO  main  [mitsuba.cpp:195] Copyright 2019, Realistic Graphics Lab, EPFL
2020-03-11 04:11:33 INFO  main  [mitsuba.cpp:196] Enabled processor features: cuda avx2 avx fma f16c sse4.2 x86_64
2020-03-11 04:11:33 INFO  main  [mitsuba.cpp:197] Using mode "gpu_autodiff_rgb"
2020-03-11 04:11:33 INFO  main  [xml.cpp:1117] Loading XML file ".\cbox\cbox.xml" ..
2020-03-11 04:11:33 INFO  main  [PluginManager] Loading plugin "plugins\regular.dll" ..
2020-03-11 04:11:33 INFO  main  [PluginManager] Loading plugin "plugins\srgb.dll" ..
2020-03-11 04:11:33 INFO  main  [PluginManager] Loading plugin "plugins\srgb_d65.dll" ..
2020-03-11 04:11:33 INFO  main  [PluginManager] Loading plugin "plugins\path.dll" ..
2020-03-11 04:11:33 INFO  main  [PluginManager] Loading plugin "plugins\independent.dll" ..
2020-03-11 04:11:33 INFO  main  [PluginManager] Loading plugin "plugins\gaussian.dll" ..
2020-03-11 04:11:33 INFO  main  [PluginManager] Loading plugin "plugins\hdrfilm.dll" ..
2020-03-11 04:11:33 INFO  main  [PluginManager] Loading plugin "plugins\perspective.dll" ..
2020-03-11 04:11:33 INFO  main  [PluginManager] Loading plugin "plugins\diffuse.dll" ..
2020-03-11 04:11:33 INFO  main  [PluginManager] Loading plugin "plugins\area.dll" ..
2020-03-11 04:11:33 INFO  main  [PluginManager] Loading plugin "plugins\uniform.dll" ..
2020-03-11 04:11:33 INFO  main  [PluginManager] Loading plugin "plugins\obj.dll" ..
rt_check(): OptiX API error = 1546 (Failed to load OptiX library) in D:\work\mitsuba2\src\librender\scene_optix.inl:36.

I have set the PATH to OptiX. However, the library cannot be found.
Other variants that do not use a GPU (such as "scalar_rgb_polarized") can render successfully.

Environment

  • Mitsuba2 (c4c30b8) Latest
  • Windows10 Pro
  • CUDA 10.1
  • OptiX 6.5
  • CMake 3,16.15
  • Visual Studio 2019 Pro (MSVC 1924)
  • Python 3.7.5

Again, thank you for releasing a truly revolutionary renderer.

Can I adjust width of SIMD used in mitsuba2?

I'd like to control a number of inputs of operations in packet mode(4, 8, or 16).

In my environment, I checked that it works with 8 input at once, and I want to reduce it as 4.

I wonder is it possible, and how can I achieve it.

Thanks.

Compilation fails with packet_* variants and the Embree backend

When using packet_* variants and the Embree backend, compilation fails due to the static assertion in file "scene_embree.inl", line 25, which simply checks if is_float_v<Float>. However, when using the packet_* variants, the Float type is a Packet<float>.

Installation instructions

Please make sure to include build-essentials in the apt install Ubuntu/Debian instructions. Some images, like the ubuntu:minimal do not have the package included by default and cmake -GNinja .. then fails.

BTW Thank you very much for publishing Mitsuba2, great job!

Differentiating w.r.t transformation parameters

This is slightly related to #26.

I have a problem where I want to differentiate w.r.t the orientation of a given object in the scene, i.e. it's translate, scale, and/or rotation values.

However, if I do traverse(scene), I am not able to see these are separate parameters (I guess they are baked into the __.vertex_positions and __.vertex_normals parameters. Is this something that can be easily done in Mitsuba2 with the introduction of the new plugin mentioned in #26?

This will be very useful for me as I need derivatives w.r.t actual values of these transformations (they are the parameters of interest in my model) and not just the vertex positions, normals, etc., for my application.

Any insights on this would be great! Thanks in advance!

Inconsistency between conductor and dielectric plugins

I noticed an inconsistency between the conductor-type (conductor, roughconductor) and dielectric-type (dielectric, thindielectric, roughdielectric) plugins and would like clarification.

For the dielectric-type plugins, a user is asked to specify the internal and external indices of refraction and their ratio is computed in the plugins' constructors. However, for the conductor-type plugins, a user is asked to specify only one set of eta and kappa values, which are not processed further before being used.

This implies one of two things for me: Either the conductor-type plugins assume an IOR of 1 for the external medium, or users must specify the ratio between the external and internal indices of refaction, when using these plugins.

Is this design intentional? If not, I would be happy to provide a pull request, aligning the conductor-type plugins with the interface of the dielectric-type plugins.

Thank you and take care!

Exposure variation between "packet_spectral" and "scalar_spectral" modes.

Hi,

I was comparing the packet_spectral and scalar_spectral modes with the mitsuba2/resources/data/scenes/matpreview/matpreview.xml scene and I noticed an almost exactly 1 stop exposure difference between the two modes:

image

Image with higher exposure is rendered with the scalar_spectral mode.

Cheers,

Thomas

Small bug in autodiff.py (I think)

First I want to congratulate you on the release of Mitsuba 2. I'm a researcher in 3D reconstruction and I think it will be an invaluable tool in the field.

I believe there is a small bug in "mitsuba2/src/python/python/autodiff.py" on line 402. You have the chunk of code:

for k, v in args.items():
                        if k == 'spp':
                            spp = v
                        elif k == 'sensor_index':
                            sensor_index = v
                        elif k == 'unbiased':
                            unbiased = v
                        elif k == 'malloc_trim':
                            malloc_trim = v
                        elif params is not None:
                            params[k] = type(params[k])(v)
                            ctx.inputs.append(None)
                            ctx.inputs.append(params[k] if v.requires_grad
                                              else None)
                        ctx.inputs.append(None) <-- these should only be executed if the last elif is not executed.
                        ctx.inputs.append(None)

I think this needs to be changed to something like:

 for k, v in args.items():
                        if k == 'spp':
                            spp = v
                            ctx.inputs.append(None)
                            ctx.inputs.append(None)
                        elif k == 'sensor_index':
                            sensor_index = v
                            ctx.inputs.append(None)
                            ctx.inputs.append(None)
                        elif k == 'unbiased':
                            unbiased = v
                            ctx.inputs.append(None)
                            ctx.inputs.append(None)
                        elif k == 'malloc_trim':
                            malloc_trim = v
                            ctx.inputs.append(None)
                            ctx.inputs.append(None)
                        elif params is not None:
                            params[k] = type(params[k])(v)
                            ctx.inputs.append(None)
                            ctx.inputs.append(params[k] if v.requires_grad
                                              else None)

Otherwise you get an error "function RenderBackward returned an incorrect number of gradients" when you keep more than one differentiable parameter in your scene.

Sorry the white space didn't format well. Hopefully you see what I mean. I marked it with a <--

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.