Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorrect parenthesization in fp error bounds computation #181

Open
mmp opened this issue Mar 30, 2018 · 0 comments
Open

Incorrect parenthesization in fp error bounds computation #181

mmp opened this issue Mar 30, 2018 · 0 comments

Comments

@mmp
Copy link
Owner

mmp commented Mar 30, 2018

(Via Kostya Smolenskiy)

pages 228 and 229. In earlier section, You had mentioned that since the compiler can't rearrange floating point computation, it executes it like it's written in code. Code for transforming points is written like, for example:

 T xp = m.m[0][0] * x + m.m[0][1] * y + m.m[0][2] * z + m.m[0][3];

But in derivation of error bounds on that computation parentheses are as if it is:

 T xp = (m.m[0][0] * x + m.m[0][1] * y) + (m.m[0][2] * z + m.m[0][3]);

From which it stems that maximum gamma is gamma(3), but with former code, maximum gamma is gamma(4).

MartinNose pushed a commit to MartinNose/pbrt-v3-rpf that referenced this issue Nov 23, 2022
0oTinaKimo0 added a commit to MartinNose/pbrt-v3-rpf that referenced this issue Nov 28, 2022
commit fc8a19b
Author: MartinNose <[email protected]>
Date:   Sun Nov 27 20:03:25 2022 -0800

    update algo 3

commit e16019b
Merge: c258b81 df2008c
Author: MartinNose <[email protected]>
Date:   Wed Nov 23 00:14:06 2022 -0800

    Merge branch 'jdt' into ljl

    merge from jdt

commit c258b81
Merge: cae1c9d ff84c15
Author: MartinNose <[email protected]>
Date:   Tue Nov 22 23:15:19 2022 -0800

    merge from jdt

commit cae1c9d
Merge: 9a26da4 8d011c8
Author: MartinNose <[email protected]>
Date:   Tue Nov 22 23:13:56 2022 -0800

    excluded sample.dat

commit 9a26da4
Merge: ed9a8ef a42418f
Author: MartinNose <[email protected]>
Date:   Thu Nov 17 09:52:46 2022 -0800

    merge from jdt

commit a42418f
Author: 0oTinaKimo0 <[email protected]>
Date:   Tue Nov 15 12:53:57 2022 -0800

    Update rpf.ipynb

commit ed9a8ef
Author: MartinNose <[email protected]>
Date:   Mon Nov 14 00:46:09 2022 -0800

    Feature Vector done

commit 7eab29d
Author: 0oTinaKimo0 <[email protected]>
Date:   Mon Nov 14 00:14:30 2022 -0800

    Notebook to process samples

commit 7f2d8c1
Merge: 449bb9d 332e952
Author: 0oTinaKimo0 <[email protected]>
Date:   Sun Nov 13 23:47:01 2022 -0800

    Merge branch 'ljl' into jdt

commit 332e952
Author: MartinNose <[email protected]>
Date:   Sun Nov 13 23:30:01 2022 -0800

    modified description file to have a lower resolution

commit c943489
Author: MartinNose <[email protected]>
Date:   Sun Nov 13 23:28:59 2022 -0800

    featureVector result

commit 7308bc8
Author: MartinNose <[email protected]>
Date:   Sun Nov 13 23:27:47 2022 -0800

    add python process tool

commit f3e334e
Author: MartinNose <[email protected]>
Date:   Sun Nov 13 23:27:16 2022 -0800

    fix featureVector bug

commit 3f57ba1
Author: MartinNose <[email protected]>
Date:   Sun Nov 13 18:16:28 2022 -0800

    add getters in all material class

commit 449bb9d
Merge: fbba9b3 7661bea
Author: 0oTinaKimo0 <[email protected]>
Date:   Sun Nov 13 15:19:54 2022 -0800

    Merge branch 'ljl' into jdt

commit 7661bea
Author: MartinNose <[email protected]>
Date:   Sun Nov 13 15:14:42 2022 -0800

    modified pbrt files from 128 spp to 8 spp

