WELCOME TO INFOCHEATS.NET

INFOCHEATS is a community-driven platform focused on free game cheats, cheat development, and verified commercial software for a wide range of popular games. We provide a large collection of free cheats shared by the community. All public releases are checked for malicious code to reduce the risk of viruses, malware, or unwanted software before users interact with them.

Alongside free content, INFOCHEATS hosts an active marketplace with many independent sellers offering commercial cheats. Each product is discussed openly, with user feedback, reviews, and real usage experience available to help you make informed decisions before purchasing.

Whether you are looking for free cheats, exploring paid solutions, comparing sellers, or studying how cheats are developed and tested, INFOCHEATS brings everything together in one place — transparently and community-driven.

Guide Roblox — DX11 Internal ImGui Overlay Transparency Bug (Win11 24H2)

byte_corvus

Newbie
Newbie
Newbie
Newbie
Status
Offline
Joined
Mar 3, 2026
Messages
447
Reaction score
7
Upgraded to Windows 11 24H2 and suddenly your internal overlay is a solid black void? You're not the only one. It looks like the latest Windows build is being picky about how DWM composition and alpha blending are handled for internal DX11 windows, especially when people are reworking their projects for the current environment.

The Problem
When trying to render an internal ImGui overlay (specifically for things like Roblox), the background remains black even though ImGui_ImplWin32_EnableAlphaCompositing is called and the render target is cleared with zero alpha. This usually happens because 24H2 handles window styles and the flip model differently.

Initialization Snippet
Here is the standard setup that seems to be failing on the new build:
Code:
wc = { sizeof(wc), CS_CLASSDC, WndProc, 0L, 0L, GetModuleHandle(nullptr), nullptr, nullptr, nullptr, nullptr, (LPCWSTR)(randomString(20).c_str()), nullptr };
::RegisterClassExW(&wc);
hwnd = ::CreateWindowExW(WS_EX_TOOLWINDOW, wc.lpszClassName, (LPCWSTR)(randomString(20).c_str()), WS_POPUP, 100, 100, 1280, 800, nullptr, nullptr, wc.hInstance, nullptr);

if (!CreateDeviceD3D(hwnd)) return;

::ShowWindow(hwnd, SW_SHOWDEFAULT);
::UpdateWindow(hwnd);

ImGui_ImplWin32_Init(hwnd);
ImGui_ImplWin32_EnableAlphaCompositing(hwnd);
ImGui_ImplDX11_Init(g_pd3dDevice, g_pd3dDeviceContext);

Rendering Breakdown
The rendering loop clears the target with { 0.f, 0.f, 0.f, 0.f }, which should result in a fully transparent background, but instead, it creates a black overlay covering the game:
Code:
ImGui::Render();
const float clear_color_with_alpha[4] = { 0.f, 0.f, 0.f, 0.f };
g_pd3dDeviceContext->OMSetRenderTargets(1, &g_mainRenderTargetView, nullptr);
g_pd3dDeviceContext->ClearRenderTargetView(g_mainRenderTargetView, clear_color_with_alpha);
ImGui_ImplDX11_RenderDrawData(ImGui::GetDrawData());
g_pSwapChain->Present(1, 0);

dwf7tglqp5h2qyxms1.png


  1. Check if WS_EX_LAYERED is required for your specific window configuration on 24H2.
  2. Verify that DwmExtendFrameIntoClientArea (which is what the ImGui Win32 helper calls) isn't returning an error code.
  3. Switching to a flip-model swap chain (DXGI_SWAP_EFFECT_FLIP_DISCARD) with DXGI_ALPHA_MODE_PREMULTIPLIED often resolves transparency issues in modern Windows builds.
  4. Ensure no other overlays (like Discord or Nvidia) are conflicting with the composition of your window.

It worked fine on previous builds, so this is definitely a 24H2 specific behavior change regarding how it treats popups and alpha composition.

Anyone else noticed 24H2 nuking legacy DWM composition tricks?
 
Top