Handle 'subsurface' plugins specified directly following the 'scene' tag

metadata
Wenzel Jakob 2012-10-06 13:10:52 -04:00
parent 0705019528
commit d15000d4db
2 changed files with 2 additions and 0 deletions

View File

@ -7,6 +7,7 @@
<xsd:element name="sensor" type="sensor"/> <xsd:element name="sensor" type="sensor"/>
<xsd:element name="texture" type="texture"/> <xsd:element name="texture" type="texture"/>
<xsd:element name="bsdf" type="bsdf"/> <xsd:element name="bsdf" type="bsdf"/>
<xsd:element name="subsurface" type="object"/>
<xsd:element name="integrator" type="integrator"/> <xsd:element name="integrator" type="integrator"/>
<xsd:element name="emitter" type="emitter"/> <xsd:element name="emitter" type="emitter"/>
<xsd:element name="shape" type="shape"/> <xsd:element name="shape" type="shape"/>

View File

@ -476,6 +476,7 @@ void Scene::addChild(const std::string &name, ConfigurableObject *child) {
m_integrator = static_cast<Integrator *>(child); m_integrator = static_cast<Integrator *>(child);
} else if (cClass->derivesFrom(MTS_CLASS(Texture)) } else if (cClass->derivesFrom(MTS_CLASS(Texture))
|| cClass->derivesFrom(MTS_CLASS(BSDF)) || cClass->derivesFrom(MTS_CLASS(BSDF))
|| cClass->derivesFrom(MTS_CLASS(Subsurface))
|| cClass->derivesFrom(MTS_CLASS(PhaseFunction))) { || cClass->derivesFrom(MTS_CLASS(PhaseFunction))) {
m_objects.push_back(static_cast<ConfigurableObject *>(child)); m_objects.push_back(static_cast<ConfigurableObject *>(child));
} else if (cClass->derivesFrom(MTS_CLASS(Medium))) { } else if (cClass->derivesFrom(MTS_CLASS(Medium))) {