commit 4e43976
Author: MartinNose <[email protected]>
Date:   Sun Nov 13 15:14:03 2022 -0800

    modified CMakeLists.txt to compile

commit d319e5a
Author: MartinNose <[email protected]>
Date:   Sun Nov 13 15:12:38 2022 -0800

    add getters during rendering process\n todo add texture getter during all the material class

commit fbba9b3
Author: 0oTinaKimo0 <[email protected]>
Date:   Wed Nov 9 14:20:03 2022 -0800

    header file

commit 4d0f974
Author: 0oTinaKimo0 <[email protected]>
Date:   Wed Nov 9 00:01:53 2022 -0800

    Update RPF.cpp

commit 49203cc
Author: MartinNose <[email protected]>
Date:   Tue Nov 8 23:10:27 2022 -0800

    add FeatureVector implementation

commit c66e483
Author: 0oTinaKimo0 <[email protected]>
Date:   Tue Nov 1 20:30:10 2022 -0700

    Create RPF.cpp

commit 3ca6c13
Author: MartinNose <[email protected]>
Date:   Thu Oct 27 17:26:52 2022 -0700

    add FeatureVector declaration

commit 6d79443
Author: Artem Kharytoniuk <[email protected]>
Date:   Sat Apr 11 20:46:33 2020 +0200

    Fix trilinear filtering

    A texture footprint with 'width' characteristic size corresponds to texture
    sampling rate with 1 sample per screen pixel. In order to satisfy the Nyquist
    limit we need a filter of size '2*width' - and that's what we have in the original
    code. This computation does not take into account though, that after computing
    lod and selecting mip levels, we apply bilinear filtering to sample each mip.
    This effectively increases filter size to '4*width' which results in too blurry images.

    There could be at least two solutions here: the first one is to use '2*width' filter size
    and then use point sampling when working with separate mip levels. Another solution
    proposed here is to select the mip levels based on the 'width' filter size and then rely
    on bilinear filtering to get correct result.

    I didn't check this but the second method could provide better results because the last step
    when we apply bilinear filtering takes into account specific use case and in the case of
    point sampling the final result is baked into the mip level, so we don't have an opportunity
    to select proper position between texels as we do with bilinear filtering.

    The proposed solution also matched HW filtering results, for example, in this
    project https://github.com/kennyalive/vulkan-raytracing, the RTX raytracing code
    computes texture lod using just 'width' and then applies bilinear filter. The result
    closely matches rasterization version. Color encoding of lod levels used in that demo
    allows to visualize differences in lod selection. By modifying the code to use '2*width' it
    can be shown that is produces wrong result.

commit 593b859
Author: Matt Pharr <[email protected]>
Date:   Fri Jun 26 14:43:41 2020 -0700

    Fix bug in MicrofacetTransmission

    Return 0 for f() and pdf if both directions are on the same side of the microsurface.

    Issue mmp#228, via Mandy Xia.

commit 3cb0349
Author: Matt Pharr <[email protected]>
Date:   Fri Jun 26 13:36:10 2020 -0700

    Fix Henyey Greenstein importance sampling sign conventions (via Jiayin Cao)

commit 577d76d
Author: Jakub Hendrich <[email protected]>
Date:   Wed Nov 13 20:10:51 2019 +0100

    Fix memory leak in FourierBSDFTable

commit eff5b43
Author: jim price <[email protected]>
Date:   Sat Mar 14 18:20:00 2020 -0700

    Initialize alpha with lower bound to avoid NaN

    Alpha is as a denominator in the TrowbridgeReitzDistribution and
    BeckmannDistribution so we initialize to a lower bound of 0.001.

    This value was choosen as its less than the RoughnessToAlpha()'s lower
    bound and matches the bound in the Disney material.

