forked from bartvdbraak/blender
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:
parent
12ce5ae5be
commit
ce5395868f
@ -406,7 +406,9 @@ static void xml_read_shader_graph(const XMLReadState& state, Shader *shader, pug
|
||||
|
||||
/* Source */
|
||||
xml_read_string(&osl->filepath, node, "src");
|
||||
osl->filepath = path_join(state.base, osl->filepath);
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user