Ivan Belyavtsev
18.02.2022
This part of course is going to be boring. There is plenty of preliminary work. We’ll get a somehow working application tomorrow only.
WNDCLASS or WNDCLASSEX instanceRegisterClass or RegisterClassEx callCreateWindow or CreateWindowEx and keep HWND resultsShowWindows to present [1]GetMessage or PeekMessageTranslateMessage to make the message readableDispatchMessage to handling (DispatchMessage calls the windows procedure from WNDCLASS) [1]WinMain procedure and cg::utils::window classmodel and camera creation code into init method of dx12_renderer classThe Microsoft Component Object Model (COM) is a platform-independent, distributed, object-oriented system for creating binary software components that can interact[2].
All COM interfaces inherit from the IUnknown interface.
IUnknown interface has the next functions:
QueryInterface(REFIID riid, LPVOID *ppv)AddRef()Release() [2]Use the IID_PPV_ARGS macro to get both arguments
Microsoft::WRL::ComPtr is a C++ template smart-pointer for COM objects that is used extensively in Windows Runtime (WinRT) C++ programming.
wrl/client.hMicrosoft::WRL::ComPtr