commit 4f0a794
Author: Matt Pharr <[email protected]>
Date:   Fri Jun 26 10:06:19 2020 -0700

    Fix rare NaN case in CosDPhi().

    Issue mmp#272, via Pascal Grittmann.

commit e5c7d6b
Author: Girish Ramesh <[email protected]>
Date:   Sat Oct 26 00:09:57 2019 +0100

    Correct importance sampling as per d'Eon paper

commit b90949c
Author: Matt Pharr <[email protected]>
Date:   Wed Dec 4 10:07:10 2019 -0800

    Fix memory leak introduced in 8445c00.

    Issue mmp#264.

commit 0170681
Author: Matt Pharr <[email protected]>
Date:   Fri Nov 22 17:30:32 2019 -0800

    SPPM: move MemoryArena vector out of "nIterations" loop

    This saves a bunch of unnecessary MemoryArena creation and deletion, which in turn was hurting parallel scalability.

commit bc58a2a
Author: Matt Pharr <[email protected]>
Date:   Sat Oct 26 17:07:44 2019 -0700

    Fix build for recent versions of xcode

commit 3c12841
Author: Matt Pharr <[email protected]>
Date:   Sun Oct 20 15:09:51 2019 -0700

    Fix pbrtObjectEnd to not mess up attribute/object end nesting when --cat/--toply is used

commit 1b8bbe8
Author: Matt Pharr <[email protected]>
Date:   Tue Oct 15 14:03:26 2019 -0700

    Fix orientation of wh in MicrofacetReflection::f

    Always orient wh to be on the same side of the surface as the normal; in turn, this means that the cos theta value passed to Fresnel::Evaluate() has the right sign.

    This in particular fixes the handling of total internal reflection with this BxDF, both accounting for it when it should be and not incorrectly including it when there is none. (Rendered images may change due to this, especially noticeable in cases where TIR was incorrectly happening with non-transmissive surfaces, giving bright highlights.)

    Fixes issues mmp#214 and mmp#254.

commit b7923b8
Author: Matt Pharr <[email protected]>
Date:   Tue Oct 15 11:33:30 2019 -0700

    Apply ReverseOrientation to per-vertex normals

    Issue mmp#229 detritus.

commit fd2ec9b
Author: Matt Pharr <[email protected]>
Date:   Mon Oct 14 13:23:15 2019 -0700

    Fix handling of per-vertex normals with transforms that swap handedness

    With triangle meshes, even when the shading normal's direction was authoratative (coming via per-vertex normal vectors), we'd still flip the shading normal if the transform swapped the coordinate system handedness. This in turn led to bugs where the wrong side of the light would be emissive when a ray intersected it.

    Issue mmp#229

commit c49a318
Author: Matt Pharr <[email protected]>
Date:   Mon Oct 14 08:12:33 2019 -0700

    Fix DisneyMaterial microfacet model

    Issue mmp#224.

commit 84393b0
Author: Matt Pharr <[email protected]>
Date:   Sun Oct 13 14:36:46 2019 -0700

    Remove pError scale in OffsetRayOrigin() when PBRT_FLOAT_AS_DOUBLE is enabled.

    Before, pError was scaled by 1024 in that case; the idea was that there is
    so much excess precision with 64-bit floats that it wouldn't matter to bump
    up the error that much.

    The problem with that is the Curve shape: because it has the behavior of
    facing the incident ray, the ray epsilon has to be fairly large--half the
    curve's width.

    Multiplying that by 1024 in turn totally broke spawned rays, which
    effectively wouldn't intersect anything...

    Fixes issue mmp#221.

commit db3fe7d
Author: Matt Pharr <[email protected]>
Date:   Sun Oct 13 14:35:40 2019 -0700

    Fix Curve Log2 computation when Float=Double

    Before, it would end up calling the 64-bit FloatToBits, then letting the result be truncated to 32-bits, and then interpreting some bits of that as exponent. For a double, it ended up using random bits from the significand, rather than the exponent.

    Discovered while chasing down mmp#221, though not the cause of it.

