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 */
|
/* Source */
|
||||||
xml_read_string(&osl->filepath, node, "src");
|
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
|
/* 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:
|
case SHADER_SOCKET_NORMAL:
|
||||||
xml_read_float3(&in->value, node, attr.name());
|
xml_read_float3(&in->value, node, attr.name());
|
||||||
break;
|
break;
|
||||||
|
case SHADER_SOCKET_STRING:
|
||||||
|
xml_read_ustring( &in->value_string, node, attr.name() );
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -111,6 +111,11 @@ string path_escape(const string& path)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool path_is_relative(const string& path)
|
||||||
|
{
|
||||||
|
return to_boost(path).is_relative();
|
||||||
|
}
|
||||||
|
|
||||||
bool path_exists(const string& path)
|
bool path_exists(const string& path)
|
||||||
{
|
{
|
||||||
return boost::filesystem::exists(to_boost(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_dirname(const string& path);
|
||||||
string path_join(const string& dir, const string& file);
|
string path_join(const string& dir, const string& file);
|
||||||
string path_escape(const string& path);
|
string path_escape(const string& path);
|
||||||
|
bool path_is_relative(const string& path);
|
||||||
|
|
||||||
/* file info */
|
/* file info */
|
||||||
bool path_exists(const string& path);
|
bool path_exists(const string& path);
|
||||||
|
Loading…
Reference in New Issue
Block a user