Mitsuba 2: A Retargetable Forward and Inverse Renderer

Overview

Mitsuba logo

Mitsuba Renderer 2

Documentation
docs

Mitsuba 2 is a research-oriented rendering system written in portable C++17. It consists of a small set of core libraries and a wide variety of plugins that implement functionality ranging from materials and light sources to complete rendering algorithms. Mitsuba 2 strives to retain scene compatibility with its predecessor Mitsuba 0.6. However, in most other respects, it is a completely new system following a different set of goals.

The most significant change of Mitsuba 2 is that it is a retargetable renderer: this means that the underlying implementations and data structures are specified in a generic fashion that can be transformed to accomplish a number of different tasks. For example:

  1. In the simplest case, Mitsuba 2 is an ordinary CPU-based RGB renderer that processes one ray at a time similar to its predecessor Mitsuba 0.6.

  2. Alternatively, Mitsuba 2 can be transformed into a differentiable renderer that runs on NVIDIA RTX GPUs. A differentiable rendering algorithm is able to compute derivatives of the entire simulation with respect to input parameters such as camera pose, geometry, BSDFs, textures, and volumes. In conjunction with gradient-based optimization, this opens door to challenging inverse problems including computational material design and scene reconstruction.

  3. Another type of transformation turns Mitsuba 2 into a vectorized CPU renderer that leverages Single Instruction/Multiple Data (SIMD) instruction sets such as AVX512 on modern CPUs to efficiently sample many light paths in parallel.

  4. Yet another type of transformation rewrites physical aspects of the simulation: Mitsuba can be used as a monochromatic renderer, RGB-based renderer, or spectral renderer. Each variant can optionally account for the effects of polarization if desired.

In addition to the above transformations, there are several other noteworthy changes:

  1. Mitsuba 2 provides very fine-grained Python bindings to essentially every function using pybind11. This makes it possible to import the renderer into a Jupyter notebook and develop new algorithms interactively while visualizing their behavior using plots.

  2. The renderer includes a large automated test suite written in Python, and its development relies on several continuous integration servers that compile and test new commits on different operating systems using various compilation settings (e.g. debug/release builds, single/double precision, etc). Manually checking that external contributions don't break existing functionality had become a severe bottleneck in the previous Mitsuba 0.6 codebase, hence the goal of this infrastructure is to avoid such manual checks and streamline interactions with the community (Pull Requests, etc.) in the future.

  3. An all-new cross-platform user interface is currently being developed using the NanoGUI library. Note that this is not yet complete.

Compiling and using Mitsuba 2

Please see the documentation for details on how to compile, use, and extend Mitsuba 2.

About

This project was created by Wenzel Jakob. Significant features and/or improvements to the code were contributed by Merlin Nimier-David, Guillaume Loubet, Benoît Ruiz, Sébastien Speierer, Delio Vicini, and Tizian Zeltner.

