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.
This commit is contained in:
@@ -445,6 +445,18 @@ public:
|
||||
SHADER_NODE_CLASS(SetNormalNode)
|
||||
};
|
||||
|
||||
class OSLScriptNode : public ShaderNode {
|
||||
public:
|
||||
SHADER_NODE_CLASS(OSLScriptNode)
|
||||
string filepath;
|
||||
string bytecode_hash;
|
||||
|
||||
/* ShaderInput/ShaderOutput only stores a shallow string copy (const char *)!
|
||||
* The actual socket names have to be stored externally to avoid memory errors. */
|
||||
vector<ustring> input_names;
|
||||
vector<ustring> output_names;
|
||||
};
|
||||
|
||||
CCL_NAMESPACE_END
|
||||
|
||||
#endif /* __NODES_H__ */
|
||||
|
Reference in New Issue
Block a user