diff options
author | Thomas Dinges <blender@dingto.org> | 2014-01-21 04:30:20 +0400 |
---|---|---|
committer | Thomas Dinges <blender@dingto.org> | 2014-01-21 04:30:20 +0400 |
commit | 5ece1594ca725b58960756cbe1ebd2b1123584b6 (patch) | |
tree | a1c26c584da53da6a38f7ee4f1ad5a15729fe152 /intern/cycles/app/cycles_xml.cpp | |
parent | 7c6f60572b24ef80abc6a64932791eba8d21ba2a (diff) |
Cycles Standalone: Updates for the XML API, added some missing nodes. Still not complete, but better.
Diffstat (limited to 'intern/cycles/app/cycles_xml.cpp')
-rw-r--r-- | intern/cycles/app/cycles_xml.cpp | 45 |
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"); |