diff --git a/src/bsdfs/coating.cpp b/src/bsdfs/coating.cpp index c46e3386..e0d3fc08 100644 --- a/src/bsdfs/coating.cpp +++ b/src/bsdfs/coating.cpp @@ -380,7 +380,7 @@ public: } Float getRoughness(const Intersection &its, int component) const { - return component < (int) m_components.size() + return component < (int) m_components.size()-1 ? m_nested->getRoughness(its, component) : (Float) 0; } diff --git a/src/bsdfs/roughcoating.cpp b/src/bsdfs/roughcoating.cpp index d21c8536..5f30e7bb 100644 --- a/src/bsdfs/roughcoating.cpp +++ b/src/bsdfs/roughcoating.cpp @@ -438,7 +438,7 @@ public: } Float getRoughness(const Intersection &its, int component) const { - return component < (int) m_components.size() + return component < (int) m_components.size() - 1 ? m_nested->getRoughness(its, component) : m_alpha->eval(its).average(); }