Source code for pbrt, the renderer described in the third edition of "Physically Based Rendering: From Theory To Implementation", by Matt Pharr, Wenzel Jakob, and Greg Humphreys.

Related tags

Graphics pbrt-v3
Overview

pbrt, Version 3

Build Status Build status

This repository holds the source code to the version of pbrt that is described in the third edition of Physically Based Rendering: From Theory to Implementation, by Matt Pharr, Wenzel Jakob, and Greg Humphreys. As before, the code is available under the BSD license.

The pbrt website has general information about both the Physically Based Rendering book as well as many other resources for pbrt. As of October 2018, the full text of the book is now available online, for free.

Example scenes

Over 8GB of example scenes are available for download. (Many are new and weren't available with previous versions of pbrt.) See the pbrt-v3 scenes page on the pbrt website for information about how to download them.

After downloading them, see the README.md.html file in the scene distribution for more information about the scenes and preview images.

Additional resources

  • There is a pbrt Google Groups mailing list that can be a helpful resource.
  • Please see the User's Guide for more information about how to check out and build the system as well as various additional information about working with pbrt.
  • Should you find a bug in pbrt, please report it in the bug tracker.
  • Please report any errors you find in the Physically Based Rendering book to [email protected].

Note: we tend to let bug reports and book errata emails pile up for a few months for processing them in batches. Don't think we don't appreciate them. :-)

Building pbrt

To check out pbrt together with all dependencies, be sure to use the --recursive flag when cloning the repository, i.e.

$ git clone --recursive https://github.com/mmp/pbrt-v3/

