forked from appleseedhq/appleseed
-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Petra Gospodnetic edited this page Aug 21, 2017
·
219 revisions
Goal of the project is to integrate the new many-light sampling algorithm proposed by Nathan Veghdal
-
& 13. August 7th - August 18th
- SAH partitioner without split stop
SAH partitioner without the split cost stop - comparison | |
---|---|
SAH + squared distance | |
SAH + solid angle | |
CDF |
Squared distance node prob evaluation | |
---|---|
converging 1s | |
LT + SAH partitioner | |
LT + Middle partitioner | |
CDF |
Appleseed 2 Psychopath comparison | |
---|---|
Appleseed | Psychopath |
16spp | |
Middle Partitioner + squared distance | |
n/a | |
Middle Partitioner + solid angle | |
n/a | |
SAH Partitioner + squared distance | |
SAH Partitioner + solid angle | |
-
It seems that appleseed's and psychopath's SAH partitioners do not behave the same.
- I would expect it to behave very similar to middle partitioner in this case, where the lights are uniformly distributed over the scene, but it never performs the horizontal split
-
The partitioners did not behave the same because the surface of vertical bbox is smaller than the surface of the rectangular bbox (containing the same number of light sources) and therefore the partitioner was still not splitting along the longest dimension.
1 2 1
-----
* *| 1
| 2
* *| 1
| 2
* *| 1
| 2
* *| 1
-----
|* *|
| | A = 4 * 4 = 16
|* *|
-----
-
|*|
| |
|*|
| | A = 10 * 1
|*|
| |
|*|
-
- After modifying SAH to split along the longest dim:
Appleseed 2 Psychopath longest dimension split SAH comparison | |
---|---|
Appleseed | Psychopath |
16spp | |
SAH Partitioner + squared distance | |
SAH Partitioner + solid angle | |
- Add reference in the code to the used article
- FIX the rendering artifact in the EMT-NPL scene
- source of the problem was that the contribution returned zero contribution for some cases, which would cause the overall light probability to be zero as well
- fixed it by returning value slightly greater than zero
EMT-NPL scene | |
---|---|
CDF | LightTree with hemispherical light approximation |
- Improved sub-hemispherical light approximation
- in case of point being outside of the node, evaluate it using square distance light attenuation instead of surface area.
Improved sub-hemispherical approx | |
---|---|
16spp | |
Hemispherical light approx | |
Improved hemispherical light approx |
Improved sub-hemispherical approx | |
---|---|
16spp | |
CDF | |
Improved hemispherical light approx | |
Hemispherical light approx |
-
Implement proprietary LightTree partitioner
- partitions lights based on:
- surface
- intensity
- orientation
- partitions lights based on:
-
Produce many light test scenes
- many NPL light sources
- many mixed light sources
- Cone of normals
- K-means of children vertices
- Store items within the
LightTree
nodes - Store bbox node info within the node itself
- Reduce number of variables set by
recursive_node_update()
(i.e. variables which can be set during the building time)