commit 2aeb128
Author: Matt Pharr <[email protected]>
Date:   Sat Oct 12 16:05:27 2019 -0700

    Fix parenthesization in Transform::operator() implementations. Issue mmp#181

commit b5a3e14
Author: Matt Pharr <[email protected]>
Date:   Sat Oct 12 14:28:55 2019 -0700

    Improve EFloat::GetAbsoluteError(). Issue mmp#167

commit a5a2eba
Author: Matt Pharr <[email protected]>
Date:   Sat Oct 12 14:11:31 2019 -0700

    Actually use quadratic probing in the TransformCache. Issue mmp#194.

commit 8f7c841
Author: Matt Pharr <[email protected]>
Date:   Sat Oct 12 11:14:22 2019 -0700

    Fix variable naming in AnimatedTransform constructor. Issue mmp#231

commit 699bcb1
Author: Matt Pharr <[email protected]>
Date:   Sat Oct 12 11:13:57 2019 -0700

    Request c++11 features for obj2pbrt

commit 0bb1e8c
Author: Stefan Reinhold <[email protected]>
Date:   Thu Jul 4 21:21:56 2019 +0200

    Fixing ResampleLinearSpectrum method in spectrum.cpp

commit 97946c6
Author: Mudream <[email protected]>
Date:   Sat Jan 19 18:05:52 2019 +0800

    update cmake version

commit 6c25dba
Author: Matt Pharr <[email protected]>
Date:   Sat Oct 12 10:11:30 2019 -0700

    Fix out of bounds index in MarbleTexture. Issue mmp#252

commit d82d9bb
Author: Matt Pharr <[email protected]>
Date:   Wed Sep 4 11:48:35 2019 -0700

    Fix bug in Film::AddSpat().

    (Due to the fact that the Camera importance methods return >0 importance within the sample bounds but then Film::AddSplat() just uses a box filter.)

    With BDPT, the pixels along the left and top edges would receive ~2x the contributions they were supposed to if a pixel filter with > 1x1 extent was used.

    The issue was that p would come in  with negative values in one of their coordinates between -1 and 0. The conversion from Point2f to Point2i would turn those to zero and then their contribution would be included, even though it wasn't supposed to be.

commit 6ed8c71
Author: Matt Pharr <[email protected]>
Date:   Thu May 23 10:36:00 2019 -0700

    Fix bug in BSDF::rho().

    We need to transform the given wo direction to local coordinates before
    passing it along to the BxDF.

commit ab34e43
Author: Matt Pharr <[email protected]>
Date:   Fri Jan 4 16:23:44 2019 -0800

    Fix ray differential computation in SpecularTransmit()

    See pbrt-v2 PR mmp/pbrt-v2#38 and this discussion https://groups.google.com/forum/#!topic/pbrt/THex27EOrOE for context.

    Notes on the derivation of the differentials are included for reference and for future use in PBR book text.

commit 67ed7af
Author: SOH <[email protected]>
Date:   Sat Dec 29 14:57:32 2018 +0800

    更新计算射线和Curve相交时候的参数

commit 6369892
Author: Matt Pharr <[email protected]>
Date:   Sat Dec 29 16:31:10 2018 -0800

    Try two at disk parameterization and partial derivatives.

    The fix from issue mmp#154 led to a different bug (issue mmp#183). This switches
    back to the old partial derivative vectors via adjusting the disk
    parameterization. (Now (0,0) is on the outer ring, which isn't great, but
    seems like the least worst option.)

commit bf00edb
Author: Matt Pharr <[email protected]>
Date:   Sat Dec 29 16:26:58 2018 -0800

    Revert "Fix disk dPdv computation."

    This reverts commit 2b55c0c.

commit f42d4f1
Author: Matt Pharr <[email protected]>
Date:   Sat Dec 15 15:04:46 2018 -0800

    Fix typo in preprocessor definition.

    Via Hiroyuki Sakai, issue mmp#199.

