提交 3971d922 编写于 作者: M Matt Pharr

Fix bug in isInterface() lambda in de901103

上级 de901103
...@@ -122,19 +122,18 @@ GPUPathIntegrator::GPUPathIntegrator(Allocator alloc, const ParsedScene &scene) ...@@ -122,19 +122,18 @@ GPUPathIntegrator::GPUPathIntegrator(Allocator alloc, const ParsedScene &scene)
continue; continue;
auto isInterface = [&]() { auto isInterface = [&]() {
const SceneEntity *mtl = nullptr; std::string materialName;
if (shape.materialIndex != -1) if (shape.materialIndex != -1)
mtl = &scene.materials[shape.materialIndex]; materialName = scene.materials[shape.materialIndex].name;
else { else {
for (auto iter = scene.namedMaterials.begin(); for (auto iter = scene.namedMaterials.begin();
iter != scene.namedMaterials.end(); ++iter) iter != scene.namedMaterials.end(); ++iter)
if (iter->first == shape.materialName) { if (iter->first == shape.materialName) {
mtl = &iter->second; materialName = iter->second.parameters.GetOneString("type", "");
break; break;
} }
CHECK(mtl != nullptr);
} }
return (mtl->name == "interface" || mtl->name == "none" || mtl->name.empty()); return (materialName == "interface" || materialName == "none" || materialName.empty());
}; };
if (isInterface()) if (isInterface())
continue; continue;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册