From eb87529e23cdc744ed52b00f3de25e208b29d7f1 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 3 Nov 2012 14:32:35 +0000 Subject: Cycles OSL: shader script node Documentation here: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/OSL http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.65/Cycles These changes require an OSL build from this repository: https://github.com/DingTo/OpenShadingLanguage The lib/ OSL has not been updated yet, so you might want to keep OSL disabled until that is done. Still todo: * Auto update for external .osl files not working currently, press update manually * Node could indicate better when a refresh is needed * Attributes like UV or generated coordinates may be missing when requested from an OSL shader, need a way to request them to be loaded by cycles * Expose string, enum and other non-socket parameters * Scons build support Thanks to Thomas, Lukas and Dalai for the implementation. --- intern/cycles/render/shader.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'intern/cycles/render/shader.h') diff --git a/intern/cycles/render/shader.h b/intern/cycles/render/shader.h index 90ae67eecff..373b3356f51 100644 --- a/intern/cycles/render/shader.h +++ b/intern/cycles/render/shader.h @@ -27,6 +27,10 @@ #include "util_string.h" #include "util_types.h" +#ifdef WITH_OSL +#include +#endif + CCL_NAMESPACE_BEGIN class Device; @@ -78,6 +82,14 @@ public: /* determined before compiling */ bool used; +#ifdef WITH_OSL + /* osl shading state references */ + OSL::ShadingAttribStateRef osl_surface_ref; + OSL::ShadingAttribStateRef osl_surface_bump_ref; + OSL::ShadingAttribStateRef osl_volume_ref; + OSL::ShadingAttribStateRef osl_displacement_ref; +#endif + Shader(); ~Shader(); -- cgit v1.2.3