4 #include "GraphicApi.hpp"
7 struct ID3D11DeviceContext;
9 struct ID3D11RenderTargetView;
11 struct ID3D11DepthStencilView;
13 class DirectX11Texture_test;
53 using ComPtr_t = ::Microsoft::WRL::ComPtr<T>;
54 using Renders_t = ::std::vector<Render_t>;
59 String_t GetUsingApi(
void)
const override;
60 void PresentFrame(
void)
override;
61 void ResizeWindow(
const Rect &)
override;
65 Render_t CreateCamera(
const ComponentPtr_t &)
override;
67 Render_t CreateState(
const ComponentPtr_t &)
override;
68 Render_t CreateTexture(
const ComponentPtr_t &)
override;
69 Render_t CreateShader(
const ComponentPtr_t &)
override;
70 Render_t CreateBuffer(
const ComponentPtr_t &)
override;
71 Render_t CreateTransform(
const ComponentPtr_t &)
override;
72 Render_t CreatePresentBuffer(
const ComponentPtr_t &)
override;
75 void CreateDeviceAndSwapChain(
const Data_t &);
76 void SetRenderTargetSize(
const UINT,
const UINT);
77 void CreateRenderTargetView(
const UINT,
const UINT);
78 void CreateDepthStencilView(
const UINT,
const UINT);
81 Render_t CreateBlendState(
bool);
84 Render_t CreateDefaultTransformRender(
const ComponentPtr_t &);
86 Render_t CreateStaticTransformRender(
const ComponentPtr_t &);
87 template<
class,
class>
88 Render_t CreateBillboardTransformRender(
const ComponentPtr_t &);
91 ComPtr_t<ID3D11Device> m_pDevice;
92 ComPtr_t<ID3D11DeviceContext> m_pImmediateContext;
93 ComPtr_t<IDXGISwapChain> m_pSwapChain;
94 ComPtr_t<ID3D11RenderTargetView> m_pScreenRenderTargetView;
95 ComPtr_t<ID3D11DepthStencilView> m_pScreenDepthStencilView;
96 ::std::vector<ID3D11RenderTargetView *> m_CurrentRenderTargets;
97 ComPtr_t<ID3D11DepthStencilView> m_pCurrentDepthStencilView;
105 class ConstantBuffer;
116 friend DirectX11_test;
117 friend DirectX11Texture_test;