commit 50e0710
Author: Yoshiyuki Yamariku <[email protected]>
Date:   Wed Dec 12 21:13:40 2018 +0900

    Update sphere.cpp

    Fix compile error on gcc when PBRT_FLOAT_AS_DOUBLE enabled.

commit 989666b
Author: Matt Pharr <[email protected]>
Date:   Sat Nov 24 11:37:25 2018 -0800

    Clean up code formatting to match pbrt-v3 and minimize diffs vs. the book

commit f0199ed
Author: Wenzel Jakob <[email protected]>
Date:   Sun Nov 18 11:43:03 2018 +0100

    Improve numerical behavior of Sphere::Sample()

    The current implementation of ``Sphere::Sample()`` computes ``sinTheta``
    from ``cosTheta`` using the expression
    ``std::sqrt(1-sinTheta*sinTheta)``.

    While convenient and computationally cheap, this approach suffers from
    severe cancellation errors for small angles, causing the sphere to
    effectively collapse down to a point. Numerical errors start to kick in
    below ``sinThetaMax`` < 1.5 degrees in single precision.

    As far as numerical issues go, this isn't that terrible — a point light
    is a relatively good approximation to a distant sphere. Yet, 1.5 degrees
    seems relatively large and we can easily do better by computing
    ``sinTheta`` directly using a Taylor series expansion. This commit
    introduces such an approximation and also reorganizes the computation to
    be a bit more efficient.

commit eeaed2b
Author: Peihong <[email protected]>
Date:   Mon Jul 16 00:09:20 2018 -0700

    Bug fix for TransformCache

    `hashTable.resize(512)` should be done after `hashTable.clear()`, otherwise the size of the hash table will be 0 after `Clear` is called. When pbrt is compiled as a library, this would lead to crash in multiple rendering passes.

commit 0cca3d3
Author: linhsu0723 <[email protected]>
Date:   Fri Nov 9 05:56:58 2018 +0800

    ScopedAssignment: move assignment operator

commit da42851
Author: Andrew Tinits <[email protected]>
Date:   Thu Nov 8 17:26:36 2018 -0500

    Remove unused variable wi

