raSystem  1.0 bata
raDirectX.h
Go to the documentation of this file.
1 #pragma once
2 
3 //class raBuffer;
4 
5  class RAPI raDirectX : public raGrafikDriver
6  {
7  public:
8  raDirectX(void) { m_rondomID = timeGetTime()*rand(); raDirectX(false); }
9  raDirectX(bool usedwarp);
10  virtual ~raDirectX(void);
11 
12  virtual bool Init(HWND wnd);
13  virtual void Exit(void);
14  virtual bool Resize(void);
15  virtual bool ChangeMode(void);
16 
17  virtual void Clear(raColor clearColor, UINT ClearFlag = D3D11_CLEAR_DEPTH, float Depth = 1.0f, UINT8 Stencil = 0 );
18  virtual void DrawIndexed(unsigned int numTriangles);
19  virtual void DrawAuto();
20  virtual void Present();
21  virtual void CreateScreenShot(const raString SaveFile);
22 
23  virtual long OnKeyUp(HWND wnd, WPARAM wParam, LPARAM lParam);
24  virtual long OnKeyDown(HWND wnd, WPARAM wParam, LPARAM lParam);
25  virtual long OnClose(HWND wnd, WPARAM wParam, LPARAM lParam);
26  virtual long OnSize(HWND wnd, WPARAM wParam, LPARAM lParam);
27  virtual long OnPaint(HWND wnd, WPARAM wParam, LPARAM lParam);
28 
29  ID3D11Device *GetDevice(void) { return m_pDevice; }
30  IDXGISwapChain *GetSwapChain(void) { return m_pSwapChain; }
31  ID3D11DeviceContext *GetImmediateContext(void) { return m_pImmediateContext; }
32  ID3D11RenderTargetView *GetRenderTargetView(void) { return m_pRenderTargetView; }
33  ID3D11DepthStencilView *GetDethStencilView(void) { return m_pDSV; }
34  DXGI_SWAP_CHAIN_DESC GetSwapChainDESC(void) { return m_swapChainDesc; }
35  D3D_DRIVER_TYPE GetDriverType(void) { return m_driverType; }
36  D3D11_TEXTURE2D_DESC GetDepthBufferDesc(void) { return m_depthBufferDesc; }
37  D3D11_DEPTH_STENCIL_VIEW_DESC GetDepthStencilViewDesc(void) { return m_descDSV; }
38  D3D11_VIEWPORT GetViewPort(void) { return m_vp; }
39 
40  IDXGIDevice *GetDXGIDevice(void) { return m_pDXGIDevice; }
41  IDXGIFactory *GetDXGIFactory(void) { return m_pIDXGIFactory; }
42  IDXGIAdapter *GetDXGIAdapter(void) { return m_pDXGIAdapter; }
43 
44  private:
45  ID3D11Device *m_pDevice;
46  IDXGISwapChain *m_pSwapChain;
47  ID3D11DeviceContext *m_pImmediateContext;
48  ID3D11RenderTargetView *m_pRenderTargetView;
49  ID3D11Texture2D *m_pDepthStencil;
50  D3D_FEATURE_LEVEL *m_featureLevel;
51  ID3D11DepthStencilView *m_pDSV;
52  ID3D11RasterizerState *m_pRS;
53  D3D_DRIVER_TYPE m_driverType;
54  DXGI_SWAP_CHAIN_DESC m_swapChainDesc;
55  D3D11_TEXTURE2D_DESC m_depthBufferDesc;
56  D3D11_DEPTH_STENCIL_VIEW_DESC m_descDSV;
57  D3D11_VIEWPORT m_vp;
58  D3D11_RASTERIZER_DESC m_RSDesc;
59 
60  bool m_withwarp;
61  UINT m_Synce;
62  private:
63  IDXGIFactory* m_pIDXGIFactory;
64  IDXGIAdapter* m_pDXGIAdapter;
65  IDXGIDevice* m_pDXGIDevice;
66  IDXGIOutput* m_pDXGIOutput;
67  };
ID3D11DepthStencilView * GetDethStencilView(void)
Definition: raDirectX.h:33
D3D11_TEXTURE2D_DESC GetDepthBufferDesc(void)
Definition: raDirectX.h:36
virtual void Exit(void)=0
virtual void Present()=0
IDXGIDevice * GetDXGIDevice(void)
Definition: raDirectX.h:40
IDXGIFactory * GetDXGIFactory(void)
Definition: raDirectX.h:41
#define RAPI
Definition: raMain.h:11
ID3D11DeviceContext * GetImmediateContext(void)
Definition: raDirectX.h:31
Definition: raColor.h:5
ID3D11Device * GetDevice(void)
Definition: raDirectX.h:29
virtual bool Resize(void)=0
virtual void CreateScreenShot(const raString SaveFile)=0
virtual void Clear(raColor clearColor, UINT ClearFlag, float Depth, UINT8 Stencil)=0
virtual bool Init(HWND wnd)=0
D3D_DRIVER_TYPE GetDriverType(void)
Definition: raDirectX.h:35
IDXGIAdapter * GetDXGIAdapter(void)
Definition: raDirectX.h:42
D3D11_DEPTH_STENCIL_VIEW_DESC GetDepthStencilViewDesc(void)
Definition: raDirectX.h:37
raDirectX(void)
Definition: raDirectX.h:8
std::string raString
Definition: raMain.h:107
unsigned char UINT8
Definition: d3dx11dbg.h:34
ID3D11RenderTargetView * GetRenderTargetView(void)
Definition: raDirectX.h:32
D3D11_VIEWPORT GetViewPort(void)
Definition: raDirectX.h:38
DXGI_SWAP_CHAIN_DESC GetSwapChainDESC(void)
Definition: raDirectX.h:34
IDXGISwapChain * GetSwapChain(void)
Definition: raDirectX.h:30