diff --git a/src/ui/material/draw_helpers.h b/src/ui/material/draw_helpers.h index c514ad3..ca4bfb2 100644 --- a/src/ui/material/draw_helpers.h +++ b/src/ui/material/draw_helpers.h @@ -741,9 +741,11 @@ inline void DrawGlassPanel(ImDrawList* dl, const ImVec2& pMin, // (skip the blur pass at 100% for performance) if (uiOp < 0.99f) { if (useAcrylic) { - const auto& acrylicTheme = GetCurrentAcrylicTheme(); - effects::ImGuiAcrylic::DrawAcrylicRect(dl, pMin, pMax, - acrylicTheme.card, spec.rounding); + // The card draws its own grain layer below (noise B, over the surface overlay), so skip + // the acrylic primitive's grain here: it sits under the overlay at < 1 grey level. + effects::AcrylicParams cardParams = GetCurrentAcrylicTheme().card; + cardParams.noiseOpacity = 0.0f; + effects::ImGuiAcrylic::DrawAcrylicRect(dl, pMin, pMax, cardParams, spec.rounding); } else { // Lightweight fake-glass: translucent fill ImU32 fill = (spec.fillAlpha == 18) ? s_glassFill : ScaleAlpha(s_glassFill, spec.fillAlpha / 18.0f);