The_Overlay_Initiative - Kissaki/mumble GitHub Wiki
This effort is supposed to bundle efforts to make the Mumble overlay work in D3D 11 and to make the code structure more clear, refactor it and document it - on how the overlay injection works for the different rendering APIs (OpenGL, D3D9, D3D10/DXGI, D3D11/DXGI).
There has been effort in the past, specifically by https://github.com/nyetwurk and https://github.com/Kissaki in 2011. This is meant to be another take on support for dx11, documenting what is found, providing a stable and robust implementation and then merging into the main repo.
Overview of DirectX versions
Direct3D is the 3D rendering component of DirectX. DirectX also includes an audio API.
Version 9 received an extension on windows Vista (and followups), then called Direct3D 9EX.
From Vista on DXGI was introduced. A user-mode abstraction of the basic API. Direct3D is based on top of DXGI. Direct3D 10 and 11 have been released since.
Direct3D 11 introduced feature levels, so when using the Direct3D 11 API you can choose the feature level (Direct3D Version) to use.
Fixed issues
The current official version of Mumble will log the following messages to the debug log, when running:
[6220] M:HardHook: Asked to replace 75A54BC6 with 6DDDE0F0
[6220] M:HardHook: Asked to replace 75A51E12 with 6DDDDF90
[6220] M:HardHook: Unknown opcode at 5: 8b ff 55 8b ec 6a 0 6a 0 ff 75 8
This (and similiar) has been fixed in the dx11 branch here with 00d6d7c6c9508998245a443e9c759f5c3cf8582c. See https://github.com/Kissaki/mumble/commit/00d6d7c6c9508998245a443e9c759f5c3cf8582c#L0R159.
See pages
- [Overlay_DX9](Overlay_DX9 - Direct3D 9 and 9EX)
- Overlay_DXGI
- Overlay_DX10
- Overlay_DX11
General: Overlay_D3D