blender/intern/cycles/render
Brecht Van Lommel e369a5c485 Cycles Volume Render: support for rendering of homogeneous volume with absorption.
This is the simplest possible volume rendering case, constant density inside
the volume and no scattering or emission. My plan is to tweak, verify and commit
more volume rendering effects one by one, doing it all at once makes it
difficult to verify correctness and track down bugs.

Documentation is here:
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Materials/Volume

Currently this hooks into path tracing in 3 ways, which should get us pretty
far until we add more advanced light sampling. These 3 hooks are repeated in
the path tracing, branched path tracing and transparent shadow code:

* Determine active volume shader at start of the path
* Change active volume shader on transmission through a surface
* Light attenuation over line segments between camera, surfaces and background

This is work by "storm", Stuart Broadfoot, Thomas Dinges and myself.
2013-12-28 16:57:10 +01:00
..
attribute.cpp Cycles: add ptex face ID and UV attributes. 2013-11-28 02:11:42 +01:00
attribute.h Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
background.cpp Cycles Volume Render: add flags to quickly detect when objects have a volume shader. 2013-12-28 16:57:10 +01:00
background.h Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
blackbody.cpp * Make MSVC happy. 2013-08-06 23:47:47 +00:00
blackbody.h Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
buffers.cpp Fix: ensure cycles mist pass stays in range 0..1, it could have values out of 2013-10-18 23:44:25 +00:00
buffers.h Cycles: viewport render now takes scene color management settings into account, 2013-08-30 23:49:38 +00:00
camera.cpp Fix a few issues reported by coverity scan. 2013-09-03 22:39:21 +00:00
camera.h Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
CMakeLists.txt Code cleanup: remove some unused cycles SSS code. 2013-10-12 00:08:31 +00:00
curves.cpp Cycles / Hair: Further cleanup of UI and internals. 2013-12-26 03:25:30 +01:00
curves.h Cycles / Hair: Further cleanup of UI and internals. 2013-12-26 03:25:30 +01:00
film.cpp Fix #36719: UV pass not rendering in second render layer if first render layer 2013-09-13 14:31:28 +00:00
film.h Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
graph.cpp Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
graph.h Fix #37194, OSL script crashes blender. The lookup functions for finding Cycles shader inputs/outputs based on socket names are using a few modifications on the Blender socket names. But these only apply 2013-10-30 11:21:31 +00:00
image.cpp Fix T37264: cycles CPU render had limited number of float images, bumped to 1024. 2013-12-14 15:07:46 +01:00
image.h Fix T37264: cycles CPU render had limited number of float images, bumped to 1024. 2013-12-14 15:07:46 +01:00
integrator.cpp Fix #36620: sss + indirect light rendering artifacts, due to wrong correlation in 2013-09-01 14:10:40 +00:00
integrator.h Cycles: more code refactoring to rename things internally as well. Also change 2013-08-23 14:34:34 +00:00
light.cpp Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
light.h Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
mesh_displace.cpp Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
mesh.cpp Fix a few issues reported by coverity scan. 2013-09-03 22:39:21 +00:00
mesh.h Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
nodes.cpp Cycles Volume Render: work on nodes and closures. 2013-12-28 16:57:02 +01:00
nodes.h Cycles Volume Render: work on nodes and closures. 2013-12-28 16:57:02 +01:00
object.cpp Fix cycles hair segments not giving correct vector speed pass, the motion vector 2013-10-18 15:03:18 +00:00
object.h Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
osl.cpp Cycles Volume Render: work on nodes and closures. 2013-12-28 16:57:02 +01:00
osl.h Fix build error when building without OSL support. 2013-12-09 05:28:19 +01:00
particles.cpp Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
particles.h Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
scene.cpp Cycles Volume Render: support for rendering of homogeneous volume with absorption. 2013-12-28 16:57:10 +01:00
scene.h Fix a few issues reported by coverity scan. 2013-09-03 22:39:21 +00:00
session.cpp Cycles: network render code updated for latest changes and improved 2013-12-07 12:26:58 +01:00
session.h Fix a few issues reported by coverity scan. 2013-09-03 22:39:21 +00:00
shader.cpp Cycles Volume Render: add flags to quickly detect when objects have a volume shader. 2013-12-28 16:57:10 +01:00
shader.h Code cleanup: remove some unused cycles SSS code. 2013-10-12 00:08:31 +00:00
sky_model_data.h Code Cleanup: use static for sky_model_data.h 2013-12-13 04:40:30 +11:00
sky_model.cpp Code Cleanup: use static for sky_model_data.h 2013-12-13 04:40:30 +11:00
sky_model.h code cleanup: spelling 2013-10-31 23:52:44 +00:00
sobol.cpp Fix #29528: crash adding subsurf modifier in a particular scene with viewport render. 2011-12-08 21:55:35 +00:00
sobol.h Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
svm.cpp Fix a few issues reported by coverity scan. 2013-09-03 22:39:21 +00:00
svm.h Cycles / Sky Texture: 2013-08-28 14:11:28 +00:00
tables.cpp Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
tables.h Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
tile.cpp Fix a few issues reported by coverity scan. 2013-09-03 22:39:21 +00:00
tile.h Fix a few issues reported by coverity scan. 2013-09-03 22:39:21 +00:00