diff --git a/src/DemoApp/main.cpp b/src/DemoApp/main.cpp
index a2b6dd5efcdde2d5ec45b8089053bf6642604936..5f8827ccc549ff20a48577479dcd93ccb229b10c 100644
--- a/src/DemoApp/main.cpp
+++ b/src/DemoApp/main.cpp
@@ -174,7 +174,8 @@ const std::string customFragmentColor{
     "vec3(0, 0, 1), diffColor, specColor );\n"
     "vec3 envd;\n"
     "vec3 envs;\n"
-    "int e = getEnvMapColors(mat, normal_world, envd, envs);"
+    "float r = getGGXRoughness(mat, getPerVertexTexCoord());\n"
+    "int e = getEnvMapColors(r, normal_world, envd, envs);"
     "vec3 finalColor = normal_world*0.5+0.5;\n"
     "finalColor *= fragCustomAttrib.rgb;\n"
     "if (e==1) { finalColor = finalColor*envd + specColor*envs; }\n"
diff --git a/src/libRender/RadiumNBR/Passes/CustomAttribToColorPass.cpp b/src/libRender/RadiumNBR/Passes/CustomAttribToColorPass.cpp
index c4d29a20274ef77967706af54efa419ed9b8d263..43f47119eed7c275e1f1bafdf10487940d8f8f24 100644
--- a/src/libRender/RadiumNBR/Passes/CustomAttribToColorPass.cpp
+++ b/src/libRender/RadiumNBR/Passes/CustomAttribToColorPass.cpp
@@ -21,7 +21,7 @@ using namespace gl;
 
 // Envmap shader source
 static const std::string noopEnvMapFunction{
-    "\nint getEnvMapColors(Material mat, vec3 normalWorld, out vec3 diffuse, out vec3 specular) {\n"
+    "\nint getEnvMapColors(float roughness, vec3 normalWorld, out vec3 diffuse, out vec3 specular) {\n"
     "   diffuse = vec3(1); specular = vec3(1); return 0;\n"
     "}\n\n"
 };
@@ -34,7 +34,7 @@ static const std::string envMapFunction{
     "uniform mat4 blueShCoeffs;\n"
     "uniform float envStrength;\n"
     "const float OneOverPi = 0.3183098862;\n"
-    "int getEnvMapColors(Material mat, vec3 normalWorld, out vec3 diffuse, out vec3 specular) {\n"
+    "int getEnvMapColors(float roughness, vec3 normalWorld, out vec3 diffuse, out vec3 specular) {\n"
     "   vec3 view = normalize(in_viewVector);\n"
     "   vec3 rfl = reflect(-view, normalWorld.xyz);\n"
     "   vec4 up = vec4(normalWorld, 1);\n"
@@ -43,7 +43,7 @@ static const std::string envMapFunction{
     "   diffuse.b = dot(up, blueShCoeffs * up);\n"
     "   diffuse *= envStrength/OneOverPi;\n"
     "   float cosTi = clamp(dot(rfl, normalWorld), 0.001, 1.);\n"
-    "   float r = getGGXRoughness(material, getPerVertexTexCoord()) * numLod;\n"
+    "   float r = roughness * numLod;\n"
     "   specular = textureLod(envTexture, rfl, r).rgb  * cosTi * envStrength;\n"
     "   return 1;\n"
     "}\n\n"};
diff --git a/src/libRender/RadiumNBR/Passes/CustomAttribToColorPass.hpp b/src/libRender/RadiumNBR/Passes/CustomAttribToColorPass.hpp
index 7e1309a21eda19116aedb41ad0f6268485fcd0b3..fa0745be6dad7e709485292ec8eb94c244043af1 100644
--- a/src/libRender/RadiumNBR/Passes/CustomAttribToColorPass.hpp
+++ b/src/libRender/RadiumNBR/Passes/CustomAttribToColorPass.hpp
@@ -99,7 +99,8 @@ class CustomAttribToColorPass : public RenderPass
         "vec3(0, 0, 1), diffColor, specColor );\n"
         "vec3 envd;\n"
         "vec3 envs;\n"
-        "int e = getEnvMapColors(mat, normal_world, envd, envs);"
+        "float r = getGGXRoughness(mat, getPerVertexTexCoord());\n"
+        "int e = getEnvMapColors(r, normal_world, envd, envs);"
         "vec3 finalColor;\n"
         "if (e==1) { finalColor = diffColor*envd + specColor*envs; }\n"
         "else { finalColor = (diffColor + specColor) * max(lightDir.z, 0) \n"
diff --git a/src/libRender/RadiumNBR/Renderer/Visualization.hpp b/src/libRender/RadiumNBR/Renderer/Visualization.hpp
index 5c482029de947f8e7bebf61a41f129b74ccf9b24..85813d32746a13a5fba3c783499d56da49d4e91e 100644
--- a/src/libRender/RadiumNBR/Renderer/Visualization.hpp
+++ b/src/libRender/RadiumNBR/Renderer/Visualization.hpp
@@ -59,7 +59,8 @@ class NodeBasedRenderer_LIBRARY_API VisualizationController
         "vec3(0, 0, 1), diffColor, specColor );\n"
         "vec3 envd;\n"
         "vec3 envs;\n"
-        "int e = getEnvMapColors(mat, normal_world, envd, envs);"
+        "float r = getGGXRoughness(mat, getPerVertexTexCoord());\n"
+        "int e = getEnvMapColors(r, normal_world, envd, envs);"
         "vec3 finalColor;\n"
         "if (e==1) { finalColor = diffColor*envd + specColor*envs; }\n"
         "else { finalColor = (diffColor + specColor) * max(lightDir.z, 0) \n"