diff options
author | Thomas Dinges <blender@dingto.org> | 2012-10-17 02:42:05 +0400 |
---|---|---|
committer | Thomas Dinges <blender@dingto.org> | 2012-10-17 02:42:05 +0400 |
commit | b4a83e1d0e524a165cef4d374b14ccebaf79b143 (patch) | |
tree | c5659a8f4b76298a3d7e8217728a3e4a1855413a /intern/cycles/kernel/osl/osl_services.cpp | |
parent | c9fdf6e4960a01c3b42527a43b8ed7d325e6b95a (diff) |
Cycles / OSL:
* Ray Length is now available in OSL (via get_attribute)
Diffstat (limited to 'intern/cycles/kernel/osl/osl_services.cpp')
-rw-r--r-- | intern/cycles/kernel/osl/osl_services.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/intern/cycles/kernel/osl/osl_services.cpp b/intern/cycles/kernel/osl/osl_services.cpp index 6393412855b..be5273b9ad3 100644 --- a/intern/cycles/kernel/osl/osl_services.cpp +++ b/intern/cycles/kernel/osl/osl_services.cpp @@ -459,6 +459,15 @@ static bool get_object_standard_attribute(KernelGlobals *kg, ShaderData *sd, ust 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; |