If you accidentally already cloned pbrt without this flag (or to update an pbrt source tree after a new submodule has been added, run the following command to also fetch the dependencies:

$ git submodule update --init --recursive

pbrt uses cmake for its build system. On Linux and OS X, cmake is available via most package management systems. To get cmake for Windows, or to build it from source, see the cmake downloads page. Once you have cmake, the next step depends on your operating system.

Makefile builds (Linux, other Unixes, and Mac)

Create a new directory for the build, change to that directory, and run cmake [path to pbrt-v3]. A Makefile will be created in the current directory. Next, run make to build pbrt, the obj2pbrt and imgtool utilities, and an executable that runs pbrt's unit tests. Depending on the number of cores in your system, you will probably want to supply make with the -j parameter to specify the number of compilation jobs to run in parallel (e.g. make -j8).

By default, the makefiles that are created that will compile an optimized release build of pbrt. These builds give the highest performance when rendering, but many runtime checks are disabled in these builds and optimized builds are generally difficult to trace in a debugger.

To build a debug version of pbrt, set the CMAKE_BUILD_TYPE flag to Debug when you run cmake to create build files to make a debug build. To do so, provide cmake with the argument -DCMAKE_BUILD_TYPE=Debug and build pbrt using the resulting makefiles. (You may want to keep two build directories, one for release builds and one for debug builds, so that you don't need to switch back and forth.)

Debug versions of the system run much more slowly than release builds. Therefore, in order to avoid surprisingly slow renders when debugging support isn't desired, debug versions of pbrt print a banner message indicating that they were built for debugging at startup time.

Xcode

To make an Xcode project on OS X, run cmake -G Xcode [path to pbrt-v3]. A PBRT-V3.xcodeproj project file that can be opened in Xcode. Note that the default build settings have an optimization level of "None"; you'll almost certainly want to choose "Faster" or "Fastest".

MSVC on Windows

On Windows, first point the cmake GUI at the directory with pbrt's source code. Create a separate directory to hold the result of the build (potentially just a directory named "build" inside the pbrt-v3 directory) and set that for "Where to build the binaries" in the GUI.

Next, click "Configure". Note that you will want to choose the "Win64" generator for your MSVC installation unless you have a clear reason to need a 32-bit build of pbrt. Once cmake has finished the configuration step, click "Generate"; when that's done, there will be a "PBRT-V3.sln" file in the build directory you specified. Open that up in MSVC and you're ready to go.

Build Configurations

There are two configuration settings that must be set when configuring the build. The first controls whether pbrt uses 32-bit or 64-bit values for floating-point computation, and the second controls whether tristimulus RGB values or sampled spectral values are used for rendering. (Both of these aren't amenable to being chosen at runtime, but must be determined at compile time for efficiency). The cmake configuration variables PBRT_FLOAT_AS_DOUBLE and PBRT_SAMPLED_SPECTRUM configure them, respectively.

If you're using a GUI version of cmake, those settings should be available in the list of configuration variables; set them as desired before choosing 'Generate'.

With command-line cmake, their values can be specified when you cmake via -DPBRT_FLOAT_AS_DOUBLE=1, for example.

Comments
  • A few questions about the PBD implementation

    A few questions about the PBD implementation

    Hey,

    I've been reading through the implementation of Photon Beam Diffusion (which is a really nice upgrade over the dipole in pbrt-v2 by the way), while comparing it to the paper and the Matlab reference implementation. I still have some questions about the code and I think I've found a few mistakes.

    1. Is the normalization constant 1 / (4 * C_phi) missing in the BSSRDF? It seems that it was replaced by sigma_t which I can not find in the paper.
    2. Are the 1 / pi term and the two F_t terms in the BSSRDF computed using the BSDF? You seem to both add a LambertianReflection (for the 1 / pi term, I guess) and a SpecularTransmission (for the F_t term), but when evaluating the BSDF this results in (1 / Pi + F_t) instead of 1 / Pi * F_t.
    3. Why is the BSSRDF profile multiplied with 2 * Pi * r in ComputeBeamDiffusionBSSRDF? Is this needed for the Catmull-Rom interpolation?
    4. Where is the second F_t term in the single scattering integrand? The reference Matlab implementation also seems to lack one of the F_t terms, but it seems to be the other one.
    5. Shouldn't cosThetaS (in the single scattering integrand) always be equal to 1? The paper states that theta_i = arccos(-w dot n), so cos(theta_i) = -w dot n. w is the direction of the light beam, which is orthogonal to the surface (and in the opposite direction of the surface normal), so w = -n, so -w dot n = -(-1) = 1.
    6. You only seem to consider two intersections when sampling the BSSRDF, but there could be multiple intersections with the surface. It currently is possible that a point sampled using one axis cannot be sampled using a different axis (because it finds a different intersection first), but the PDF seems to assume that the same point is found using all axes. I think you should find all intersections and then randomly pick one, sadly this also requires you to find the intersections for the other axes in order to calculate the PDF.

    Cheers, Tom

    opened by tomvbussel 29
  • MSVC 2013 Express build fails

    MSVC 2013 Express build fails

    Windows 7 64 bit, MSVC 2013 Express Edition, debug win32 build

    Fails with numerous errors including:

    1. DWORD is not defined
    2. attempting to include unistd.h in the parser which can't be found
    3. constexpr is not defined
    4. problem with min & max definition in the stdlib. Need to include <stdlib.h> and first thing in pbrt.h

    I gave up at this point

    opened by barryfx 14
  • Houdini-exported volumes are invisible

    Houdini-exported volumes are invisible

    I'm working on a Houdini exporter to write volumes out for pbrt. When I render them, I don't see the volume in the rendered image, though the length of the render does seem to indicate it should be.

    sanity_volume

    Here are the render statistics:

    Statistics:
      BVH
        Interior nodes                                                      5
        Leaf nodes                                                          6
        Primitives per leaf node                            12 /            6 (2.00x)
      Integrator
        Camera rays traced                                          943718400
        Surface interactions                                       2831155200
        Path length                                                     0.000 avg [range 0.000000 - 0.000000]
      Intersections
        Regular ray intersection tests                             2831155200
        Ray-triangle intersection tests             1887436804 /   3774873716 (50.00%%)
      Memory
        BVH tree                                                         0.00 MiB
        Texture MIP maps                                               128.00 MiB
        Triangle meshes                                                  0.00 MiB
      Scene
        Shapes created                                                     12
        Triangles per triangle mesh                         12 /            1 (12.00x)
      Texture
        Texture map trilerp lookups                                 952107008
      Time
        BVH construction                                                0.000 s
        MIP map creation                                                0.089 s
        Rendering                                                     104.432 s
      Profile
        Integrator::Render()                                            99.28 %
          Camera::GenerateRay[Differential]()                            6.77 %
          Sampler::StartPixelSample()                                    6.59 %
          SamplerIntegrator::Li()                                       77.65 %
            Accelerator::Intersect()                                    47.28 %
              Triangle::Intersect()                                     27.17 %
            MIPMap::Lookup() (trilinear)                                 6.17 %
            Material::ComputeScatteringFunctions()                       0.10 %
        MIPMap::Lookup() (trilinear)                                     0.34 %
        Startup and scene construction                                   0.38 %
    
    

    And attached is my scene files, which I'm rendering like this: pbrt sanity_volume.pbrt. I don't see any load errors or warnings when I run, it just starts rendering and completes fine, except for the render not having the volume.

    Is there something wrong about the volume files themeselves, or something else I've overlooked with teh scene? Any suggestions would be great. Thanks

    sanity_volume.tar.gz

    opened by crydalch 13
  • Build error in os x 10.13.6

    Build error in os x 10.13.6

    Hi, I am trying to build this program on my mac, with command

    mkdir build && cd build
    cmake ..
    make
    

    and came across the following error.

    [ 47%] Built target IlmThread
    Error copying directory from "/Users/michael/code/lib/pbrt-v3/build/src/ext/openexr/IlmBase/Half/Release" to "/Users/michael/code/lib/pbrt-v3/build/src/ext/openexr/OpenEXR/IlmImf/Release".
    make[2]: *** [src/ext/openexr/CMakeFiles/CopyIlmBaseLibs] Error 1
    make[1]: *** [src/ext/openexr/CMakeFiles/CopyIlmBaseLibs.dir/all] Error 2
    make: *** [all] Error 2
    

    As I explored the folder /Users/michael/code/lib/pbrt-v3/build/src/ext/openexr/IlmBase/Half/, I didn't find the folder "Release", I didn't find it in /Users/michael/code/lib/pbrt-v3/build/src/ext/openexr/OpenEXR/IlmImf/ either.

    Can anybody help me fix this problem? Thanks!

    opened by MichaelShen97 12
  • cmake handling of flex and bison possible issues?

    cmake handling of flex and bison possible issues?

    I think there are a few small issues with the flex and bison stuff in CMakeLists.txt.

    • I think the outputs of bison should also include pbrtparse.hh.
    • Bison is annoying, since on some platforms it uses .hh for the suffix of the generated header file, on others it uses .hpp, etc. pbrtlex.ll #includes pbrtparse.hh. Before, the makefile would check the suffix generated by bison and rename the header file if needed (https://github.com/mmp/pbrt-v3/blob/8e23330a3db5e7abe0152f0844824728d8f03d13/src/Makefile#L153).
    • The output of the bison rule should probably be named pbrtparse.cpp, rather than pbrtparser.cpp, for consistency with the naming of the .yy file.
    • I think but am not sure that the flex rule needs an explicit dependency to the pbrtparse.hh output of the bison rule so that it doesn't try to compile pbrtlex.cpp before the bison rule has run. (I'm not positive about this; maybe flagging the .hh output is enough.)
    • Is it definitely the case that when running the flex/bison rules, the pbrtparse.hh generated by bison (vs the one checked into src/core) is used? It'll be a really ugly/hard to chase down bug if the user has made modifications to the .yy file but then the wrong header is used.

    (CC @nyue )

    opened by mmp 9
  • Rings in Rendered Image for Realistic Camera

    Rings in Rendered Image for Realistic Camera

    When I render with the Realistic camera, I often get these rings overlaid on the image. Here's an example of what I mean.

    I've been trying to figure out why this is happening, but since there are 64 rings I'm guessing it has something to do with sampling the exit pupil bounds. Have you seen this before, and if you have do you have any fixes?

    opened by tlian7 8
  • src/cameras/realistic.cpp, translation of lenses

    src/cameras/realistic.cpp, translation of lenses

    src/core/transform.cpp, LookAt(), left -> right

    Because pbrt uses a left-handed coordiante system and the camera direction is +z, the direction of the cross product of up and dir should be +x which is right.

    opened by chaosink 8
  • git.pbrt.org seems to be down

    git.pbrt.org seems to be down

    git.exe clone --progress -v "git://git.pbrt.org/pbrt-v3-scenes" "D:\pbrt-v3-scenes"

    Cloning into 'D:\pbrt-v3-scenes'... Looking up git.pbrt.org ... done. Connecting to git.pbrt.org (port 9418) ... 146.148.96.151 done. fatal: read error: Invalid argument

    opened by evil84 7
  • Importance sampling for infinite area light is off by half a texel

    Importance sampling for infinite area light is off by half a texel

    As explained in Section 14.6.5 and Figure 14.13, p.726 in PBRT v2 the importance of the environment texture should be computed by interpolating adjacent texels. Therefore InfiniteAreaLight samples the texture at the discrete coordinates uv. However, this means that the pdf in Distribution2D for uv represents the average importance for the area (uv-0.5, uv+0.5). Now, SampleContinuous selects a bin according to the pdf and samples uniformly within that bin, i.e. the returned coordinates represent [uv, uv+1.0). To account for this difference in coordinates the Sample_Li and Sample_Le functions of the infinite area light should subtract "half a texel" from uv, e.g.:

    --- a/src/lights/infinite.cpp
    +++ b/src/lights/infinite.cpp
    @@ -98,3 +98,5 @@ Spectrum InfiniteAreaLight::Sample_Li(const Interaction &ref, const Point2f &u
         // Find $(u,v)$ sample coordinates in infinite light texture
         Float mapPdf;
         Point2f uv = distribution->SampleContinuous(u, &mapPdf);
    +    uv.x -= (Float)0.5 / Lmap->Width();
    +    uv.y -= (Float)0.5 / Lmap->Height();
    

    So, Figure 14.13 is actually misleading, because for textures their values are defined at the center of each texel (at continuous coordinates uv+0.5, see Section 10.4.3, p.538): the piecewise linear function should therefore be shifted by 0.5.

    The error is subtle and only gets noticed for high-contrast environment maps. For example, using a black texture with only one white texel, half of the samples are wasted (they have zero contribution). A nice way to debug these issues is to visualize the sample contributions of the infinite area light, i.e. render L = infiniteLight->Sample_Li(...) / lightPdf using the (normalized) pixel coordinates as random numbers. The more constant the resulting image, the better the importance sampling.

    Some example images (before and after the correction) are attached:

    Single white pixel, original: single_pixel_before Single white pixel, with fix: single_pixel_after Grace Cathedral HDRI, original: grace-new_before Grace Cathedral HDRI, with fix: grace-new_after

    Some more remarks on minor issues:

    • The environment texture is resampled by MIPMap to a power-of-two resolution. To avoid aliasing artefacts the importance map should be created with that resolution as well (that's why the above patch uses Lmap->Width() and Lmap->Height()):

      --- a/src/lights/infinite.cpp
      +++ b/src/lights/infinite.cpp
      @@ -63,3 +63,3 @@ InfiniteAreaLight::InfiniteAreaLight(const Transform &LightToWorld
           // Compute scalar-valued image _img_ from environment map
      -    int width = resolution.x, height = resolution.y;
      +    int width = Lmap->Width(), height = Lmap->Height();
      
    • Because we want to compute the average importance for the area (uv-0.5, uv+0.5) the average of sinTheta is better approximated with "sin(uv)":

      --- a/src/lights/infinite.cpp
      +++ b/src/lights/infinite.cpp
      @@ -68,5 +68,5 @@ InfiniteAreaLight::InfiniteAreaLight(const Transform &LightToWorld,
           for (int v = 0; v < height; ++v) {
               Float vp = (Float)v / (Float)height;
      -        Float sinTheta = std::sin(Pi * Float(v + .5f) / Float(height));
      +        Float sinTheta = std::sin(Pi * vp);
                for (int u = 0; u < width; ++u) {
      

      This leads to zero probability for the first row, which is actually a good thing: uv cannot become negative after subtracting half a texel. And sampling the north pole leads to artefacts anyway (because of texture wrapping light leaks from the south pole).

    • The computation of the filter width could be skipped. The default width of zero in MIPMap::Lookup already ensures that the most detailed mipmap level is used, and the triangle filter used for bilinear interpolation computes the wanted average of the four texels.

    opened by johguenther 7
  • vc2015 can not build the project either, there are so many building errors.

    vc2015 can not build the project either, there are so many building errors.

    Severity Code Description Project File Line Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 280 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 298 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 313 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 331 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 331 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 420 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 449 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 449 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 449 Error C4576 a parenthesized type followed by an initializer list is a non-standard explicit type conversion syntax pbrt d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\cameras\realistic.cpp 82 Error C2039 'tolower': is not a member of 'std' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\imageio.h 51 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\lowdiscrepancy.cpp 453 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C1083 Cannot open include file: 'sys/time.h': No such file or directory pbrt d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\stats.cpp 43 Error C2039 'function': is not a member of 'std' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\stats.h 53 Error C2061 syntax error: identifier 'function' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\stats.h 53 Error C2065 'funcs': undeclared identifier pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\stats.h 54 Error C2065 'funcs': undeclared identifier pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\stats.h 55 Error C2039 'function': is not a member of 'std' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\stats.h 55 Error C2065 'function': undeclared identifier pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\stats.h 55 Error C2059 syntax error: ')' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\stats.h 55 Error C2976 'std::vector': too few template arguments pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\stats.h 55 Error C2512 'std::vector': no appropriate default constructor available pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\stats.h 55 Error C2059 syntax error: ';' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\stats.h 55 Error C2065 'funcs': undeclared identifier pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\stats.h 56 Error C2227 left of '->push_back' must point to class/struct/union/generic type pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\stats.h 56 Error C2065 'func': undeclared identifier pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\stats.h 56 Error C2039 'function': is not a member of 'std' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\stats.h 62 Error C2065 'function': undeclared identifier pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\stats.h 62 Error C2059 syntax error: ')' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\stats.h 62 Error C2976 'std::vector': too few template arguments pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\stats.h 62 Error C2059 syntax error: '>' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\stats.h 62 Error C2238 unexpected token(s) preceding ';' pbrt d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\stats.h 62 Error C1083 Cannot open include file: 'unistd.h': No such file or directory pbrt D:\Users\mpharr\pbrt-3ed\b2\pbrtlex.cpp 804 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') bsdftest C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 251 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') bsdftest C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 266 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') bsdftest C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 280 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') bsdftest C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 298 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') bsdftest C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 313 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') bsdftest C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 331 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') bsdftest C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 346 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') bsdftest C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 361 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') bsdftest C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 376 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') bsdftest C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 390 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') bsdftest C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 405 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') bsdftest C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 420 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') bsdftest C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 435 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') bsdftest C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 449 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found bsdftest d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found bsdftest d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided bsdftest d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided bsdftest d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' bsdftest d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided bsdftest d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') chi2test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 251 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') chi2test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 266 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') chi2test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 280 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') chi2test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 298 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') chi2test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 313 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') chi2test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 331 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') chi2test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 346 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') chi2test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 361 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') chi2test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 376 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') chi2test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 390 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') chi2test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 405 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') chi2test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 420 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') chi2test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 435 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') chi2test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 449 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found chi2test d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found chi2test d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided chi2test d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided chi2test d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' chi2test d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided chi2test d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exravg C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 251 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exravg C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 266 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exravg C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 280 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exravg C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 298 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exravg C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 313 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exravg C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 331 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exravg C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 346 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exravg C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 361 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exravg C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 376 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exravg C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 390 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exravg C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 405 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exravg C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 420 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exravg C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 435 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exravg C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 449 Error C2039 'tolower': is not a member of 'std' exravg d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\imageio.h 51 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exrdiff C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 251 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exrdiff C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 266 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exrdiff C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 280 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exrdiff C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 298 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exrdiff C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 313 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exrdiff C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 331 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exrdiff C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 346 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exrdiff C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 361 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exrdiff C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 376 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exrdiff C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 390 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exrdiff C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 405 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exrdiff C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 420 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exrdiff C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 435 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') exrdiff C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 449 Error C2039 'tolower': is not a member of 'std' exrdiff d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\imageio.h 51 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') hdrtoldr C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 251 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') hdrtoldr C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 266 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') hdrtoldr C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 280 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') hdrtoldr C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 298 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') hdrtoldr C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 313 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') hdrtoldr C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 331 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') hdrtoldr C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 346 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') hdrtoldr C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 361 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') hdrtoldr C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 376 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') hdrtoldr C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 390 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') hdrtoldr C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 405 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') hdrtoldr C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 420 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') hdrtoldr C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 435 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') hdrtoldr C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 449 Error C2039 'tolower': is not a member of 'std' hdrtoldr d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\imageio.h 51 Error C2039 'min': is not a member of 'std' obj2pbrt d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\tools\obj2pbrt.cpp 931 Error C3861 'min': identifier not found obj2pbrt d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\tools\obj2pbrt.cpp 931 Error C2039 'max': is not a member of 'std' obj2pbrt d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\tools\obj2pbrt.cpp 932 Error C3861 'max': identifier not found obj2pbrt d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\tools\obj2pbrt.cpp 932 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_exe C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 251 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_exe C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 266 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_exe C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 280 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_exe C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 298 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_exe C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 313 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_exe C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 331 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_exe C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 346 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_exe C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 361 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_exe C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 376 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_exe C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 390 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_exe C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 405 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_exe C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 420 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_exe C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 435 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_exe C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 449 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 251 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 251 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 251 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 266 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 266 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 266 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 280 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 280 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 298 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 298 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 298 Error C3551 if a trailing return type is used then the leading return type shall be the single type-specifier 'auto' (not 'const auto') pbrt_test C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xfunctional 313 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt_test d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt_test d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt_test d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt_test d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt_test d:\phd\research\cg\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt_test d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt_test d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt_test d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt_test d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt_test d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt_test d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt_test d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt_test d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt_test d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt_test d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt_test d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt_test d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'p'; literal operator or literal operator template 'operator ""p' not found pbrt_test d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C3688 invalid literal suffix 'f'; literal operator or literal operator template 'operator ""f' not found pbrt_test d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 '_Ty std::min(std::initializer_list<_Elem>,_Pr)': expects 2 arguments - 1 provided pbrt_test d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &,_Pr)': expects 3 arguments - 1 provided pbrt_test d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2784 '_Ty std::min(std::initializer_list<_Elem>)': could not deduce template argument for 'std::initializer_list<_Elem>' from 'const Float' pbrt_test d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\rng.h 74 Error C2780 'const _Ty &std::min(const _Ty &,const _Ty &)': expects 2 arguments - 1 provided pbrt_test d:\PhD\Research\CG\pbrt\pbrt-v3-master\src\core\rng.h 74

    opened by herculesyuan 7
  • undefined reference to 'pthread_create', won't build

    undefined reference to 'pthread_create', won't build

    I'm building pbrt-v3 under Arch Linux x86_64, gcc 5.2.0, and it won't build. It says in the function ParallelFor() in parallel.cpp.o in libpbrt.a there's an undefined reference to 'pthread_create'. I tried editing CXXFLAGS in CMakeFiles/pbrt.dir/flags.make and adding -pthread, then I tried -lpthread, same problem. It might be I'm just doing something wrong, but then, it should work without me messing with the makefiles anyway, shouldn't it? Thanks in advance! (By the way, I'll copy the whole error log here if it might help:

    Linking CXX executable exrdiff
    libpbrt.a(parallel.cpp.o): In function `ParallelFor(std::function<void (int)> const&, int, int)':
    parallel.cpp:(.text+0x556): undefined reference to `pthread_create'
    libpbrt.a(parallel.cpp.o): In function `MaxThreadIndex()':
    parallel.cpp:(.text+0xc08): undefined reference to `pthread_create'
    libpbrt.a(parallel.cpp.o): In function `ParallelFor(std::function<void (Point2<int>)> const&, Point2<int> const&)':
    parallel.cpp:(.text+0xe34): undefined reference to `pthread_create'
    libpbrt.a(parallel.cpp.o): In function `ParallelFor(std::function<void (Point2<int>, int)> const&, Point2<int> const&)':
    parallel.cpp:(.text+0x1554): undefined reference to `pthread_create'
    libpbrt.a(parallel.cpp.o): In function `ParallelFor(std::function<void (int, int)> const&, int, int)':
    parallel.cpp:(.text+0x1cca): undefined reference to `pthread_create'
    collect2: error: ld returned 1 exit status
    CMakeFiles/exravg.dir/build.make:86: recipe for target 'exravg' failed
    make[2]: *** [exravg] Error 1
    CMakeFiles/Makefile2:130: recipe for target 'CMakeFiles/exravg.dir/all' failed
    make[1]: *** [CMakeFiles/exravg.dir/all] Error 2
    make[1]: *** Waiting for unfinished jobs....
    libpbrt.a(parallel.cpp.o): In function `ParallelFor(std::function<void (int)> const&, int, int)':
    parallel.cpp:(.text+0x556): undefined reference to `pthread_create'
    libpbrt.a(parallel.cpp.o): In function `MaxThreadIndex()':
    parallel.cpp:(.text+0xc08): undefined reference to `pthread_create'
    libpbrt.a(parallel.cpp.o): In function `ParallelFor(std::function<void (Point2<int>)> const&, Point2<int> const&)':
    parallel.cpp:(.text+0xe34): undefined reference to `pthread_create'
    libpbrt.a(parallel.cpp.o): In function `ParallelFor(std::function<void (Point2<int>, int)> const&, Point2<int> const&)':
    parallel.cpp:(.text+0x1554): undefined reference to `pthread_create'
    libpbrt.a(parallel.cpp.o): In function `ParallelFor(std::function<void (int, int)> const&, int, int)':
    parallel.cpp:(.text+0x1cca): undefined reference to `pthread_create'
    collect2: error: ld returned 1 exit status
    CMakeFiles/bsdftest.dir/build.make:86: recipe for target 'bsdftest' failed
    make[2]: *** [bsdftest] Error 1
    CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/bsdftest.dir/all' failed
    make[1]: *** [CMakeFiles/bsdftest.dir/all] Error 2
    libpbrt.a(parallel.cpp.o): In function `ParallelFor(std::function<void (int)> const&, int, int)':
    parallel.cpp:(.text+0x556): undefined reference to `pthread_create'
    libpbrt.a(parallel.cpp.o): In function `MaxThreadIndex()':
    parallel.cpp:(.text+0xc08): undefined reference to `pthread_create'
    libpbrt.a(parallel.cpp.o): In function `ParallelFor(std::function<void (Point2<int>)> const&, Point2<int> const&)':
    parallel.cpp:(.text+0xe34): undefined reference to `pthread_create'
    libpbrt.a(parallel.cpp.o): In function `ParallelFor(std::function<void (Point2<int>, int)> const&, Point2<int> const&)':
    parallel.cpp:(.text+0x1554): undefined reference to `pthread_create'
    libpbrt.a(parallel.cpp.o): In function `ParallelFor(std::function<void (int, int)> const&, int, int)':
    parallel.cpp:(.text+0x1cca): undefined reference to `pthread_create'
    collect2: error: ld returned 1 exit status
    CMakeFiles/chi2test.dir/build.make:86: recipe for target 'chi2test' failed
    make[2]: *** [chi2test] Error 1
    CMakeFiles/Makefile2:95: recipe for target 'CMakeFiles/chi2test.dir/all' failed
    make[1]: *** [CMakeFiles/chi2test.dir/all] Error 2
    libpbrt.a(parallel.cpp.o): In function `ParallelFor(std::function<void (int)> const&, int, int)':
    parallel.cpp:(.text+0x556): undefined reference to `pthread_create'
    libpbrt.a(parallel.cpp.o): In function `MaxThreadIndex()':
    parallel.cpp:(.text+0xc08): undefined reference to `pthread_create'
    libpbrt.a(parallel.cpp.o): In function `ParallelFor(std::function<void (Point2<int>)> const&, Point2<int> const&)':
    parallel.cpp:(.text+0xe34): undefined reference to `pthread_create'
    libpbrt.a(parallel.cpp.o): In function `ParallelFor(std::function<void (Point2<int>, int)> const&, Point2<int> const&)':
    parallel.cpp:(.text+0x1554): undefined reference to `pthread_create'
    libpbrt.a(parallel.cpp.o): In function `ParallelFor(std::function<void (int, int)> const&, int, int)':
    parallel.cpp:(.text+0x1cca): undefined reference to `pthread_create'
    collect2: error: ld returned 1 exit status
    CMakeFiles/exrdiff.dir/build.make:86: recipe for target 'exrdiff' failed
    make[2]: *** [exrdiff] Error 1
    CMakeFiles/Makefile2:165: recipe for target 'CMakeFiles/exrdiff.dir/all' failed
    make[1]: *** [CMakeFiles/exrdiff.dir/all] Error 2
    Makefile:126: recipe for target 'all' failed
    make: *** [all] Error 2
    

    )

    opened by tolziplohu 7
  • pbrt-v3 failed to build due to error MSB8066 using MSVC for ARM64EC target on Windows

    pbrt-v3 failed to build due to error MSB8066 using MSVC for ARM64EC target on Windows

    Hi All,

    pbrt-v3 failed to build due to error error MSB8066: Custom build for 'F:\gitP\mmp\pbrt-v3\build_arm64ec\CMakeFiles\c541becc1f2c5fefb64230479ede90f9\eLut.h.rule;F:\gitP\mmp\pbrt-v3\build_arm64ec\CMakeFiles\c541becc1f2c5fefb64230479ede90f9\toFloat.h.rule' exited with code -1073741819. using MSVC for ARM64EC target on Windows. Could you please help look at this issue?

    Repro steps:

    1. git clone https://github.com/mmp/pbrt-v3 F:\gitP\mmp\pbrt-v3
    2. mkdir build_arm64ec && cd build_arm64ec
    3. cmake -G "Visual Studio 16 2019" -A ARM64EC -DCMAKE_SYSTEM_VERSION=10.0.22618.0 -DCMAKE_BUILD_TYPE=Release ..
    4. msbuild /m /p:Platform=ARM64EC /p:Configuration=Release PBRT-V3.sln /t:Rebuild

    Build log: build_arm64ec_2.log

    Expected result: build successfully.

    Actural result: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): error MSB8066: Custom build for 'F:\gitP\mmp\pbrt-v3\build_arm64ec\CMakeFiles\c541becc1f2c5fefb64230479ede90f9\eLut.h.rule;F:\gitP\mmp\pbrt-v3\build_arm64ec\CMakeFiles\c541becc1f2c5fefb64230479ede90f9\toFloat.h.rule' exited with code -1073741819. [F:\gitP\mmp\pbrt-v3\build_arm64ec\src\ext\openexr\IlmBase\Half\Half.vcxproj]

    opened by spacelg 0
  • build error on windows using mingw

    build error on windows using mingw

    Hi,

    Windows 10 Cmake 3.22.0 rc 2 g++ (Rev2, Built by MSYS2 project) 10.3.0

    $ mingw32-make
    [  0%] Building CXX object CMakeFiles/pbrt.dir/src/core/api.cpp.obj
    g++.exe: error: /D: No such file or directory
    g++.exe: error: PTEX_STATIC: No such file or directory
    mingw32-make[2]: *** [CMakeFiles\pbrt.dir\build.make:76: CMakeFiles/pbrt.dir/src/core/api.cpp.obj] Error 1
    mingw32-make[1]: *** [CMakeFiles\Makefile2:405: CMakeFiles/pbrt.dir/all] Error 2
    mingw32-make: *** [Makefile:165: all] Error 2
    
    opened by prashant-saxena 1
  • Black marks on bump mapped area.

    Black marks on bump mapped area.

    What could be the reason for black marks?

    Context: The ".pbrt" file and the rendered image are attached below. The geometry files are created using "0bj2pbrt" which contains normal and texture information. Two black spots are two separate geometry (5_02.pbrt and 5_03.pbrt) that uses bump mapping.

    Screenshot from 2022-02-22 18-32-43

    5_SPD_50c

    Thanks

    opened by aruMMG 0
  • Sphere::Pdf does not return zero when wi points away from the sphere.

    Sphere::Pdf does not return zero when wi points away from the sphere.

    Thank you so much for the great book!

    In chapter 14.2.2 Sampling Shapes, the second overload of Shape::Pdf returns 0 if wi does not intersect with the shape, which conceptually make sense. However, when Sphere::Pdf overrides this method, its implementation never returns 0 if the second (general sphere PDF) path is chosen, even if wi points away from the sphere. Is this a missed case in the code, or am I misunderstanding something here?

    opened by GaryHuan9 0
  • Two questions about spectral rendering and output

    Two questions about spectral rendering and output

    Hello,

    First of all, thank you for the great book. It is a really useful read to understand spectral rendering in particular and the maths behind tracing. I have two questions that are hopefully easy to answer.

    1. How easy is it to modify the code to save spectral images as output instead of XYZ (or RGB)? From what I gather, I would 'just' have to grab them before the SampledSpectrum method ToXYZ computes XYZ from the spectra (the Rieman sum for equ. 5.1, chapter 5.2.1). I am aware the amount of data would much larger (eg 20 times that of RGB for 20 spectral points). It would be great to have this as a cmake option in pbrt v4.

    2. How easy is it to integrate optical dispersion, i.e. wavelength dependence of refractive index for realistic camera lenses? The realistic camera works well, but I would like to try and add dispersion to the lens materials. Would it be ok to have a look-up table n(lambda) and grab the corresponding refractive indices from it for each wavelength while tracing instead of assuming the refractive index as constant?

    I am trying to get a feeling on how deep the coding rabbit hole is for those two suggested additions. (few lines of code or engine rewrite)

    opened by StefanMenzel 6
  • Correction of the Disney BSDF

    Correction of the Disney BSDF

    Hi, I was quite annoyed by the mistakes that I found in the PBRT implementation of the Disney BSDF and corrected them. As I explained in https://github.com/mmp/pbrt-v3/issues/313#issue-1042935147 , having a specular transmission lobe turns out to be problematic since all different lobes are sampled with the same probability. Thus, if the ray is inside the material, every time there is a surface interaction most of the samples are wasted. In order to overcome this problem, I discarded the transmission lobe. Right now, spec_trans parameter is set 0 and discarded in 3D (not thin) configuration.

    I also corrected the mistakes and compared the material model with Mitsuba by creating 20 renderings. They match.

    opened by efylmzr 0
