//////////////////////////////////////////////////////////////////////////////// // Filename: d3dclass.h //////////////////////////////////////////////////////////////////////////////// #ifndef _D3DCLASS_H_ #define _D3DCLASS_H_ ///////////// // LINKING // ///////////// #pragma comment(lib, "d3d11.lib") #pragma comment(lib, "dxgi.lib") #pragma comment(lib, "d3dcompiler.lib") ////////////// // INCLUDES // ////////////// #include "imguiManager.h" #include "d3d11.h" #include "fontshaderclass.h" #include "fontclass.h" #include "textclass.h" using namespace DirectX; //////////////////////////////////////////////////////////////////////////////// // Class name: D3DClass //////////////////////////////////////////////////////////////////////////////// class D3DClass { public: D3DClass(); D3DClass(const D3DClass&); ~D3DClass(); bool Initialize(int, int, bool, HWND, bool, float, float); void Shutdown(); void BeginScene(float, float, float, float); void EndScene(); ID3D11Device* GetDevice(); ID3D11DeviceContext* GetDeviceContext(); XMMATRIX GetProjectionMatrix(XMMATRIX& projectionMatrix); IDXGISwapChain* m_swapChain; IDXGISwapChain* GetSwapChain(); void ResizeSwapChain(int, int); XMMATRIX GetProjectionMatrix(); void GetWorldMatrix(XMMATRIX&); void GetOrthoMatrix(XMMATRIX&); void GetVideoCardInfo(char*, int&); void SetBackBufferRenderTarget(); void ResetViewport(); void ReleaseResources(); void ResetResources(int newWidth, int newHeight); void TurnZBufferOn(); void TurnZBufferOff(); void EnableAlphaBlending(); void DisableAlphaBlending(); private: bool m_vsync_enabled; int m_videoCardMemory; char m_videoCardDescription[128]; ID3D11Device* m_device; ID3D11DeviceContext* m_deviceContext; ID3D11RenderTargetView* m_renderTargetView; ID3D11Texture2D* m_depthStencilBuffer; ID3D11DepthStencilState* m_depthStencilState; ID3D11DepthStencilView* m_depthStencilView; ID3D11RasterizerState* m_rasterState; XMMATRIX m_projectionMatrix; XMMATRIX m_worldMatrix; XMMATRIX m_orthoMatrix; D3D11_VIEWPORT m_viewport; ID3D11DepthStencilState* m_depthDisabledStencilState; ID3D11BlendState* m_alphaEnableBlendingState; ID3D11BlendState* m_alphaDisableBlendingState; }; #endif