Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/intern
diff options
context:
space:
mode:
authorThomas Dinges <blender@dingto.org>2013-07-04 02:12:42 +0400
committerThomas Dinges <blender@dingto.org>2013-07-04 02:12:42 +0400
commite7fc69bdfd06f9fda7ddbcf53f26fee0b81abf8d (patch)
tree1b2c2ed06269d15be21188e828b7310ee7488730 /intern
parent3a6e382d4aef6ad4bcba8a482d6d5fb5f96a6618 (diff)
parent374383997cc2dc36819eb0ec125d6a2d06809f71 (diff)
Merged revision(s) 57908-57978 from trunk/blender into soc-2013-dingto.
Diffstat (limited to 'intern')
-rw-r--r--intern/audaspace/jack/AUD_JackLibrary.cpp2
-rw-r--r--intern/audaspace/jack/AUD_JackLibrary.h2
-rw-r--r--intern/cycles/render/light.cpp16
3 files changed, 18 insertions, 2 deletions
diff --git a/intern/audaspace/jack/AUD_JackLibrary.cpp b/intern/audaspace/jack/AUD_JackLibrary.cpp
index 59c10397c48..63306ee0b15 100644
--- a/intern/audaspace/jack/AUD_JackLibrary.cpp
+++ b/intern/audaspace/jack/AUD_JackLibrary.cpp
@@ -22,7 +22,7 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file audaspace/jack/AUD_JacLibrary.cpp
+/** \file audaspace/jack/AUD_JackLibrary.cpp
* \ingroup audjack
*/
diff --git a/intern/audaspace/jack/AUD_JackLibrary.h b/intern/audaspace/jack/AUD_JackLibrary.h
index c4f50796381..2a737a1a4e2 100644
--- a/intern/audaspace/jack/AUD_JackLibrary.h
+++ b/intern/audaspace/jack/AUD_JackLibrary.h
@@ -22,7 +22,7 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file audaspace/jack/AUD_JacLibrary.cpp
+/** \file audaspace/jack/AUD_JackLibrary.cpp
* \ingroup audjack
*/
diff --git a/intern/cycles/render/light.cpp b/intern/cycles/render/light.cpp
index 5ac21ed5996..276647e6b2f 100644
--- a/intern/cycles/render/light.cpp
+++ b/intern/cycles/render/light.cpp
@@ -16,6 +16,7 @@
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
+#include "background.h"
#include "device.h"
#include "integrator.h"
#include "film.h"
@@ -568,9 +569,24 @@ void LightManager::device_update_points(Device *device, DeviceScene *dscene, Sce
light_data[i*LIGHT_SIZE + 3] = make_float4(samples, 0.0f, 0.0f, 0.0f);
}
else if(light->type == LIGHT_BACKGROUND) {
+ uint visibility = scene->background->visibility;
+
shader_id &= ~SHADER_AREA_LIGHT;
shader_id |= SHADER_USE_MIS;
+ if(!(visibility & PATH_RAY_DIFFUSE)) {
+ shader_id |= SHADER_EXCLUDE_DIFFUSE;
+ use_light_visibility = true;
+ }
+ if(!(visibility & PATH_RAY_GLOSSY)) {
+ shader_id |= SHADER_EXCLUDE_GLOSSY;
+ use_light_visibility = true;
+ }
+ if(!(visibility & PATH_RAY_TRANSMIT)) {
+ shader_id |= SHADER_EXCLUDE_TRANSMIT;
+ use_light_visibility = true;
+ }
+
light_data[i*LIGHT_SIZE + 0] = make_float4(__int_as_float(light->type), 0.0f, 0.0f, 0.0f);
light_data[i*LIGHT_SIZE + 1] = make_float4(__int_as_float(shader_id), 0.0f, 0.0f, 0.0f);
light_data[i*LIGHT_SIZE + 2] = make_float4(0.0f, 0.0f, 0.0f, 0.0f);