You can do hardware accelerated stuff atop WinAPI; many, sadly, don't seem to know it. WinRT, is exactly for that; it's the distillation of UWP, which can be used in a simple Win32 app [1] e.g. The modern, hardware-accelerated API for compositing on Windows is Visual Layer (available under `ABI::Windows::UI::Composition`) [2]; it can be used from a Win32 app written in pure C++ [3] and the C++/CX language extension is unneeded.
[1]: https://en.wikipedia.org/wiki/C%2B%2B/WinRT
[2]: https://docs.microsoft.com/en-us/windows/apps/desktop/modern...
[3]: https://docs.microsoft.com/en-us/windows/apps/desktop/modern...