From f08729a402193dec5ebf49a6dee16af26ab48b45 Mon Sep 17 00:00:00 2001 From: Alexander Rose <alexander.rose@weirdbyte.de> Date: Sat, 25 Mar 2023 23:57:18 -0700 Subject: [PATCH] apply bumpiness as lightness with ignoreLight --- CHANGELOG.md | 1 + src/mol-gl/shader/chunks/apply-light-color.glsl.ts | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f581a838..12c6a5a28 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 d4f2dc1f4..4f316d2b0 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 -- GitLab