Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--intern/cycles/app/cycles_xml.cpp45
1 files changed, 44 insertions, 1 deletions
diff --git a/intern/cycles/app/cycles_xml.cpp b/intern/cycles/app/cycles_xml.cpp
index a483c766bed..a9412bcddfb 100644
--- a/intern/cycles/app/cycles_xml.cpp
+++ b/intern/cycles/app/cycles_xml.cpp
@@ -369,9 +369,11 @@ static void xml_read_shader_graph(const XMLReadState& state, Shader *shader, pug
}
else if(string_iequals(node.name(), "sky_texture")) {
SkyTextureNode *sky = new SkyTextureNode();
-
+
+ xml_read_enum(&sky->type, SkyTextureNode::type_enum, node, "type");
xml_read_float3(&sky->sun_direction, node, "sun_direction");
xml_read_float(&sky->turbidity, node, "turbidity");
+ xml_read_float(&sky->ground_albedo, node, "ground_albedo");
snode = sky;
}
@@ -434,6 +436,11 @@ static void xml_read_shader_graph(const XMLReadState& state, Shader *shader, pug
else if(string_iequals(node.name(), "velvet_bsdf")) {
snode = new VelvetBsdfNode();
}
+ else if(string_iequals(node.name(), "toon_bsdf")) {
+ ToonBsdfNode *toon = new ToonBsdfNode();
+ xml_read_enum(&toon->component, ToonBsdfNode::component_enum, node, "component");
+ snode = toon;
+ }
else if(string_iequals(node.name(), "glossy_bsdf")) {
GlossyBsdfNode *glossy = new GlossyBsdfNode();
xml_read_enum(&glossy->distribution, GlossyBsdfNode::distribution_enum, node, "distribution");
@@ -444,11 +451,19 @@ static void xml_read_shader_graph(const XMLReadState& state, Shader *shader, pug
xml_read_enum(&diel->distribution, GlassBsdfNode::distribution_enum, node, "distribution");
snode = diel;
}
+ else if(string_iequals(node.name(), "refraction_bsdf")) {
+ RefractionBsdfNode *diel = new RefractionBsdfNode();
+ xml_read_enum(&diel->distribution, RefractionBsdfNode::distribution_enum, node, "distribution");
+ snode = diel;
+ }
else if(string_iequals(node.name(), "emission")) {
EmissionNode *emission = new EmissionNode();
xml_read_bool(&emission->total_power, node, "total_power");
snode = emission;
}
+ else if(string_iequals(node.name(), "ambient_occlusion")) {
+ snode = new AmbientOcclusionNode();
+ }
else if(string_iequals(node.name(), "background")) {
snode = new BackgroundNode();
}
@@ -458,6 +473,11 @@ static void xml_read_shader_graph(const XMLReadState& state, Shader *shader, pug
else if(string_iequals(node.name(), "scatter_volume")) {
snode = new ScatterVolumeNode();
}
+ else if(string_iequals(node.name(), "subsurface_scattering")) {
+ SubsurfaceScatteringNode *sss = new SubsurfaceScatteringNode();
+ //xml_read_enum(&sss->falloff, SubsurfaceScatteringNode::falloff_enum, node, "falloff");
+ snode = sss;
+ }
else if(string_iequals(node.name(), "geometry")) {
snode = new GeometryNode();
}
@@ -467,6 +487,9 @@ static void xml_read_shader_graph(const XMLReadState& state, Shader *shader, pug
else if(string_iequals(node.name(), "lightPath")) {
snode = new LightPathNode();
}
+ else if(string_iequals(node.name(), "lightFalloff")) {
+ snode = new LightFalloffNode();
+ }
else if(string_iequals(node.name(), "value")) {
ValueNode *value = new ValueNode();
xml_read_float(&value->value, node, "value");
@@ -504,9 +527,21 @@ static void xml_read_shader_graph(const XMLReadState& state, Shader *shader, pug
else if(string_iequals(node.name(), "separate_rgb")) {
snode = new SeparateRGBNode();
}
+ else if(string_iequals(node.name(), "combine_hsv")) {
+ snode = new CombineHSVNode();
+ }
+ else if(string_iequals(node.name(), "separate_hsv")) {
+ snode = new SeparateHSVNode();
+ }
else if(string_iequals(node.name(), "hsv")) {
snode = new HSVNode();
}
+ else if(string_iequals(node.name(), "wavelength")) {
+ snode = new WavelengthNode();
+ }
+ else if(string_iequals(node.name(), "blackbody")) {
+ snode = new BlackbodyNode();
+ }
else if(string_iequals(node.name(), "attribute")) {
AttributeNode *attr = new AttributeNode();
xml_read_ustring(&attr->attribute, node, "attribute");
@@ -518,6 +553,14 @@ static void xml_read_shader_graph(const XMLReadState& state, Shader *shader, pug
else if(string_iequals(node.name(), "fresnel")) {
snode = new FresnelNode();
}
+ else if(string_iequals(node.name(), "layer_weight")) {
+ snode = new LayerWeightNode();
+ }
+ else if(string_iequals(node.name(), "wireframe")) {
+ WireframeNode *wire = new WireframeNode;
+ xml_read_bool(&wire->use_pixel_size, node, "use_pixel_size");
+ snode = wire;
+ }
else if(string_iequals(node.name(), "math")) {
MathNode *math = new MathNode();
xml_read_enum(&math->type, MathNode::type_enum, node, "type");