Owner
Matt Pharr
Matt Pharr
physically based renderer written in DX12 with image-based lighting, classic deffered and tiled lighting approaches

Features Classical Deferred Renderer Physically Based shading Image Based Lighting BRDF Disney model (Burley + GGX) Tangent space normal mapping Reinh

Alena 35 Jun 2, 2022
Ipsys Particle System Yey letS go, very cool particle system generator and fast renderer

ipsys - Ipsys Particle System Yey letS go About Ipsys is a piece of software that focuces on running and displaying cool randomly generated particule

Anima Libera 5 May 26, 2022
A toy renderer written in C using Vulkan to perform real-time ray tracing research.

This is a toy renderer written in C using Vulkan. It is intentionally minimalist. It has been developed and used for the papers "BRDF Importance Sampl

Christoph Peters 280 Nov 10, 2022
2D GPU renderer for dynamic UIs

vger vger is a vector graphics renderer which renders a limited set of primitives, but does so almost entirely on the GPU. Works on iOS and macOS. API

Audulus LLC 159 Nov 26, 2022
PainterEngine is a application/game engine with software renderer,PainterEngine can be transplanted to any platform that supports C

PainterEngine is a application/game engine with software renderer,PainterEngine can be transplanted to any platform that supports C

DBinary 1.6k Nov 18, 2022
work in progress 3d renderer based on sdl2

