Go to file
Sergey Sharybin 1e43f0d742 Cycles: Set of fixes for delayed SSS ray tracing
There were multiple issues which are solved now:

- It was possible that ray wouldn't be bounced off the BSSRDF, for example
  when PDF or shader eval is zero. In this case PathState might have been
  left in pre-bounced state which would have been gave incorrect shading
  results.

  This is solved by having separate PathState for each of the hits.

- Path radiance summing wasn't happening correct as well, indirect rays
  were using wrong path radiance in the case when there were more than
  one hit recorded.

  This is now using a bit trickier state machine which calculates path
  radiance for just SSS (both direct and indirect) and then sums it back
  to the final radiance.

- Previous commit wasn't totally correct either and was an induced bug
  due to wrong path state left from the "un-happened" ray bounce.

  There should be no special case happening here, BSSRDFs will be replaced
  with diffuse ones due to PATH_RAY_DIFFUSE_ANCESTOR flag.

- Merged back codebases for "delayed" and "immediate" indirect SSS ray
  tracing, hopefully making it easier to maintain the codebase.

Sure this changes brings memory usage back by about 4-5%, but overall
it's still about 2x memory reduction for the experimental kernel here.

Thanks Brecht for the review!
2015-11-28 20:07:34 +05:00
build_files missed last commit 2015-11-27 18:00:02 +11:00
doc Docs: create link pointing to latest API docs 2015-11-11 04:14:11 +11:00
extern CUEW: Update to latest version 2015-11-25 23:30:46 +05:00
intern Cycles: Set of fixes for delayed SSS ray tracing 2015-11-28 20:07:34 +05:00
release Sequencer: nested scene strip support (like metas) 2015-11-26 00:15:08 +11:00
scons@625d446ae8 Fixed border extension for the sunbeams node. 2014-09-23 11:42:11 +02:00
source OpenGL: remove unnecessarily paranoid bound texture preservation. 2015-11-28 15:35:34 +01:00
tests BLI_math: add mat3_polar_decompose, interp_m3_m3m3 and interp_m4_m4m4. 2015-10-09 21:26:33 +02:00
.arcconfig Use HTTPS protocol for arc 2013-12-24 22:57:27 +06:00
.gitignore Git ignore BUILD_NOTES.txt from install_deps.sh. 2015-11-23 20:17:02 +01:00
.gitmodules Initialize git submodules for addons, locales and scons 2013-11-15 12:19:08 +06:00
CMakeLists.txt missed last commit 2015-11-27 18:00:02 +11:00
COPYING == docs == 2010-10-13 14:44:22 +00:00
GNUmakefile Makefile: show build dir when configuring 2015-09-22 00:16:53 +10:00
SConstruct C99 is now the C standard for all our C code. 2015-11-22 22:31:22 +01:00