From 3971d922337a72a1afccc436fcfc2c4b4c68b2d2 Mon Sep 17 00:00:00 2001 From: Matt Pharr Date: Sat, 24 Apr 2021 11:20:40 -0700 Subject: [PATCH] Fix bug in isInterface() lambda in de901103e26efe1fb5e9fcaf9d1f9dc3261e04ec --- src/pbrt/gpu/pathintegrator.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/pbrt/gpu/pathintegrator.cpp b/src/pbrt/gpu/pathintegrator.cpp index fe62823..b797403 100644 --- a/src/pbrt/gpu/pathintegrator.cpp +++ b/src/pbrt/gpu/pathintegrator.cpp @@ -122,19 +122,18 @@ GPUPathIntegrator::GPUPathIntegrator(Allocator alloc, const ParsedScene &scene) continue; auto isInterface = [&]() { - const SceneEntity *mtl = nullptr; + std::string materialName; if (shape.materialIndex != -1) - mtl = &scene.materials[shape.materialIndex]; + materialName = scene.materials[shape.materialIndex].name; else { for (auto iter = scene.namedMaterials.begin(); iter != scene.namedMaterials.end(); ++iter) if (iter->first == shape.materialName) { - mtl = &iter->second; + materialName = iter->second.parameters.GetOneString("type", ""); break; } - CHECK(mtl != nullptr); } - return (mtl->name == "interface" || mtl->name == "none" || mtl->name.empty()); + return (materialName == "interface" || materialName == "none" || materialName.empty()); }; if (isInterface()) continue; -- GitLab