Cycles Standalone: Support for relative paths and string OSL parameters.
Patch by John Haddon. Differential Revision: https://developer.blender.org/D418
This commit is contained in:
@@ -406,7 +406,9 @@ static void xml_read_shader_graph(const XMLReadState& state, Shader *shader, pug
|
||||
|
||||
/* Source */
|
||||
xml_read_string(&osl->filepath, node, "src");
|
||||
if(path_is_relative(osl->filepath)) {
|
||||
osl->filepath = path_join(state.base, osl->filepath);
|
||||
}
|
||||
|
||||
/* Generate inputs/outputs from node sockets
|
||||
*
|
||||
@@ -763,6 +765,9 @@ static void xml_read_shader_graph(const XMLReadState& state, Shader *shader, pug
|
||||
case SHADER_SOCKET_NORMAL:
|
||||
xml_read_float3(&in->value, node, attr.name());
|
||||
break;
|
||||
case SHADER_SOCKET_STRING:
|
||||
xml_read_ustring( &in->value_string, node, attr.name() );
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@@ -111,6 +111,11 @@ string path_escape(const string& path)
|
||||
return result;
|
||||
}
|
||||
|
||||
bool path_is_relative(const string& path)
|
||||
{
|
||||
return to_boost(path).is_relative();
|
||||
}
|
||||
|
||||
bool path_exists(const string& path)
|
||||
{
|
||||
return boost::filesystem::exists(to_boost(path));
|
||||
|
@@ -41,6 +41,7 @@ string path_filename(const string& path);
|
||||
string path_dirname(const string& path);
|
||||
string path_join(const string& dir, const string& file);
|
||||
string path_escape(const string& path);
|
||||
bool path_is_relative(const string& path);
|
||||
|
||||
/* file info */
|
||||
bool path_exists(const string& path);
|
||||
|
Reference in New Issue
Block a user