diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2f581a838c154e7cac9f6ced2e9c813faae51d2b..12c6a5a28055c0878ea411f861f39e497e429d64 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,7 @@ Note that since we don't clearly distinguish between a public and private interf
     - Move or fly around the scene using keys
     - Pointer lock to look around scene
     - Toggle spin/rock animation using keys
+- Apply bumpiness as lightness variation with `ignoreLight`
 
 ## [v3.32.0] - 2023-03-20
 
diff --git a/src/mol-gl/shader/chunks/apply-light-color.glsl.ts b/src/mol-gl/shader/chunks/apply-light-color.glsl.ts
index d4f2dc1f432299f85475af8cd791dd33336c161f..4f316d2b0a16edf18bd60093219345c8f2a588b0 100644
--- a/src/mol-gl/shader/chunks/apply-light-color.glsl.ts
+++ b/src/mol-gl/shader/chunks/apply-light-color.glsl.ts
@@ -9,6 +9,13 @@
 
 export const apply_light_color = `
 #ifdef dIgnoreLight
+    #ifdef bumpEnabled
+        if (uBumpFrequency > 0.0 && uBumpAmplitude > 0.0 && bumpiness > 0.0) {
+            material.rgb += fbm(vModelPosition * uBumpFrequency) * (uBumpAmplitude * bumpiness) / uBumpFrequency;
+            material.rgb -= bumpiness / (2.0 * uBumpFrequency);
+        }
+    #endif
+
     gl_FragColor = material;
 #else
     #ifdef bumpEnabled