work in progress 3d software renderer based on SDL. (Only supports wireframe view for now) Building On Linux, install libsdl2 and then run the folowin

null 4 Sep 12, 2021
work in progress 3d renderer based on sdl2

work in progress 3d software renderer based on SDL. (Only supports wireframe view for now) Building On Linux, install libsdl2 and then run the folowin

Jayachandra Kasarla 4 Sep 12, 2021
A modern C++ physically based renderer

The Dakku Renderer Warning: This project is currently under developing and does not guarantee any consistency. About Dakku is a physically based rende

xehoth 6 Apr 15, 2022
A Simple Spectral Renderer

Simple Spectral This is a simple multithreaded spectral pathtracer implementing the algorithm (linear combination of bases) described in our EGSR 2019

Ian Mallett 162 Nov 9, 2022
An immediate-mode, renderer agnostic, lightweight debug drawing API for C++

Debug Draw An immediate-mode, renderer agnostic, lightweight debug drawing API for C++. License This software is in the public domain. Where that dedi

Guilherme Lampert 452 Nov 26, 2022
A dx12 river renderer using wave particles with interactive vortices.

Wave Particles with Interactive Vortices Final Result Overview In game industry water can be divided into two domains, ocean and river. This project f

ACskyline 220 Nov 2, 2022
Source Code for "Ray Tracing Gems: High-Quality and Real-Time Rendering with DXR and Other APIs" by Eric Haines and Tomas Akenine-Möller

