#pragma once #include #include namespace wrl = Microsoft::WRL; class MyGraphics { friend class Bindable; public: // 构造函数 MyGraphics(HWND hWnd); // 单例设计模式,禁止复制 MyGraphics(const MyGraphics&) = delete; MyGraphics& operator=(const MyGraphics&) = delete; ~MyGraphics() = default; // 初始化3大件,Device/SwapChain/deviceContext void InitD3D(HWND hWnd); void RendorFrame(void); //void drawObjects(); private: // 指向Device的指针 wrl::ComPtr pDevice; // 指向交换链的指针 wrl::ComPtr pSwapChain; // 指向Context的指针 wrl::ComPtr pContext; // 指向View的指针 wrl::ComPtr pTarget; // 指向Depth Buffer View的指针 wrl::ComPtr pDSView; };