commit 90f7d92
Author: Sébastien Rombauts <[email protected]>
Date:   Thu Nov 8 01:36:35 2018 +0100

    Add Visual Studio folders using source_group() and add headers to them (mmp#206)

    Without that, the Visual Studio solution does not show headers, and does group all source files from all sub-directories into on big mess.

commit 33800d3
Author: Matt Pharr <[email protected]>
Date:   Fri Nov 2 11:19:18 2018 -0700

    Fix overflow bug in I0().

    ifact would overflow a 32-bit integer.
    via Matthias Raab.

commit d47c52f
Author: Matthias Moulin <[email protected]>
Date:   Thu Nov 1 21:22:07 2018 +0100

    Removed unused baseColor texture (mmp#205)

    The single channel `baseColor` texture is already "replaced" by the n-channel `color` texture. Note that `base color` is the actual terminology used by Burley.

commit 8ef190d
Author: Matt Pharr <[email protected]>
Date:   Wed Oct 17 14:46:33 2018 -0700

    Update README.md for online edition of the book

commit 700e799
Author: Matt Pharr <[email protected]>
Date:   Mon Oct 8 16:28:57 2018 -0700

    Fix incorrect error message.

    (via Ingo Wald.)

commit d46fda4
Author: Matt Pharr <[email protected]>
Date:   Mon Oct 1 17:26:34 2018 -0700

    Update to latest OpenEXR.

    Fixes mmp#196.

commit fe3e55d
Author: Matt Pharr <[email protected]>
Date:   Mon Oct 1 09:25:02 2018 -0700

    Generate RGB EXRs; the alpha channel wasn't being used anyway.

commit c0986cf
Author: Matt Pharr <[email protected]>
Date:   Wed Aug 15 07:17:56 2018 -0700

    Remove CopyIlmBaseLibs from CMakeLists.txt

    Part of mmp#196 fix.

commit c74dae1
Author: Matt Pharr <[email protected]>
Date:   Mon Jul 30 07:23:42 2018 -0700

    Don't expand Include directives with --cat and --toply

commit cd7d7a9
Author: Matt Pharr <[email protected]>
Date:   Sun Jul 29 20:48:59 2018 -0700

    Update Dockerfile

commit 7d624ad
Author: Matt Pharr <[email protected]>
Date:   Wed Jul 25 15:38:25 2018 -0700

    Also check for _WIN32 in little endian check

commit ce1d69e
Author: Matt Pharr <[email protected]>
Date:   Wed Jul 25 15:06:50 2018 -0700

    Disable more chatty MSVC warnings

commit c3f337d
Author: Matt Pharr <[email protected]>
Date:   Wed Jul 25 15:02:22 2018 -0700

    Fix LNK4049 warnings from glog in MSVC build

commit 56d8d19
Author: Matt Pharr <[email protected]>
Date:   Wed Jul 25 14:52:59 2018 -0700

    Use folders in cmake to clean up generated MSVC solution file

commit 6346592
Author: Matt Pharr <[email protected]>
Date:   Wed Jul 25 14:38:32 2018 -0700

    Fix MSVC warning about tr1 namespace in gtest.h

commit b975881
Author: Matt Pharr <[email protected]>
Date:   Wed Jul 25 13:42:21 2018 -0700

    Improve README.md

    Add more detailed instructions about MSVC builds.

commit 71b03dc
Author: Matt Pharr <[email protected]>
Date:   Wed Jul 25 13:41:55 2018 -0700

    Specify float/double and RGB/spectral rendering via cmake config variables

commit 69bc471
Author: Charles de Rousiers <[email protected]>
Date:   Mon Jul 16 00:01:02 2018 +0200

    Fix double radians conversion, reducing the effect of the alpha parameter on hair appearance (mmp#189)

commit b35c2fa
Author: Matt Pharr <[email protected]>
Date:   Fri Jul 13 16:30:42 2018 -0700

    Fix Windows file memory mapping to work with large files (>2GB).

    Fix thanks to Steve Booth.

    Also, remove a gratuitous and inefficient string copy of the mapped file.

commit 095f6fd
Author: Matt Pharr <[email protected]>
Date:   Mon Jun 18 16:26:11 2018 -0700

    Fix (for real this time) buggy ProjectionLight cosTotalWidth initialization

commit e077418
Author: Matt Pharr <[email protected]>
Date:   Mon Jun 18 16:24:12 2018 -0700

    Fix race condition in StatRegisterer constructor

commit 6435419
Author: Matt Pharr <[email protected]>
Date:   Mon May 14 16:53:39 2018 -0700

    Allow empty quoted strings in the parser

commit 0761c1f
Author: Matt Pharr <[email protected]>
Date:   Fri May 11 19:41:57 2018 -0700

    Parser: exit out more quickly on errors

    Fixes some crashes on things like unterminated strings.

commit 0fa4f53
Author: Matt Pharr <[email protected]>
Date:   Fri May 11 19:41:04 2018 -0700

    SPPM: don't trace rays with zero contributions

commit 54d5e3d
Author: soma <[email protected]>
Date:   Tue May 8 05:32:18 2018 +0900

    Fix arguments handling (mmp#187)

commit 64873f4
Author: Matt Pharr <[email protected]>
Date:   Thu Apr 26 16:56:35 2018 -0700

    Fix error handling in decodeEscaped()

    Fixes mmp#186.

commit c289647
Author: Matt Pharr <[email protected]>
Date:   Mon Apr 9 09:45:56 2018 -0700

    Update CHECK_NOTNULL calls

commit 02a6162
Author: Matt Pharr <[email protected]>
Date:   Sat Apr 7 14:43:21 2018 -0700

    ptex build cleanup in CMakeLists.txt

    Disable building shared libs (we don’t need them, and they’re
    problematic when we’re building zlib as well, since we only build a
    static zlib)

commit 56bd7cc
Author: Matt Pharr <[email protected]>
Date:   Sat Apr 7 14:29:04 2018 -0700

    Update to latest ptex

commit dd42551
Author: Matt Pharr <[email protected]>
Date:   Thu Mar 29 17:16:46 2018 -0700

    Always evaluate all BxDF components in BSDF::Sample_f

    As noted by 卡卡西 on the pbrt mailing list, the current implementation
    can have light leaks if the sampled direction is under the surface.

commit 73c06fe
Author: Matt Pharr <[email protected]>
Date:   Thu Mar 29 12:57:12 2018 -0700

    Remove comment and update DisneyClearcoat f() to be more clear.

commit 174d4c7
Author: Matt Pharr <[email protected]>
Date:   Thu Mar 29 12:27:52 2018 -0700

    Clean up handling of zlib in CMakeLists.txt

    Possibly helps issue mmp#174

commit e4f5681
Author: Matt Pharr <[email protected]>
Date:   Thu Mar 29 12:26:25 2018 -0700

    Fix DisneyBSSRDF::S().

    Sw() was adding an extra Fresnel term and an unneeded normalization
    scale.

    Issue mmp#173

commit d644d2a
Author: Matt Pharr <[email protected]>
Date:   Thu Mar 29 08:30:58 2018 -0700

    Remove excess cos theta terms from DisneyClearCoat::f()

    These are actually already present, via SmithG_GGX(). Empirically,
    adding these also made the BxDF non-energy conserving.

    (Issue mmp#172).

commit 40fe422
Author: liftA42 <[email protected]>
Date:   Fri Mar 30 02:36:45 2018 +0800

    Fix unit test for print util (mmp#166)

commit c24e8e5
Author: Matt Pharr <[email protected]>
Date:   Tue Mar 6 16:41:53 2018 -0800

    Add distance scale factor to DisneyBSSRDF

commit b02c169
Author: Matt Pharr <[email protected]>
Date:   Mon Mar 5 11:40:39 2018 -0800

    Run clang-format on parser.cpp

commit 7d35bc0
Author: Immocat <[email protected]>
Date:   Mon Mar 5 08:23:21 2018 -0800

    fix_DisneyClearcoat_bug v1 (mmp#172)

commit 7aad635
Author: Matt Pharr <[email protected]>
Date:   Mon Mar 5 08:00:09 2018 -0800

    DisneyMaterial updates

    Address a few issues identified by Evgenii Golubev; thanks to Brent Burley
    for additional clarification.

commit 99feb88
Author: Matt Pharr <[email protected]>
Date:   Fri Mar 2 11:55:41 2018 -0800

    Work around MSVC2013 limitation

commit 53b8cb6
Author: Matt Pharr <[email protected]>
Date:   Fri Mar 2 10:23:56 2018 -0800

    Allow specifying image crop window via the command-line

commit 96b9410
Author: Matt Pharr <[email protected]>
Date:   Tue Feb 27 15:35:46 2018 -0800

    Record VolPathIntegrator path length with an integer distribution

    Issue mmp#176 via @abusch.

commit c951c54
Author: Alexandre Baron <[email protected]>
Date:   Mon Feb 19 00:28:03 2018 +0100

    Make the parser use file memory-mapping on Windows too. (mmp#175)

    * Make the parser use file memory-mapping on Windows too.

    * Omit \r characters in comments and scope the test tokenizer to make unit tests happy

commit dddc27a
Author: Matt Pharr <[email protected]>
Date:   Sun Feb 18 14:43:54 2018 -0800

    Triangle: compute dndu and dndv even if the parameterization is degenerate

commit a03ba64
Author: Matt Pharr <[email protected]>
Date:   Sat Feb 17 15:38:52 2018 -0800

    Fix rare attempt to Normalize() degenerate vector in Triangle intersection

    With frame380 of the measure one scene, a ray would occasionally be
    reported hit a triangle with zero area that we'd then try to compute a
    normal for.

    Added a test for that specific case.

commit 1f739ff
Author: Matt Pharr <[email protected]>
Date:   Fri Feb 16 13:44:13 2018 -0800

    #include cleanups

commit 9a49bad
Author: Matt Pharr <[email protected]>
Date:   Fri Feb 16 11:05:53 2018 -0800

    Move ParseFile to official api: pbrtParseFile

    Also add pbrtParseString()

commit eba742e
Author: Matt Pharr <[email protected]>
Date:   Fri Feb 16 11:05:04 2018 -0800

    Forward declare TransformedPrimitive in pbrt.h

commit fa9fa2d
Author: Matt Pharr <[email protected]>
Date:   Wed Feb 14 19:19:10 2018 -0800

    Remove unused parser detritus

commit 5d1fb69
Author: Matt Pharr <[email protected]>
Date:   Fri Jan 26 13:48:49 2018 -0800

    Fix printing of boolean parameters in --cat/--fmt

commit 222e7a3
Author: Matt Pharr <[email protected]>
Date:   Mon Jan 15 16:24:10 2018 -0800

    homebrew modifications to hash functions are a bad idea

commit 18e9fd4
Author: Matt Pharr <[email protected]>
Date:   Mon Jan 15 14:14:03 2018 -0800

    Curve: look for splitdepth as an integer parameter

    (Still accept it as a float for backwards compatibility)

    Issue mmp#171.

commit 736c939
Author: Matt Pharr <[email protected]>
Date:   Fri Jan 12 16:11:21 2018 -0800

    Remove unneeded unistd.h check from CMakeLists

commit 553545a
Author: Matt Pharr <[email protected]>
Date:   Fri Jan 12 16:06:22 2018 -0800

    Improve error checking for missing submodules

commit fd89479
Author: Matt Pharr <[email protected]>
Date:   Fri Jan 12 15:56:57 2018 -0800

    Remove mention of flex and bison from README.md

commit d68e7c4
Author: Matt Pharr <[email protected]>
Date:   Fri Jan 12 15:56:46 2018 -0800

    Fix possible invalid memory reference in ParseFile()

commit 1dba79b
Author: Matt Pharr <[email protected]>
Date:   Wed Jan 10 06:05:02 2018 -0800

    Fix bug in handling of ungetToken in parser

    The parser would crash if an unget was done after the last token in a
    file was read (and thence, the file had been removed from fileStack)

commit d7e6d71
Author: Matt Pharr <[email protected]>
Date:   Sun Jan 7 16:00:01 2018 -0800

    Fix bug in ptex gamma correction

commit 04426b9
Author: Matt Pharr <[email protected]>
Date:   Sun Jan 7 15:41:50 2018 -0800

    Ptex improvements

    Optionally apply gamma correction to returned values (2.2 default)
    Set max texture cache size to 4GB

commit a73a643
Author: Matt Pharr <[email protected]>
Date:   Sun Jan 7 15:18:30 2018 -0800

    Improve performance of AttributeBegin/AttributeEnd

    Use a copy-on-write approach for textures and named materials to avoid
    making unnecessary copies of the underlying std::maps.

commit 5b837b2
Author: Matt Pharr <[email protected]>
Date:   Sun Jan 7 15:17:38 2018 -0800

    Bump printed copyright to 2018

commit fa1d4fd
Author: Matt Pharr <[email protected]>
Date:   Sun Jan 7 15:16:55 2018 -0800

    Rewrite scene file lexer and parser by hand (mmp#169)

    * Rewrite scene file lexer and parser by hand

    This substantially reduces time parsing very complex scene descriptions.

    Removed the old flex/bison-based parser.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant