http://www.miikahweb.com/feed.php MiikaHweb - Blender Gsoc-2018-many-light-sampling Branch http://www.miikahweb.com/ MiikaHweb - Blender Gsoc-2018-many-light-sampling Branch fi Sun, 25 Aug 19 11:55:13 +0000 MiikaHweb RSS contact at miikahweb.com <![CDATA[[8d399ee]: Merge branch 'master' into gsoc-2018-many-light-sampling]]> http://www.miikahweb.com/en/blender/git-logs/commit/8d399eef67b68d663b93f33aa36fde24564ba81e 8d399ee
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Merge branch 'master' into gsoc-2018-many-light-sampling

----------------------------------------
0 Paths Changed]]>
Sun, 12 Aug 2018 10:30:42 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/8d399eef67b68d663b93f33aa36fde24564ba81eErik Englesson
<![CDATA[[2d839a0]: Cycles: Removed unused code]]> http://www.miikahweb.com/en/blender/git-logs/commit/2d839a08e4939d7c5a113f675cebf5cb8cd7d2bc 2d839a0
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: Removed unused code

The simplified GGX code is no longer needed
with the new splitting heuristic and has
now been removed.

----------------------------------------
1 Path Changed]]>
Sun, 12 Aug 2018 09:57:16 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/2d839a08e4939d7c5a113f675cebf5cb8cd7d2bcErik Englesson
<![CDATA[[4608e5a]: Cycles: light_tree_pdf() now accounts for splitting]]> http://www.miikahweb.com/en/blender/git-logs/commit/4608e5ac269758df5c37e57b77afadd27fcf6de2 4608e5a
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: light_tree_pdf() now accounts for splitting

For the MIS calculations we need to be able to calculate the
probability to sample a light using the light tree. This
did not account for splitting so if splitting was used the
probability would be wrong. This has now been fixed.

Also, if we are in PATH mode then the splitting threshold is
set to zero.

----------------------------------------
3 Paths Changed]]>
Sun, 12 Aug 2018 09:59:33 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/4608e5ac269758df5c37e57b77afadd27fcf6de2Erik Englesson
<![CDATA[[0216dae]: Cycles: Removed energy term in SAOH denominator]]> http://www.miikahweb.com/en/blender/git-logs/commit/0216daeb8051f631e0950f2f046751be028038b2 0216dae
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: Removed energy term in SAOH denominator

This should not affect the result since it is just a
scale factor to all terms in the minimization. This
term was not in eq. 2 of the paper.

----------------------------------------
1 Path Changed]]>
Fri, 10 Aug 2018 15:34:23 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/0216daeb8051f631e0950f2f046751be028038b2Erik Englesson
<![CDATA[[8e36d94]: Cycles: Added more comments and renamed variables]]> http://www.miikahweb.com/en/blender/git-logs/commit/8e36d94be266dc64afd9861a6fd5aa9cbbecc0f5 8e36d94
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: Added more comments and renamed variables

More code comments have been added to all code related to
the light tree. I also renamed all uses of "light BVH" to
use light tree instead to keep everything consistent.
Functions and variable names that used the camel case
naming convention has been changed to follow Blender's
code style. Also, unneeded includes were removed.

----------------------------------------
13 Paths Changed]]>
Fri, 10 Aug 2018 15:31:33 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/8e36d94be266dc64afd9861a6fd5aa9cbbecc0f5Erik Englesson
<![CDATA[[108594d]: Cycles: Light tree: energy and light picking fixes]]> http://www.miikahweb.com/en/blender/git-logs/commit/108594d8c844edb09afdac1a355f0b6d99cb80db 108594d
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: Light tree: energy and light picking fixes

When calculating the energy for a light source I previously returned
zero energy if is_constant_emission() returned false. This has now
been changed so it uses an emission of (1,1,1) instead.

The normal that is used for light picking for the BSDF approximation
in the importance calculations now takes into consideration if the
point is on glass, a reflective or transmissive surface. The position
and normal used for light picking is now stored in the ShaderData struct.

----------------------------------------
15 Paths Changed]]>
Fri, 03 Aug 2018 15:22:23 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/108594d8c844edb09afdac1a355f0b6d99cb80dbErik Englesson
<![CDATA[[5d344f4]: Cycles: Light tree: Area light fix]]> http://www.miikahweb.com/en/blender/git-logs/commit/5d344f43603ddba8f3a009915b92a5374066efeb 5d344f4
Branches : gsoc-2018-many-light-sampling
Author : Unknown ()
----------------------------------------
Cycles: Light tree: Area light fix

The bounding boxes for area lights was not calculated
properly but has now been fixed.

----------------------------------------
2 Paths Changed]]>
Fri, 03 Aug 2018 15:22:23 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/5d344f43603ddba8f3a009915b92a5374066efeb
<![CDATA[[84fec21]: Cycles: Light tree instancing and energy fixes]]> http://www.miikahweb.com/en/blender/git-logs/commit/84fec21522616b93d7b4f7ee7563d9502fb79a32 84fec21
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: Light tree instancing and energy fixes

Instancing for mesh lights now works with the light tree.
The conversion from emission to luminance is now using
linear_rgb_to_gray() instead.

----------------------------------------
6 Paths Changed]]>
Fri, 03 Aug 2018 15:21:40 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/84fec21522616b93d7b4f7ee7563d9502fb79a32Erik Englesson
<![CDATA[[94af432]: Cycles: Light tree: volume and MIS fixes]]> http://www.miikahweb.com/en/blender/git-logs/commit/94af4326e3fc22fe1b229a3e2435fb6ccfe36ce9 94af432
Branches : gsoc-2018-many-light-sampling
Author : Unknown ()
----------------------------------------
Cycles: Light tree: volume and MIS fixes

Now using a more reliable way of knowing if a shading point
is inside or on the boundary of a volume.

Fixed a bug in light_background_sample() that used an index
into the lights array as an index into the distribution array.

----------------------------------------
8 Paths Changed]]>
Fri, 03 Aug 2018 15:24:32 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/94af4326e3fc22fe1b229a3e2435fb6ccfe36ce9
<![CDATA[[e8e0669]: Cycles: Picking position and normal fix for MIS]]> http://www.miikahweb.com/en/blender/git-logs/commit/e8e0669785cdd3b88f431e560a7323ae45958142 e8e0669
Branches : gsoc-2018-many-light-sampling
Author : Unknown ()
----------------------------------------
Cycles: Picking position and normal fix for MIS

The picking position and normal has been changed to
use the position and normal from the last
non-transparent bounce.

----------------------------------------
8 Paths Changed]]>
Fri, 03 Aug 2018 15:22:23 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/e8e0669785cdd3b88f431e560a7323ae45958142
<![CDATA[[f630504]: Cycles: Light tree split heuristic fix]]> http://www.miikahweb.com/en/blender/git-logs/commit/f6305047f44bf3168b1da8601307d78015ad8f65 f630504
Branches : gsoc-2018-many-light-sampling
Author : Unknown ()
----------------------------------------
Cycles: Light tree split heuristic fix

Doubles are no longer needed in the split heuristic
calculations.

----------------------------------------
1 Path Changed]]>
Fri, 03 Aug 2018 15:24:32 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/f6305047f44bf3168b1da8601307d78015ad8f65
<![CDATA[[b1837d5]: Fix CUDA build for many light sampling, still fails when running...]]> http://www.miikahweb.com/en/blender/git-logs/commit/b1837d5f69b1b2a8ec931c5a7a73464315d639b0 b1837d5
Branches : gsoc-2018-many-light-sampling
Author : Brecht Van Lommel (brecht)
----------------------------------------
Fix CUDA build for many light sampling, still fails when running.

----------------------------------------
5 Paths Changed]]>
Mon, 30 Jul 2018 10:03:17 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/b1837d5f69b1b2a8ec931c5a7a73464315d639b0Brecht Van Lommel
<![CDATA[[b3c375e]: Fix missing viewport update when toggling light BVH option.]]> http://www.miikahweb.com/en/blender/git-logs/commit/b3c375e37e2cbe3027d846129adb7aabc837fa4e b3c375e
Branches : gsoc-2018-many-light-sampling
Author : Brecht Van Lommel (brecht)
----------------------------------------
Fix missing viewport update when toggling light BVH option.

----------------------------------------
3 Paths Changed]]>
Mon, 30 Jul 2018 10:03:17 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/b3c375e37e2cbe3027d846129adb7aabc837fa4eBrecht Van Lommel
<![CDATA[[00b90ed]: Cycles: Light tree related bug fixes]]> http://www.miikahweb.com/en/blender/git-logs/commit/00b90ede1b8cba0d47a4cdc7c6d48f49ed15d677 00b90ed
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: Light tree related bug fixes

- Fixed bug in triangle_light_pdf_area() from PDF refactor
- Early exit if picking prob is zero in tree traversal
- The background index is now an index into the lights
array instead of the distribution array.

----------------------------------------
2 Paths Changed]]>
Fri, 27 Jul 2018 16:16:21 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/00b90ede1b8cba0d47a4cdc7c6d48f49ed15d677Erik Englesson
<![CDATA[[1fe1e74]: Cycles: WIP: Volumes are not using the light tree.]]> http://www.miikahweb.com/en/blender/git-logs/commit/1fe1e742a6f27a051c98025898ca61a536cb477f 1fe1e74
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: WIP: Volumes are not using the light tree.

If a shading point is inside or on the boundary of a volume
then it will use the old sampling method until we have
properly implemented the volume parts of the paper.

Also, the PDF picking probability for volumes have now been
updated properly since the PDF restructure.

Tried to provide the correct shading point and normal to
the MIS calculations. This part needs more work.

----------------------------------------
9 Paths Changed]]>
Fri, 27 Jul 2018 16:19:09 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/1fe1e742a6f27a051c98025898ca61a536cb477fErik Englesson
<![CDATA[[6045fc4]: Cycles: Light tree optimization]]> http://www.miikahweb.com/en/blender/git-logs/commit/6045fc40f4cd1d89f326a2d937e07752f5e3ad7c 6045fc4
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: Light tree optimization

The importance metric calculations now uses the
fast_cos() and fast_acos() functions. This gave
a 1.4x speedup on one of the test scenes.

----------------------------------------
1 Path Changed]]>
Fri, 27 Jul 2018 16:18:59 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/6045fc40f4cd1d89f326a2d937e07752f5e3ad7cErik Englesson
<![CDATA[[beef487]: Cycles: Several emitters per leaf in light tree]]> http://www.miikahweb.com/en/blender/git-logs/commit/beef4874d330776d825c666ad21809c3b9fd0bcc beef487
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: Several emitters per leaf in light tree

This commits makes it possible for leaf nodes in the
light tree to have more than one emitter. This reduces
the maximum depth of the light tree which makes the
traversal of the tree faster but the sampling code
is slower if a leaf with several emitters is found.

Technical details:
-- If cost of splitting in build is larger than the
energy of the node then we create a leaf instead
of splitting.
-- Maximum emitters per leaf is now set to 64
-- During traversal if a leaf with several emitters
is found then we sample one of these based on
the importance of each emitter. This is calculated
on the fly and therefore a CDF generation without
dynamic allocation was implemented.
- Moved the distribution id to node id lookup from
light_distribution_pdf() to light_bvh_pdf().

----------------------------------------
8 Paths Changed]]>
Fri, 20 Jul 2018 12:29:20 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/beef4874d330776d825c666ad21809c3b9fd0bccErik Englesson
<![CDATA[[0db119a]: Cycles: Updated SAOH with regularization factor]]> http://www.miikahweb.com/en/blender/git-logs/commit/0db119ad11e4738808fa9766829f8d0ddde18e5f 0db119a
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: Updated SAOH with regularization factor

This factor penalizes thin bounding boxes in
the tree construction.

----------------------------------------
1 Path Changed]]>
Fri, 13 Jul 2018 11:44:25 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/0db119ad11e4738808fa9766829f8d0ddde18e5fErik Englesson
<![CDATA[[2d6e1dd]: Cycles: Updated rescaling of random numbers]]> http://www.miikahweb.com/en/blender/git-logs/commit/2d6e1ddb94a3bcedf3dae486c4c533b015e3311f 2d6e1dd
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: Updated rescaling of random numbers

The new paper describes how they rescale the
random numbers in the tree traversal. We do
the same now.

----------------------------------------
2 Paths Changed]]>
Fri, 13 Jul 2018 11:30:09 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/2d6e1ddb94a3bcedf3dae486c4c533b015e3311fErik Englesson
<![CDATA[[260b2e9]: Cycles: Updated the importance metric]]> http://www.miikahweb.com/en/blender/git-logs/commit/260b2e9e20ac2c2acff17498e2ca006f2a2d9d95 260b2e9
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: Updated the importance metric

The new paper provides an updated importance
metric which is now implemented. Also, a bug
in the index used for background lights in
the MIS calculations have been fixed.

Technical details:
- The new importance metric depends on the
normal at the shading point. The MIS
calculations have been changed
accordingly.

- The uncertainty angle was described in
the paper and is now implemented.

- In the implementation details section
of the paper they mention that they
limit the distance if splitting is
disabled. This is implemented too.

----------------------------------------
10 Paths Changed]]>
Fri, 13 Jul 2018 11:33:01 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/260b2e9e20ac2c2acff17498e2ca006f2a2d9d95Erik Englesson
<![CDATA[[8a0ff32]: Cycles: Updated cone aggregation and measure]]> http://www.miikahweb.com/en/blender/git-logs/commit/8a0ff32abda6171c10b5f4d8f37f6ef82ec4376a 8a0ff32
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: Updated cone aggregation and measure

The paper provided a way to merge two bounding
cones and an updated version of the cone
measure.

----------------------------------------
2 Paths Changed]]>
Fri, 13 Jul 2018 11:41:00 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/8a0ff32abda6171c10b5f4d8f37f6ef82ec4376aErik Englesson
<![CDATA[[c6bd7a9]: Cycles: Updated the split heuristic]]> http://www.miikahweb.com/en/blender/git-logs/commit/c6bd7a974b34d47f01f02666d8cdd5057bc77eba c6bd7a9
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: Updated the split heuristic

The split heuristic is now based on the
new paper instead of the abstract/slides
from 2017.

----------------------------------------
5 Paths Changed]]>
Fri, 13 Jul 2018 11:21:32 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/c6bd7a974b34d47f01f02666d8cdd5057bc77ebaErik Englesson
<![CDATA[[ff4833a]: Cycles: Bug fixes]]> http://www.miikahweb.com/en/blender/git-logs/commit/ff4833a6b395eef84e2a60a32f934c2f3a0e7d63 ff4833a
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: Bug fixes

- Stopping recursive tree traversal if
negative PDFs are encountered.

- accum_light_tree_contribution() now
takes a scale factor as input which
is passed through to accum_light_contribution

- light_bvh_sample now changes randu. This
is similar to the other *_sample functions.
This fixed a bug where recursive traversal
with no splitting gave a different result
compared to just using light_sample.

----------------------------------------
2 Paths Changed]]>
Fri, 13 Jul 2018 11:47:18 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/ff4833a6b395eef84e2a60a32f934c2f3a0e7d63Erik Englesson
<![CDATA[[36cfc9e]: Cycles: First iteration on split traversal]]> http://www.miikahweb.com/en/blender/git-logs/commit/36cfc9e9fdc12beeec3545854bb2ccbb23ef17c6 36cfc9e
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: First iteration on split traversal

This makes it possible to sample and evaluate several
lights in a single tree traversal. Should sample highly
specular lights better too. Can only be used in branched
path tracing.

This commit contains the following:
* GUI for setting the splitting threshold
* Recursive split traversal
- Split method based on solid angle and BSDF peak
- At leafs the path radiance is accumulated to L
- Have created a simplified GGX eval that is not
currently being used.
* Refactor of common code

This is in development.

----------------------------------------
10 Paths Changed]]>
Fri, 06 Jul 2018 07:20:41 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/36cfc9e9fdc12beeec3545854bb2ccbb23ef17c6Erik Englesson
<![CDATA[[136991b]: Merge branch 'master' into gsoc-2018-many-light-sampling]]> http://www.miikahweb.com/en/blender/git-logs/commit/136991be1a8afc6938c587558a0a75f096888d5a 136991b
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Merge branch 'master' into gsoc-2018-many-light-sampling

----------------------------------------
0 Paths Changed]]>
Fri, 29 Jun 2018 09:02:18 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/136991be1a8afc6938c587558a0a75f096888d5aErik Englesson
<![CDATA[[5c10bd4]: Fix: Merge conflict with background resolution]]> http://www.miikahweb.com/en/blender/git-logs/commit/5c10bd4f199377fc2d0aaeadfd99d7c5ab511d95 5c10bd4
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Fix: Merge conflict with background resolution

----------------------------------------
2 Paths Changed]]>
Fri, 29 Jun 2018 14:25:28 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/5c10bd4f199377fc2d0aaeadfd99d7c5ab511d95Erik Englesson
<![CDATA[[2cdb08f]: Cycles: Background lights works with light tree]]> http://www.miikahweb.com/en/blender/git-logs/commit/2cdb08f4ffb3d7d24935d82ba32b1b1100ee2cd6 2cdb08f
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: Background lights works with light tree

Added support for background lights when using the
light tree, fixed minor bugs related to disabled lights
and trying to build the light tree without any lights.

Now samples either the light tree, distant lights or
background lights based on their energy.

----------------------------------------
11 Paths Changed]]>
Fri, 29 Jun 2018 08:34:15 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/2cdb08f4ffb3d7d24935d82ba32b1b1100ee2cd6Erik Englesson
<![CDATA[[118731d]: Cycles: New design for PDF computations]]> http://www.miikahweb.com/en/blender/git-logs/commit/118731d7d415eade1584cdd005a8101e5a438a65 118731d
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: New design for PDF computations

Now there are functions to calculate the picking
probability for a given lamp/triangle. Fixed
a bug that lamps was before triangles in the
distribution array.

----------------------------------------
9 Paths Changed]]>
Fri, 22 Jun 2018 06:05:52 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/118731d7d415eade1584cdd005a8101e5a438a65Erik Englesson
<![CDATA[[2f85295]: Cleanup: Replaced space tabs with real tabs]]> http://www.miikahweb.com/en/blender/git-logs/commit/2f85295be657cf3361c0e97afe1e1b36ceb21eed 2f85295
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cleanup: Replaced space tabs with real tabs

----------------------------------------
4 Paths Changed]]>
Thu, 21 Jun 2018 09:33:01 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/2f85295be657cf3361c0e97afe1e1b36ceb21eedErik Englesson
<![CDATA[[8b24cf8]: Cycles: Support for distant lights]]> http://www.miikahweb.com/en/blender/git-logs/commit/8b24cf8c83a124dbc367897db13799c36ff645f3 8b24cf8
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: Support for distant lights

Distant lights are not put in the light
BVH and are treated as a special case.
Either we sample a light from the BVH
or choose one of the distant lights.

----------------------------------------
4 Paths Changed]]>
Fri, 22 Jun 2018 06:07:00 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/8b24cf8c83a124dbc367897db13799c36ff645f3Erik Englesson
<![CDATA[[6f2d885]: Cleanup: Refactored code]]> http://www.miikahweb.com/en/blender/git-logs/commit/6f2d885f7edb360e21116b4d4c6496fe3f7b131e 6f2d885
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cleanup: Refactored code

Merged the device_update_tree_distribution()
and device_update_distribution() functions.

----------------------------------------
2 Paths Changed]]>
Fri, 15 Jun 2018 10:27:32 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/6f2d885f7edb360e21116b4d4c6496fe3f7b131eErik Englesson
<![CDATA[[df7f4d1]: Cycles: Area lights support and better energy estimation]]> http://www.miikahweb.com/en/blender/git-logs/commit/df7f4d1e2692c6c8ff3a32acd8863e349c260ac6 df7f4d1
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: Area lights support and better energy estimation

The light BVH now supports area lights. Also, the total emitted
energy of each light is now calculated by integrating luminance
over the sphere of directions and area.

----------------------------------------
2 Paths Changed]]>
Fri, 15 Jun 2018 10:21:38 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/df7f4d1e2692c6c8ff3a32acd8863e349c260ac6Erik Englesson
<![CDATA[[0028f7c]: Merge branch 'master' into gsoc-2018-many-light-sampling]]> http://www.miikahweb.com/en/blender/git-logs/commit/0028f7cf0f41211d183853460e544830068badb0 0028f7c
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Merge branch 'master' into gsoc-2018-many-light-sampling

----------------------------------------
0 Paths Changed]]>
Fri, 08 Jun 2018 13:21:09 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/0028f7cf0f41211d183853460e544830068badb0Erik Englesson
<![CDATA[[4f55918]: Cycles: Implemented the SAOH splitting method]]> http://www.miikahweb.com/en/blender/git-logs/commit/4f55918a5e93e7ab18ea46e3874002986719518b 4f55918
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: Implemented the SAOH splitting method

Previously the light bvh construction code used a simple method
to split a node into two child nodes based only on the bounding
box of the node. Now, it splits a node into two by looking at
the energy and direction of the lights inside the nodes and the
area of their bounding boxes.

Technical changes:
- Implemented orientation BVH build
- Added energy to each node based on emission
- Updated PDF calculations for lights when using the light BVH

----------------------------------------
4 Paths Changed]]>
Fri, 08 Jun 2018 11:51:43 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/4f55918a5e93e7ab18ea46e3874002986719518bErik Englesson
<![CDATA[[a3826bf]: Cycles: Added a checkbox in Blender's GUI to turn]]> http://www.miikahweb.com/en/blender/git-logs/commit/a3826bf41c6a4de9486a0c60c5c3b67587cd2e5f a3826bf
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: Added a checkbox in Blender's GUI to turn
on/off the new light sampling method.

The checkbox can be found at the bottom of the sampling
section in the Render tab. The method is not used by
default.

----------------------------------------
7 Paths Changed]]>
Fri, 08 Jun 2018 11:51:49 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/a3826bf41c6a4de9486a0c60c5c3b67587cd2e5fErik Englesson
<![CDATA[[bcb89f0]: Fix: Minimal compilation error fix]]> http://www.miikahweb.com/en/blender/git-logs/commit/bcb89f0b967837ee5c05e0641b91c7ac8712fb9b bcb89f0
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Fix: Minimal compilation error fix

----------------------------------------
1 Path Changed]]>
Mon, 04 Jun 2018 09:10:08 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/bcb89f0b967837ee5c05e0641b91c7ac8712fb9bErik Englesson
<![CDATA[[0347abe]: Cycles: Add Support for IES files as textures for light strength...]]> http://www.miikahweb.com/en/blender/git-logs/commit/0347abee2d7645bd9de07b5f0520bc6676cdd222 0347abe
Branches : gsoc-2018-many-light-sampling
Author : Lukas Stockner (lukasstockner97)
Committed By : Erik Englesson (ErikEnglesson)
----------------------------------------
Cycles: Add Support for IES files as textures for light strength

This patch adds support for IES files, a file format that is commonly used to store the directional intensity distribution of light sources.
The new IES node is supposed to be plugged into the Strength input of the Emission node of the lamp.

Since people generating IES files do not really seem to care about the standard, the parser is flexible enough to accept all test files I have tried.
Some common weirdnesses are distributing values over multiple lines that should go into one line, using commas instead of spaces as delimiters and adding various useless stuff at the end of the file.

The user interface of the node is similar to the script node, the user can either select an internal Text or load a file.
Internally, IES files are handled similar to Image textures: They are stored in slots by the LightManager and each unique IES is assigned to one slot.

The local coordinate system of the lamp is used, so that the direction of the light can be changed. For UI reasons, it's usually best to add an area light,
rotate it and then change its type, since especially the point light does not immediately show its local coordinate system in the viewport.

Reviewers: #cycles, dingto, sergey, brecht

Reviewed By: #cycles, dingto, brecht

Subscribers: OgDEV, crazyrobinhood, secundar, cardboard, pisuke, intrah, swerner, micah_denn, harvester, gottfried, disnel, campbellbarton, duarteframos, Lapineige, brecht, juicyfruit, dingto, marek, rickyblender, bliblubli, lockal, sergey

Differential Revision: https://developer.blender.org/D1543

----------------------------------------
39 Paths Changed]]>
Fri, 01 Jun 2018 13:41:18 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/0347abee2d7645bd9de07b5f0520bc6676cdd222Lukas Stockner
<![CDATA[[1d5ecd2]: WM: check modal handlers for keymap lookups]]> http://www.miikahweb.com/en/blender/git-logs/commit/1d5ecd2a6b389a9f438079de70d5d126f3a37cf7 1d5ecd2
Branches : gsoc-2018-many-light-sampling
Author : Campbell Barton (campbellbarton)
Committed By : Erik Englesson (ErikEnglesson)
----------------------------------------
WM: check modal handlers for keymap lookups

Keep in sync with 2.8x

----------------------------------------
1 Path Changed]]>
Fri, 01 Jun 2018 13:41:17 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/1d5ecd2a6b389a9f438079de70d5d126f3a37cf7Campbell Barton
<![CDATA[[2b21ce7]: Threads: add spinlock hit for hyperthreading processors on...]]> http://www.miikahweb.com/en/blender/git-logs/commit/2b21ce73e9339a71b2b7edd98c823cba99388a14 2b21ce7
Branches : gsoc-2018-many-light-sampling
Author : Brecht Van Lommel (brecht)
Committed By : Erik Englesson (ErikEnglesson)
----------------------------------------
Threads: add spinlock hit for hyperthreading processors on Windows.

Suggested by Percy Ross Tiglao.

----------------------------------------
1 Path Changed]]>
Fri, 01 Jun 2018 13:41:18 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/2b21ce73e9339a71b2b7edd98c823cba99388a14Brecht Van Lommel
<![CDATA[[2e17c3f]: Added simple construction and sampling code for light BVH]]> http://www.miikahweb.com/en/blender/git-logs/commit/2e17c3f3a10bb2f6a62b1e8d5d236c437f7ae4e8 2e17c3f
Branches : gsoc-2018-many-light-sampling
Author : Erik Englesson (ErikEnglesson)
----------------------------------------
Added simple construction and sampling code for light BVH

The light BVH is created on the host out of all emissive
triangles and all lights in the scene. The nodes of the
light BVH is then copied to the device where it is used
when sampling lights. When a light is asked for it
traverses the light BVH randomly to find a single light.

This is still very much in development.

----------------------------------------
10 Paths Changed]]>
Fri, 01 Jun 2018 14:12:17 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/2e17c3f3a10bb2f6a62b1e8d5d236c437f7ae4e8Erik Englesson