Apress Source Code This repository accompanies Ray Tracing Gems: High-Quality and Real-Time Rendering with DXR and Other APIs by Eric Haines and Tomas

Apress 851 Nov 21, 2022
ZBar Bar Code Reader is an open source software suite for reading bar codes from various sources

ZBar Bar Code Reader is an open source software suite for reading bar codes from various sources

null 2.4k Nov 17, 2022
StereoKit is an easy-to-use open source mixed reality library for building HoloLens and VR applications with C# and OpenXR!

StereoKit is an easy-to-use open source mixed reality library for building HoloLens and VR applications with C# and OpenXR! Inspired by libraries like XNA and Processing, StereoKit is meant to be fun to use and easy to develop with, yet still quite capable of creating professional and business ready software.

Nick Klingensmith 716 Nov 19, 2022
OpenCorr is an open source C++ library for development of 2D, 3D/stereo, and volumetric digital image correlation

OpenCorr OpenCorr is an open source C++ library for development of 2D, 3D/stereo, and volumetric digital image correlation. It aims to provide a devel

Zhenyu Jiang 63 Oct 30, 2022
Open source Altium Database Library with over 147,000 high quality components and full 3d models.

Open source Altium Database Library with over 147,000 high quality components and full 3d models.

Mark 1.3k Nov 20, 2022
Vizzu is a free, open-source Javascript/C++ library for animated data visualizations and data stories.

Vizzu is a free, open-source Javascript/C++ library utilizing a generic dataviz engine that generates many types of charts and seamlessly animates between them

Vizzu 1.6k Nov 20, 2022
appleseed is an open source, physically-based global illumination rendering engine primarily designed for animation and visual effects.

appleseed is an open source, physically-based global illumination rendering engine primarily designed for animation and visual effects.

appleseedhq 2k Nov 23, 2022
An Open-Source subdivision surface library.

OpenSubdiv OpenSubdiv is a set of open source libraries that implement high performance subdivision surface (subdiv) evaluation on massively parallel

Pixar Animation Studios 2.7k Nov 19, 2022