Comments
  • Cannot import Python module on Windows

    Cannot import Python module on Windows

    question/bug

    Summary

    When calling import mitsuba in Python, I get the good old "The specified module could not be found" error, yet according to dependencies all dll paths are resolved correctly.

    System configuration

    I've built the current master successfuly on Windows 10, using CUDA 10.2 and Python 3.8.3, default variants plus gpu_autodiff_rgb. Build in Release mode with MSVC16 (Visual Studio 2019). The mitsuba.exe binary in build/dist runs correctly. The only unexpected thing is tha INSTALL target that did not copy the content of build/dist.

    Steps to reproduce

    Here is a self-contained attempt to load the mitsuba module with correct PATH:

    import sys
    sys.path.append(r"C:\src\mitsuba2\build-msvc16\dist\python")
    import os
    os.environ['PATH'] += r";C:\src\mitsuba2\build-msvc16\dist"
    os.environ['PATH'] += r";C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin"
    import mitsuba
    

    which gives this output:

    [...] (Traceback)
    ImportError: DLL load failed while importing core_ext: The specified module could not be found.
    [...] (Traceback)
    ImportError: The 'mitsuba' native modules could not be imported. You're likely trying to use Mitsuba within a Python binary (e:\python38\python.exe) that is different from the one for which the native module was compiled (E:\Python38\python.exe).
    

    (so, yes, I am using the very same Python exe for building and for running)

    Is the core_ext pyd module doing anything fancy with DLLs that could be the cause of such an error besides usual missing path entries? (Once again, I checked using Dependencies, with cuda bin and dist in the PATH nothing seem to miss).

    opened by eliemichel 44
  • `packet_spectral` build error on Windows 10

    `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
    
    opened by Smilebags 29
  • OpenEXR dwaLookups gets Segmentation fault: 11 [OSX Catalina - 10.15]

    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.

    opened by guy4261 23
  •  [✨ feature request]Does the differentiable rendering module support `roughconductor`?

    [✨ feature request]Does the differentiable rendering module support `roughconductor`?

    My question is that does the differentiable rendering module support roughconductor? If it does, could you provide an example? Looking forward to your reply!

    opened by HsiangYangChu 22
  • Add xml.load_dict() to load objects from py::dict

    Add xml.load_dict() to load objects from py::dict

    Added functionality

    • Access to plugin manager instance
    • example showing how to create a scene in python

    Limitation

    Only supports mitsuba tags which are python constructible(primitive types, shape, integrator, emitter, scene). The limiting factor is the requirement of base class ptr in the call to create_object. Due to this limitation, there is a lot of unnecessary code during python scene creation.

    ✨ new feature 
    opened by arpit15 22
  • Compilation issues [scalar_spectral, gpu_autodiff_spectral, CUDA 10.2, Winows 10]

    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!

    opened by LeonidMill 22
  • [❔ other question] Type mistmatch for new integrator plugin

    [❔ other question] Type mistmatch for new integrator plugin

    Summary

    I created my own integrator plugin in C++ extending the capabilities of the simple path-integrator. Even though the compilation of the repository is successfull, I cannot load the plugin due to a type mismatch.

    System configuration

    • Platform: Ubuntu 20.04 in Windows WSL2
    • Compiler: Clang
    • Python version: 3.8.5
    • Mitsuba 2 version: Own forked repo with extension (https://github.com/MaximilianBader/mitsuba2)
    • Compiled variants:
      • "scalar_rgb",
      • "scalar_spectral",
      • "scalar_mono",
      • "packet_mono"

    Description

    My own integrator plugin is called path_length_origin which is defined as class variant of MonteCarloIntegrator and then exported as it's own plugin. With this definition, I can compile the repository without any issues.

    MTS_IMPLEMENT_CLASS_VARIANT(PathLengthOriginIntegrator, MonteCarloIntegrator) MTS_EXPORT_PLUGIN(PathLengthOriginIntegrator, "Path Tracer integrator including path length and last point of interaction");

    However, if I then create a basic rendering file in Python and try to load a scene which includes the new type as integrator, I encounter an exception:

    Exception has occurred: RuntimeError ​[xml.cpp:1044] Error while loading "mitsuba_scenes/example_us_scene_2.xml" (near line 3, col 6): could not instantiate integrator plugin of type "path_length_origin": [xml.cpp:1044] [PluginManager] Type mismatch when loading plugin "path_length_origin": Expected an instance of type "Integrator" (variant "scalar_mono"), got an instance of type "MonteCarloIntegrator" (variant "scalar_mono")

    I assume, I mixed up a type definition somewhere, but as I basically copied the implementation of the standard path integrator, I do not fully understand what the type error is triggered by. Do you have any recommendations for me?

    Steps to reproduce

    Using the compiled master-branch of my fork repository of your mitsuba2 renderer, try to load the following scene

    example_us_scene_2.xml

    <scene version="2.0.0">
    	<!-- Define basic path tracer modeling maximum of 7 scattering events -->
        <integrator type="path_length_origin">
    	    <integer name="max_depth" value="3"/>
        </integrator>
    
        <!-- Define emitter-->
        <emitter type="point">
    		<spectrum name="intensity" value="1"/>
    		<point name="position" x="-0.01" y="0" z="-0.04"/>
    	</emitter>
        <!--emitter type="point">
    		<spectrum name="intensity" value="1"/>
    		<point name="position" x="0.01" y="0" z="-0.04"/>
    	</emitter -->
    	
    
    	<!-- Define sensor type at same position as emitter which detects the incoming irradiance-->
    	<shape type="rectangle">
    		<!-- Transform sensor type to correct direction -->
    		<transform name="to_world">
    			<scale x="0.00001" y="0.00001" />
    			<translate x="0" y="0" z="-0.04" />
    			<!-- rotate y="1" angle="-180" /-->
    		</transform>
    		
    		<sensor type="irradiancemeterdirectional">
    			<float name="x_max_bound" value="0.02"/>
                <float name="y_max_bound" value="0.005"/>
                <float name="z_max_bound" value="0.02"/>
    			<!-- Write to a portable float map containing all luminance values -->
    			<film type="hdrfilm">
    				<integer name="width" value="1"/>
    				<integer name="height" value="1"/>
    				<string name="pixel_format" value="luminance"/>
    				<string name="file_format" value="pfm" />
    			</film>
    			<!-- Define easiest sampler of sensor for ray tracing-->
    			<sampler type="independent">
                    <integer name = "sample_count" value = "10000"/>
                </sampler>
    		</sensor>
    	</shape>
    
    	<!-- Add simple scattering disk in origin flipped towards emitter and detector -->
    	<shape type="disk">
    		<transform name="to_world">
    			<scale x="0.001" y="0.001" />
    			<translate x="0" y="0" z="0" />
    		</transform>
            <boolean name="flip_normals" value="true"/>
    		<bsdf type="roughdielectric">
    			<float name="int_ior" value="1.5"/>
    			<float name="ext_ior" value="1"/>
    		</bsdf>
    	</shape>
    </scene>
    
    opened by MaximilianBader 21
  • Building issues [no CUDA toolset found]

    Building issues [no CUDA toolset found]

    I have building issues with the following system settings:

    Windows 10 Visual Studio 2019 (Community Edition) Version 16.5.4 cmake 3.17.1 python 3.7 CUDA 10.1

    Even though CUDA is installed, but cmake is not able to locate it. The VCTargets is not created in the VC folder: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/Common7/IDE/VC/

    Ankit@DESKTOP-KVF0V7L MINGW64 ~/localgitrepository/mitsuba2 (master)
    $ cmake -G "Visual Studio 16 2019" -A x64
    CMake Warning:
      No source or binary directory provided.  Both will be assumed to be the
      same as the current working directory, but note that this warning will
      become a fatal error in future CMake releases.
    
    
    -- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.18363.
    -- The C compiler identification is MSVC 19.25.28614.0
    -- The CXX compiler identification is MSVC 19.25.28614.0
    -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.25.28610/bin/Hostx64/x64/cl.exe
    -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.25.28610/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.25.28610/bin/Hostx64/x64/cl.exe
    -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.25.28610/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:/Program Files (x86)/Microsoft Visual Studio/Shared/Python37_64/python.exe (found version "3.7.5")
    -- Found PythonLibs: C:/Program Files (x86)/Microsoft Visual Studio/Shared/Python37_64/libs/Python37.lib
    -- Building the following variants of Mitsuba:
    --  * scalar_rgb
    --  * scalar_spectral
    --  * gpu_rgb
    --  * gpu_autodiff_rgb
    -- Mitsuba: building the Python plugin.
    CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:367 (message):
      No CUDA toolset found.
    Call Stack (most recent call first):
      C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:32 (CMAKE_DETERMINE_COMPILER_ID_BUILD)
      C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCUDACompiler.cmake:72 (CMAKE_DETERMINE_COMPILER_ID)
      ext/enoki/CMakeLists.txt:20 (enable_language)
    
    -- Configuring incomplete, errors occurred!
    See also "C:/Users/Ankit/localgitrepository/mitsuba2/CMakeFiles/CMakeOutput.log".
    
    

    Do you have an idea? Thanks!

    opened by ph57fe 21
  • [🐛 bug report] Unable to run differentiable rendering example with spectral mode

    [🐛 bug report] Unable to run differentiable rendering example with spectral mode

    Hello, I am trying to run the cbox example given in the docs, and changed the mitsuba2 variant to spectral as I want to work with this variant. Neither my own, nor the cbox example are running in this variant and I get the following error when trying to run both:

    cuda_check(): driver API error = 0700 "CUDA_ERROR_ILLEGAL_ADDRESS" in D:/BAC/mitsuba2/ext/enoki/src/cuda/jit.cu:1319.

    I am kinda stuck to as where the error might come from, as the underlying code does not give me enough information.

    opened by vucenovic 20
  • Installation instructions

    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!

    opened by isolin 18
  • [❔ other question] Caustic design issues

    [❔ other question] Caustic design issues

    Hi,

    I'm attempting to create a caustic optimization loop as in the tutorial, with the key difference that my lens surface is defined by parameters that are generated by a neural network. The implementation of the network and the construction of the surface mesh are in PyTorch. At the moment I have some difficulties with setting up the scene:

    • Is there a way to create the directional area light from the tutorial with the current Mitsuba 2 version?
    • Is there a way to introduce the lens surface mesh from PyTorch directly into the scene? Now I create a mitsuba.render.Mesh object which writes the object to a ply file, and then load it from disk together with a scene description using mitsuba.core.xml.load_dict. I want my whole pipeline to be differentiable for optimization.
    • I would also like to use ptracer as an integrator as in the tutorial, any idea when that will be available for Mitsuba 2?

    System information:

    • Windows 11
    • mitsuba variant: gpu_autodiff_mono

    Thanks in advance!

    opened by SouthEndMusic 16
  • [✨ feature request] Does the mitsuba2 support bsdf for cloth model?

    [✨ feature request] Does the mitsuba2 support bsdf for cloth model?

    I notice that in Mitsuba 0.5.0 there is an implementation of irawan's bsdf for cloth. Is it possible to implement it in Mitsuba2 or is there any difficulty to do that? Looking forward to your reply!

    opened by Theo-Wu 0
  • Caught a critical exception: main [properties.cpp:401] └1∩Æ∞☺

    Caught a critical exception: main [properties.cpp:401] └1∩Æ∞☺

    Dear community,

    I captured a fisheye image as environment map. I construct a virtual hemisphere (.obj) with the attached image. The idea is to use image as illumination source and the emitter can light the scene with image context, but now it gave me: 2022-12-26 21:57:35 INFO main [PluginManager] Loading plugin "plugins\area.dll" .. Caught a critical exception: main [properties.cpp:401] └1∩Æ∞☺

    Does anyone know how to solve this?

    Thanks!

    0 hemisphere - Copy hemisphere 1

    opened by Gzhji 0
  • [✨ feature request] Tutorial on differential rendering material acquisition

    [✨ feature request] Tutorial on differential rendering material acquisition

    Summary

    Hello I would like to see if it's possible to do material acquisition (albedo, diffuse or basecolor, roughness, normals,..) on planar textures or objects based on a real photo sequence. Object model would typically come from a photogrammetry software with uv.

    Thank you for your work.

    opened by materialjan 1
  • Editing scene object structure - [❔ other question]

    Editing scene object structure - [❔ other question]

    I'm trying to write a USD Hydra delegate for Mitsuba. In order to do so I need to be able to change the scene structure, e.g. to assign a new BSDF to a Shape. This doesn't appear to be possible with the current API - one can change the value of many parameters using the TraversalCallback API but not assign new Objects.

    Would it be possible to modify Mitsuba to do this? Or is the current architecture fundamentally antithetical to changing the structure of the scene graph after the scene is first created?

    opened by anderslanglands 2
  • Is win32 build possible ?

    Is win32 build possible ?

    I am trying to build mitsuba2 for windows 7 following these instructions:

    https://mitsuba2.readthedocs.io/en/latest/src/getting_started/compiling.html

    To be safe, explicitly ask for the 64 bit version of Visual Studio

    cmake -G "Visual Studio 16 2019" -A x64

    Is it possible to build mitsuba2 for win32 as well ? I would like to try and use it in a game called OpenXcom which seems to be win32 only for the moment.

    opened by SkybuckFlying 1
  • Krisrst/advanced lenses

    Krisrst/advanced lenses

    This PR is a work-in-progress. As of right now this is not ready for "detailed reviewing" - although general feedback is very much appreciated. There are unimplemented methods, logging of rays to csv files, some very hacky solutions, and files that should not go into mitsuba2 master, that I have used "just to prove that this can be done" - this will be fixed as I go. However, at the current stage the development suffices for a basic demonstration.

    The goal of this PR is to realize more complex lens simulations that go beyond the basic "thinlens" and "pinhole" camera models. This can be used to evaluate or even optimize lens designs, for example in terms of distortion. This PR introduces three new components to Mitsuba2:

    1. A new type of sensor, called "cmos". The cmos sensor will have rays originate at the surface of the sensor array (focus_p) rather than on the aperture of the lens (aperture_p). It is designed to be able to shoot rays directly into a system of lens surfaces. If there is no optical system the cmos sensor will just produce a "white" image (light no longer gets focused at the die).
    2. A new shape asph_surf. This is an aspheric surface[1] model. It can model hyperbolic, parabolic, spherical and elliptic lenses. The paper also extends the model with a power series which is currently not implemented (but the plan is that it will). The aspheric surface is not a volume; but just a surface that rays can pass through.
    3. A new shape cylhollow. It is a hollow cylinder and quite simple compared to the aspheric lens surface. It is used to encapsulate the lens housing.

    [1] Schuhmann, Rainer. "Description of aspheric surfaces." Advanced Optical Technologies 8.3-4 (2019): 267-278.

    These components can be used to setup a simple biconvex lens:

    image

    The following figure shows a subsampled collection of points where the shapes detect origin rays and intersections through the lens housing:

    image

    We can experiment with the lens parameters to verify that it behaves "physically". For example, in this figure, we regulate the radius of the circle that the "startlens" shoots rays into. This effectively varies the aperture of the sensor, which is normally done with some physical obstruction between the lens and the sensor (but we can fake that like this):

    image

    We see that the lens focuses well with an aperture between 0.5 and 2.5.

    In the following figure, we vary the focal length of the system; i.e. the distance between the lens and the sensor:

    image

    Where we can see that "optimal" focus is at approximately 47 mm from the first lens. Outside of this region, the image blurs because the rays no longer hit the focal point of the lens system.

    A single high resolution image of the rendered scene: image

    **Compiling / Testing **

    Mitsuba.conf

        "enabled": [
            # The "scalar_rgb" variant *must* be included at the moment.
            "scalar_rgb",
            "scalar_spectral",
            "packet_rgb",
            "packet_spectral",
            "gpu_rgb",
            "gpu_spectral"
        ],
    

    The "main test script" is located in a temporary folder "temp/test.xml". It reuses parts from the cbox-rgb.xml script. To run the demo:

    /build/dist/mitsuba -D flen=47.0 -D fov=4 -D aperture=12.5 -D res=256 -D spp=128 -D max_depth=12 -m scalar_rgb -o test temp/test.xml -t 16 2> /dev/null

    At the time of writing I use the stderr file descriptor to subsample ray points etc. Any suggestions on alternative ways to "debug rays" is very welcome.

    ToDo List

    • GPU support
    • Color filter array for CMOS sensor?
    • Implement missing methods
    • Fix bounding box calculation
    • Fix surface area calculation
    • Generic cleanup code
    • Extend aspheric surface with power series

    Please add the labels (e.g. bug, feature, ..) corresponding to this PR

    Description

    Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.

    Fixes # (issue)

    Testing

    Please describe the tests that you added to verify your changes.

    Checklist:

    Please make sure to complete this checklist before requesting a review.

    • [ ] My code follows the style guidelines of this project
    • [ ] My changes generate no new warnings
    • [ ] My code also compiles for gpu_* and packet_* variants. If you can't test this, please leave below
    • [ ] I have commented my code
    • [ ] I have made corresponding changes to the documentation
    • [ ] I have added tests that prove my fix is effective or that my feature works
    • [ ] I cleaned the commit history and removed any "Merge" commits
    • [ ] I give permission that the Mitsuba 2 project may redistribute my contributions under the terms of its license
    opened by krisrst 1
Releases(v2.2.1)
  • v2.2.1(Jul 27, 2020)

  • v2.2.0(Jul 22, 2020)

    July 22, 2020

    • Instancing support via shapegroup and instance plugins (#170)
    • Various sampler plugins: stratified, multijitter, orthogonal, ldsampler (#187)
    • bumpmap BSDF plugin (#201)
    • normalmap BSDF plugin
    • Raytracing API improvements (#209)
    • Differentiable surface interaction (#209)
    • Add <path> XML tag (#165)
    • BlenderMesh shape plugin
    • Projector emitter plugin
    • Add support for textured area light sampling
    • Add Mesh::eval_parameterization to parameterize the mesh using UV values
    • Various bug fixes and other improvements
    Source code(tar.gz)
    Source code(zip)
  • v2.1.0(May 19, 2020)

    May 19, 2020

    • Switch to OptiX 7 for GPU ray tracing backend (#88)
    • Mesh memory layout redesign (#88)
    • Mesh attribute support (#88)
    • Custom shape support for OptiX raytracing backend (#135)
    • xml.dict_to_xml() for writing XML scene file from Python (#131)
    Source code(tar.gz)
    Source code(zip)
  • v2.0.1(May 19, 2020)

    May 18, 2020

    • xml.load_dict() for Mitsuba scene/object construction in Python (#122)
    • Scene traversal mechanism enhancement (#108)
    • Support premultiplied alpha correctly (#104)
    • Spot light plugin (#100)
    • Add Blender mesh constructor (40db7be)
    • Irradiancemeter sensor plugin (b19985b)
    • Radiancemeter sensor plugin (#83)
    • Distant emitter plugin (#60)
    • Custom shape support for Embree raytracing backend (2c1b63f)
    • Add ability to specify Python default variant (4472b55)
    • Add pytest -m "not slow" option (4597466)
    • Moment integrator and Z-tests (74b2bf6)
    • Spatially-varying alpha for roughconductor and roughdielectric (cac8741)
    • Various bug fixes and other improvements
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0(May 19, 2020)

Owner
Mitsuba Physically Based Renderer
A Retargetable Forward and Inverse Renderer
Mitsuba Physically Based Renderer
Implementation for Paper "Inverting Generative Adversarial Renderer for Face Reconstruction"

StyleGAR TODO: add arxiv link Implementation of Inverting Generative Adversarial Renderer for Face Reconstruction TODO: for test Currently, some model

null 155 Oct 27, 2022
A crossplatform menu bar application using mpv as DLNA Media Renderer.

Macast Chinese README A menu bar application using mpv as DLNA Media Renderer. Install MacOS || Windows || Debian Download link: Macast release latest

null 4.4k Jan 1, 2023
A PyTorch port of the Neural 3D Mesh Renderer

Neural 3D Mesh Renderer (CVPR 2018) This repo contains a PyTorch implementation of the paper Neural 3D Mesh Renderer by Hiroharu Kato, Yoshitaka Ushik

Daniilidis Group University of Pennsylvania 1k Jan 9, 2023
A PaddlePaddle version of Neural Renderer, refer to its PyTorch version

Neural 3D Mesh Renderer in PadddlePaddle A PaddlePaddle version of Neural Renderer, refer to its PyTorch version Install Run: pip install neural-rende

AgentMaker 13 Jul 12, 2022
Simple renderer for use with MuJoCo (>=2.1.2) Python Bindings.

Viewer for MuJoCo in Python Interactive renderer to use with the official Python bindings for MuJoCo. Starting with version 2.1.2, MuJoCo comes with n

Rohan P. Singh 62 Dec 30, 2022
Implements Stacked-RNN in numpy and torch with manual forward and backward functions

Recurrent Neural Networks Implements simple recurrent network and a stacked recurrent network in numpy and torch respectively. Both flavours implement

Vishal R 1 Nov 16, 2021
Code, Data and Demo for Paper: Controllable Generation from Pre-trained Language Models via Inverse Prompting

InversePrompting Paper: Controllable Generation from Pre-trained Language Models via Inverse Prompting Code: The code is provided in the "chinese_ip"

THUDM 101 Dec 16, 2022
Code for PhySG: Inverse Rendering with Spherical Gaussians for Physics-based Relighting and Material Editing

PhySG: Inverse Rendering with Spherical Gaussians for Physics-based Relighting and Material Editing CVPR 2021. Project page: https://kai-46.github.io/

Kai Zhang 141 Dec 14, 2022
An Inverse Kinematics library aiming performance and modularity

IKPy Demo Live demos of what IKPy can do (click on the image below to see the video): Also, a presentation of IKPy: Presentation. Features With IKPy,

Pierre Manceron 481 Jan 2, 2023
Custom TensorFlow2 implementations of forward and backward computation of soft-DTW algorithm in batch mode.

Batch Soft-DTW(Dynamic Time Warping) in TensorFlow2 including forward and backward computation Custom TensorFlow2 implementations of forward and backw

null 19 Aug 30, 2022
Pytorch implementation of "Forward Thinking: Building and Training Neural Networks One Layer at a Time"

forward-thinking-pytorch Pytorch implementation of Forward Thinking: Building and Training Neural Networks One Layer at a Time Requirements Python 2.7

Kim Heecheol 65 Oct 6, 2022
FFCV: Fast Forward Computer Vision (and other ML workloads!)

Fast Forward Computer Vision: train models at a fraction of the cost with accele

FFCV 2.3k Jan 3, 2023
Official implementation of "Learning Forward Dynamics Model and Informed Trajectory Sampler for Safe Quadruped Navigation" (RSS 2022)

Intro Official implementation of "Learning Forward Dynamics Model and Informed Trajectory Sampler for Safe Quadruped Navigation" Robotics:Science and

Yunho Kim 21 Dec 7, 2022
Code for the paper "JANUS: Parallel Tempered Genetic Algorithm Guided by Deep Neural Networks for Inverse Molecular Design"

JANUS: Parallel Tempered Genetic Algorithm Guided by Deep Neural Networks for Inverse Molecular Design This repository contains code for the paper: JA

Aspuru-Guzik group repo 55 Nov 29, 2022
The official implementation of the research paper "DAG Amendment for Inverse Control of Parametric Shapes"

DAG Amendment for Inverse Control of Parametric Shapes This repository is the official Blender implementation of the paper "DAG Amendment for Inverse

Elie Michel 157 Dec 26, 2022
SNIPS: Solving Noisy Inverse Problems Stochastically

SNIPS: Solving Noisy Inverse Problems Stochastically This repo contains the official implementation for the paper SNIPS: Solving Noisy Inverse Problem

Bahjat Kawar 35 Nov 9, 2022
Predicting path with preference based on user demonstration using Maximum Entropy Deep Inverse Reinforcement Learning in a continuous environment

Preference-Planning-Deep-IRL Introduction Check my portfolio post Dependencies Gym stable-baselines3 PyTorch Usage Take Demonstration python3 record.

Tianyu Li 9 Oct 26, 2022
Python inverse kinematics for your robot model based on Pinocchio.

Python inverse kinematics for your robot model based on Pinocchio.

Stéphane Caron 50 Dec 22, 2022
Implementation of the GVP-Transformer, which was used in the paper "Learning inverse folding from millions of predicted structures" for de novo protein design alongside Alphafold2

GVP Transformer (wip) Implementation of the GVP-Transformer, which was used in the paper Learning inverse folding from millions of predicted structure

Phil Wang 19 May 6, 2022