Covellite++
Version: 2.3.2 Revision: 2584 Platform: x64 Build: 19:03 05.09.2026
Кроссплатформенный фреймворк для разработки приложений на С++
Toggle main menu visibility
Загрузка...
Поиск...
Не найдено
DirectX11.hpp
1
2
#pragma once
3
#include <wrl.h>
4
#include "GraphicApi.hpp"
5
6
struct
ID3D11Device;
7
struct
ID3D11DeviceContext;
8
struct
IDXGISwapChain;
9
struct
ID3D11RenderTargetView;
10
struct
ID3D11Buffer;
11
struct
ID3D11DepthStencilView;
12
class
DirectX11_test;
13
class
DirectX11Texture_test;
14
15
namespace
covellite
16
{
17
18
namespace
api
19
{
20
21
namespace
renderer
22
{
23
49
class
DirectX11 final :
50
public
GraphicApi
51
{
52
template
<
class
T>
53
using
ComPtr_t = ::Microsoft::WRL::ComPtr<T>;
54
using
Renders_t = ::std::vector<Render_t>;
55
using
Data_t =
::covellite::api::renderer::SettingsData
;
56
57
public
:
58
// Интерфейс IGraphicApi:
59
String_t GetUsingApi(
void
)
const override
;
60
void
PresentFrame(
void
)
override
;
61
void
ResizeWindow(
const
Rect &)
override
;
62
63
protected
:
64
// Интерфейс GraphicApi:
65
Render_t CreateCamera(
const
ComponentPtr_t &)
override
;
66
Render_t
CreateBkSurface
(
const
ComponentPtr_t &)
override
;
67
Render_t CreateState(
const
ComponentPtr_t &)
override
;
68
Render_t CreateTexture(
const
ComponentPtr_t &)
override
;
69
Render_t CreateTextureArray(
const
ComponentPtr_t &)
override
;
70
Render_t CreateShader(
const
ComponentPtr_t &)
override
;
71
Render_t CreateBuffer(
const
ComponentPtr_t &)
override
;
72
Render_t CreateTransform(
const
ComponentPtr_t &)
override
;
73
Render_t CreatePresentBuffer(
const
ComponentPtr_t &)
override
;
74
75
private
:
76
void
CreateDeviceAndSwapChain(
const
Data_t &);
77
void
SetRenderTargetSize(
const
UINT,
const
UINT);
78
void
CreateRenderTargetView(
const
UINT,
const
UINT);
79
void
CreateDepthStencilView(
const
UINT,
const
UINT);
80
81
private
:
82
Render_t CreateBlendState(
bool
);
83
Render_t
GetDepthState
(
const
bool
,
const
bool
,
const
bool
);
84
template
<
class
>
85
Render_t CreateDefaultTransformRender(
const
ComponentPtr_t &);
86
template
<
class
>
87
Render_t CreateStaticTransformRender(
const
ComponentPtr_t &);
88
template
<
class
,
class
>
89
Render_t CreateBillboardTransformRender(
const
ComponentPtr_t &);
90
91
private
:
92
ComPtr_t<ID3D11Device> m_pDevice;
93
ComPtr_t<ID3D11DeviceContext> m_pImmediateContext;
94
ComPtr_t<IDXGISwapChain> m_pSwapChain;
95
ComPtr_t<ID3D11RenderTargetView> m_pScreenRenderTargetView;
96
ComPtr_t<ID3D11DepthStencilView> m_pScreenDepthStencilView;
97
::std::vector<ID3D11RenderTargetView *> m_CurrentRenderTargets;
98
ComPtr_t<ID3D11DepthStencilView> m_pCurrentDepthStencilView;
99
100
public
:
101
class
Texture;
102
103
private
:
104
class
Buffer;
105
template
<
class
>
106
class
ConstantBuffer;
107
108
public
:
109
explicit
DirectX11(
const
Data_t &);
110
DirectX11(
const
DirectX11 &) =
delete
;
111
DirectX11(DirectX11 &&) =
delete
;
112
DirectX11 & operator= (
const
DirectX11 &) =
delete
;
113
DirectX11 & operator= (DirectX11 &&) =
delete
;
114
~DirectX11(
void
);
115
116
private
:
117
friend
DirectX11_test;
118
friend
DirectX11Texture_test;
119
};
120
121
FACTORY_REGISTER_STRING_NAME(
DirectX11
);
122
123
}
// namespace renderer
124
125
}
// namespace api
126
127
}
// namespace covellite
covellite::api::renderer::DirectX11
Класс входит в проект Covellite.Api Реализация рендера графического API для Windows/DirectX11.
Определения
DirectX11.hpp:51
covellite::api::renderer::DirectX11::GetDepthState
Render_t GetDepthState(const bool, const bool, const bool)
Определения
DirectX11.cpp:1395
covellite::api::renderer::DirectX11::CreateBkSurface
Render_t CreateBkSurface(const ComponentPtr_t &) override
Определения
DirectX11.cpp:706
covellite::api::renderer::SettingsData
Класс для передачи значений настроек программы реализации рендера.
Определения
IGraphicApi.hpp:62
Solution
Solution
Covellite.Api
Covellite.Api
Renderer
DirectX11.hpp
Документация по Covellite++. Последние изменения:
. Создано системой
1.18.0