[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51374] trunk/blender/intern/cycles/kernel /osl: Cycles / OSL:
Thomas Dinges
blender at dingto.org
Wed Oct 17 00:42:06 CEST 2012
Revision: 51374
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51374
Author: dingto
Date: 2012-10-16 22:42:05 +0000 (Tue, 16 Oct 2012)
Log Message:
-----------
Cycles / OSL:
* Ray Length is now available in OSL (via get_attribute)
Modified Paths:
--------------
trunk/blender/intern/cycles/kernel/osl/nodes/node_light_path.osl
trunk/blender/intern/cycles/kernel/osl/osl_services.cpp
Modified: trunk/blender/intern/cycles/kernel/osl/nodes/node_light_path.osl
===================================================================
--- trunk/blender/intern/cycles/kernel/osl/nodes/node_light_path.osl 2012-10-16 17:01:22 UTC (rev 51373)
+++ trunk/blender/intern/cycles/kernel/osl/nodes/node_light_path.osl 2012-10-16 22:42:05 UTC (rev 51374)
@@ -25,7 +25,8 @@
output float IsGlossyRay = 0.0,
output float IsSingularRay = 0.0,
output float IsReflectionRay = 0.0,
- output float IsTransmissionRay = 0.0)
+ output float IsTransmissionRay = 0.0,
+ output float RayLength = 0.0)
{
IsCameraRay = raytype("camera");
IsShadowRay = raytype("shadow");
@@ -34,5 +35,7 @@
IsSingularRay = raytype("singular");
IsReflectionRay = raytype("reflection");
IsTransmissionRay = raytype("refraction");
+
+ getattribute("std::ray_length", RayLength);
}
Modified: trunk/blender/intern/cycles/kernel/osl/osl_services.cpp
===================================================================
--- trunk/blender/intern/cycles/kernel/osl/osl_services.cpp 2012-10-16 17:01:22 UTC (rev 51373)
+++ trunk/blender/intern/cycles/kernel/osl/osl_services.cpp 2012-10-16 22:42:05 UTC (rev 51374)
@@ -459,6 +459,15 @@
set_attribute_float3(fval, type, derivatives, val);
return true;
}
+
+ /* Ray Length */
+ else if (name == "std::ray_length") {
+ float fval[3];
+ fval[0] = sd->ray_length;
+ fval[1] = fval[2] = 0.0; /* derivates set to 0 */
+ set_attribute_float(fval, type, derivatives, val);
+ return true;
+ }
else
return false;
More information about the Bf-blender-cvs
mailing list